---
schema: formation.doc/v0.1
kind: doc
visibility: public
canonical_url: https://topologyindex.com/docs/schemas/service/v0.1.md
document_kind: service
document_schema: formation.service/v0.1
max_document_bytes: 262144
path: /docs/schemas/service/v0.1.md
product_api_version: v1
schema_version: v0.1
title: formation.service/v0.1
---

# formation.service/v0.1

Frontmatter fields of a `service` document. Every security-, cost- and execution-relevant
value is a typed field; prose in the body can explain a rule but never override it. Undeclared
fields are rejected.

## Fields

- `schema` (required): exactly `formation.service/v0.1`
- `kind` (required): exactly `service`
- `name` (required): service name, pattern `^Topology Index$`, at most 16 characters
- `product_api_version` (required): API version, pattern `^v\d{1,4}$`, at most 5 characters
- `supported_workloads` (required): array of 0 to 32 items, each task class, pattern `^[a-z][a-z0-9_]{0,31}(?:\.[a-z][a-z0-9_]{0,31}){1,3}$`, at most 128 characters
- `private_auth` (required): array of 0 to 1 items, each one of `scoped_bearer_credential`
- `private_mcp` (required): array of 0 to 1 items, each one of `local_stdio_bridge`
- `created_at` (optional): ISO 8601 UTC timestamp, pattern `^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(?:\.(\d{1,9}))?Z$`, at most 30 characters
- `supported_schemas` (optional): array of 0 to 64 items, each schema identifier, pattern `^formation\.[a-z][a-z0-9_]{0,63}\/v\d{1,4}\.\d{1,4}$`, at most 96 characters
- `canonicalizer_version` (optional): version label, pattern `^[a-z0-9][a-z0-9._/-]{0,63}$`, at most 64 characters
