UCP platform identity

Download the complete public OpenAPI schema

UCP platform identity

Public, machine-readable identity and capability metadata used by Universal Commerce Protocol merchants to negotiate checkout support and verify OpenMerchant-signed requests.

GET /.well-known/ucp

Retrieve OpenMerchant’s UCP platform profile

Return OpenMerchant’s public UCP platform identity at the newest UCP release it speaks. Merchants use its capability declarations and ES256 public keys to negotiate catalog or checkout support and verify signed UCP requests. This endpoint is intentionally unauthenticated.

Parameters, request, responses, and security

{
  "tags": [
    "agent-identity"
  ],
  "summary": "Retrieve OpenMerchant’s UCP platform profile",
  "description": "Return OpenMerchant’s public UCP platform identity at the newest UCP release it speaks. Merchants use its capability declarations and ES256 public keys to negotiate catalog or checkout support and verify signed UCP requests. This endpoint is intentionally unauthenticated.",
  "operationId": "get_ucp_platform_profile",
  "responses": {
    "200": {
      "description": "Successful Response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/UcpPlatformProfileDocument"
          }
        }
      }
    }
  },
  "security": [],
  "x-api-audience": "public_unauthenticated",
  "x-api-authentication": "none",
  "x-operation-id": "get_ucp_platform_profile",
  "x-mcp-exposed": true,
  "x-public-path": "/.well-known/ucp",
  "x-docs-kind": "other",
  "x-docs-order": 100,
  "x-docs-depth": 2,
  "x-docs-action-order": 1000
}

GET /.well-known/ucp/{version}

Retrieve OpenMerchant’s UCP platform profile at one release

Return OpenMerchant’s public UCP platform identity at one older UCP release it still speaks. The buyer names this profile in UCP-Agent when a merchant supports only that release. This endpoint is intentionally unauthenticated.

Parameters, request, responses, and security

{
  "tags": [
    "agent-identity"
  ],
  "summary": "Retrieve OpenMerchant’s UCP platform profile at one release",
  "description": "Return OpenMerchant’s public UCP platform identity at one older UCP release it still speaks. The buyer names this profile in UCP-Agent when a merchant supports only that release. This endpoint is intentionally unauthenticated.",
  "operationId": "get_ucp_platform_release_profile",
  "parameters": [
    {
      "required": true,
      "schema": {
        "type": "string",
        "title": "Version"
      },
      "name": "version",
      "in": "path"
    }
  ],
  "responses": {
    "200": {
      "description": "Successful Response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/UcpPlatformProfileDocument"
          }
        }
      }
    },
    "422": {
      "description": "Validation Error",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/HTTPValidationError"
          }
        }
      }
    }
  },
  "security": [],
  "x-api-audience": "public_unauthenticated",
  "x-api-authentication": "none",
  "x-operation-id": "get_ucp_platform_release_profile",
  "x-mcp-exposed": true,
  "x-public-path": "/.well-known/ucp/{version}",
  "x-docs-kind": "other",
  "x-docs-order": 100,
  "x-docs-depth": 2,
  "x-docs-action-order": 1000
}

GET /ucp/payment_handlers/stripe_spt.schema.json

Retrieve OpenMerchant’s UCP Stripe SPT handler schema

Deprecated. Return the public JSON Schema for the proprietary com.procurapay.api.stripe_spt handler, which Stripe's com.stripe.payments handler replaces. Retained only while checkouts quoted the old namespace are still completable; it will be removed with that grace window. This endpoint is intentionally unauthenticated.

Parameters, request, responses, and security

{
  "tags": [
    "agent-identity"
  ],
  "summary": "Retrieve OpenMerchant’s UCP Stripe SPT handler schema",
  "description": "Deprecated. Return the public JSON Schema for the proprietary `com.procurapay.api.stripe_spt` handler, which Stripe's `com.stripe.payments` handler replaces. Retained only while checkouts quoted the old namespace are still completable; it will be removed with that grace window. This endpoint is intentionally unauthenticated.",
  "operationId": "get_ucp_stripe_spt_handler_schema",
  "responses": {
    "200": {
      "description": "Successful Response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/UcpStripeSptHandlerSchema"
          }
        }
      }
    }
  },
  "security": [],
  "x-api-audience": "public_unauthenticated",
  "x-api-authentication": "none",
  "x-operation-id": "get_ucp_stripe_spt_handler_schema",
  "x-mcp-exposed": true,
  "x-public-path": "/ucp/payment_handlers/stripe_spt.schema.json",
  "x-docs-kind": "other",
  "x-docs-order": 100,
  "x-docs-depth": 2,
  "x-docs-action-order": 1000
}