Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 3 additions & 4 deletions docs/documentation/schema-authoring.md
Original file line number Diff line number Diff line change
Expand Up @@ -101,10 +101,9 @@ Define transport bindings that appear in `ucp.services{}` registries. Each trans

- **Top-level fields**: `$schema`, `$id`, `title`, `description`, `name`, `version`
- **Variants**: `platform_schema`, `business_schema`
- **Transport requirements**:
- REST/MCP: `endpoint`, `schema` (OpenAPI/OpenRPC URL)
- A2A: `endpoint` (Agent Card URL)
- Embedded: `schema` (OpenRPC URL)
- **Transport requirements** (additional beyond the common base):
- Platform profile (`platform_schema`): REST/MCP/Embedded require `schema` (OpenAPI/OpenRPC URL). A2A has no additional requirements.
- Business profile (`business_schema`): REST/MCP/A2A require `endpoint` (Agent Card URL for A2A). Embedded has no additional requirements.

### Payment Handler Schemas

Expand Down
2 changes: 1 addition & 1 deletion source/discovery/profile_schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"title": "UCP Discovery Profile",
"description": "Schema for UCP discovery profiles. Business profiles are hosted at /.well-known/ucp; platform profiles are hosted at URIs advertised in request headers.",

"oneOf": [
"anyOf": [
{ "$ref": "#/$defs/platform_profile" },
{ "$ref": "#/$defs/business_profile" }
],
Expand Down
9 changes: 4 additions & 5 deletions source/schemas/service.json
Comment thread
igrigorik marked this conversation as resolved.
Original file line number Diff line number Diff line change
Expand Up @@ -29,23 +29,22 @@

"platform_schema": {
"title": "Service (Platform Schema)",
"description": "Full service declaration for platform-level discovery. All transports require `version`, `spec`, and `transport`. REST and MCP additionally require `schema` and `endpoint`; A2A requires `endpoint`; embedded requires `schema`.",
"description": "Full service declaration for platform-level discovery. All transports require `version`, `spec`, and `transport`. REST, MCP, and embedded additionally require `schema`.",
"allOf": [
{ "$ref": "#/$defs/base" },
{ "required": ["spec"] },
{
"anyOf": [
{
"properties": { "transport": { "const": "rest" } },
"required": ["schema", "endpoint"]
"required": ["schema"]
},
{
"properties": { "transport": { "const": "mcp" } },
"required": ["schema", "endpoint"]
"required": ["schema"]
},
{
"properties": { "transport": { "const": "a2a" } },
"required": ["endpoint"]
"properties": { "transport": { "const": "a2a" } }
},
{
"properties": { "transport": { "const": "embedded" } },
Expand Down
4 changes: 0 additions & 4 deletions source/services/shopping/mcp.openrpc.json
Original file line number Diff line number Diff line change
Expand Up @@ -65,10 +65,6 @@
"type": "string",
"format": "uuid",
"description": "Unique key for retry safety. Maps to HTTP Idempotency-Key header."
},
"signature": {
"type": "string",
"description": "Detached JWS signature (RFC 7515 Appendix F) in format `<base64url-header>..<base64url-signature>`. See Message Signatures specification."
}
}
}
Expand Down
Loading