JSON Schemas

Type definitions and validation schemas for all TrustUCP domain objects. Use these schemas for request/response validation and code generation.

Trust Objects

Core trust domain objects and verification payloads

badge-config v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/trust/badge-config/v1/schema.json",
  "title": "BadgeConfig",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "schema_version",
    "tenant_id"
  ],
  "properties": {
    "schema_version": {
      "type": "string",
      "const": "v1"
    },
    "tenant_id": {
      "type": "string",
      "minLength": 1
    },
    "variant": {
      "type": "string",
      "enum": [
        "compact",
        "full",
        "monochrome"
      ]
    },
    "theme": {
      "type": "string",
      "enum": [
        "light",
        "dark",
        "auto"
      ]
    },
    "accent_color": {
      "type": "string"
    },
    "text_override": {
      "type": "string"
    },
    "link_target": {
      "type": "string",
      "enum": [
        "_blank",
        "_self"
      ]
    }
  }
}
badge-config-response v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/trust/badge-config-response/v1/schema.json",
  "title": "BadgeConfigResponse",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "schema_version",
    "tenant_id",
    "config",
    "signed_at",
    "signature"
  ],
  "properties": {
    "schema_version": {
      "type": "string",
      "const": "v1"
    },
    "tenant_id": {
      "type": "string",
      "minLength": 1
    },
    "config": {
      "$ref": "../../badge-config/v1/schema.json"
    },
    "etag": {
      "type": "string"
    },
    "signed_at": {
      "type": "string",
      "format": "date-time"
    },
    "signature": {
      "type": "string",
      "description": "JWS detached signature over canonicalized response payload."
    }
  }
}
badge-event v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/trust/badge-event/v1/schema.json",
  "title": "BadgeEvent",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "schema_version",
    "event_type"
  ],
  "properties": {
    "schema_version": {
      "type": "string",
      "const": "v1"
    },
    "event_type": {
      "type": "string",
      "enum": [
        "view",
        "click",
        "hover"
      ]
    },
    "variant": {
      "type": "string"
    },
    "tenant_id": {
      "type": "string",
      "minLength": 1
    },
    "domain": {
      "type": "string",
      "minLength": 1
    },
    "platform": {
      "type": "string",
      "minLength": 1
    },
    "account_id": {
      "type": "string",
      "minLength": 1
    },
    "page_url": {
      "type": "string",
      "format": "uri"
    },
    "referrer": {
      "type": "string"
    },
    "user_agent": {
      "type": "string"
    },
    "occurred_at": {
      "type": "string",
      "format": "date-time"
    }
  }
}
badge-event-response v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/trust/badge-event-response/v1/schema.json",
  "title": "BadgeEventResponse",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "schema_version",
    "accepted"
  ],
  "properties": {
    "schema_version": {
      "type": "string",
      "const": "v1"
    },
    "accepted": {
      "type": "boolean"
    }
  }
}
business-verification v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/trust/business-verification/v1/schema.json",
  "title": "BusinessVerification",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "status",
    "trust_framework",
    "assurance_level",
    "assertions"
  ],
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "verified",
        "pending",
        "unverified",
        "revoked"
      ],
      "description": "Current business verification status."
    },
    "trust_framework": {
      "type": "string",
      "minLength": 3,
      "description": "The trust framework identifier (e.g., dev.ucp.kyb_v1)."
    },
    "assurance_level": {
      "type": "string",
      "enum": [
        "basic",
        "standard",
        "enhanced",
        "premium"
      ],
      "description": "Assurance level achieved within the trust framework."
    },
    "provider": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "did": {
          "type": "string",
          "pattern": "^did:"
        }
      }
    },
    "assertions": {
      "type": "array",
      "description": "Assertion-based trust signals (non-PII) supporting policy decisions.",
      "items": {
        "oneOf": [
          {
            "type": "string",
            "minLength": 1
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "id"
            ],
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1
              },
              "params": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        ]
      }
    },
    "verified_at": {
      "type": "string",
      "format": "date-time",
      "description": "Timestamp when verification was completed (RFC 3339)."
    },
    "expires_at": {
      "type": "string",
      "format": "date-time",
      "description": "Timestamp when verification expires (RFC 3339)."
    },
    "credential": {
      "type": "object",
      "additionalProperties": true,
      "description": "Optional verifiable credential payload (e.g., SD-JWT VC)."
    },
    "anchors": {
      "type": "array",
      "description": "Optional anchor references for tamper-evidence (e.g., Hedera HCS).",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "type",
          "reference"
        ],
        "properties": {
          "type": {
            "type": "string",
            "description": "Anchor type (hedera_hcs, ethereum, bitcoin_ots, signature_only, or custom)."
          },
          "reference": {
            "type": "string",
            "minLength": 1
          },
          "timestamp": {
            "type": "string",
            "format": "date-time"
          },
          "explorer_url": {
            "type": "string",
            "format": "uri"
          }
        }
      }
    },
    "proof_url": {
      "type": "string",
      "format": "uri",
      "description": "URL to retrieve a detailed proof bundle suitable for independent validation."
    }
  }
}
checkout-receipt v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/trust/checkout-receipt/v1/schema.json",
  "title": "CheckoutReceipt",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "schema_version",
    "id",
    "tenant_id",
    "checkout_id",
    "event_type",
    "issued_at",
    "snapshot",
    "payload_sha256",
    "signature",
    "kid"
  ],
  "properties": {
    "schema_version": {
      "type": "string",
      "const": "v1"
    },
    "id": {
      "type": "string",
      "minLength": 1
    },
    "tenant_id": {
      "type": "string",
      "minLength": 1
    },
    "checkout_id": {
      "type": "string",
      "minLength": 1
    },
    "event_type": {
      "type": "string",
      "enum": [
        "created",
        "updated",
        "completed",
        "canceled"
      ]
    },
    "issued_at": {
      "type": "string",
      "format": "date-time"
    },
    "snapshot": {
      "$ref": "https://trustucp.xyz/contracts/jsonschema/trust/checkout-snapshot/v1/schema.json"
    },
    "payload_sha256": {
      "type": "string",
      "pattern": "^sha256:[0-9a-f]{64}$"
    },
    "signature": {
      "type": "string",
      "minLength": 1
    },
    "kid": {
      "type": "string",
      "minLength": 1
    },
    "anchors": {
      "$ref": "https://trustucp.xyz/contracts/jsonschema/trust/business-verification/v1/schema.json#/properties/anchors"
    }
  }
}
checkout-receipt-verify-request v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/trust/checkout-receipt-verify-request/v1/schema.json",
  "title": "CheckoutReceiptVerifyRequest",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "schema_version",
    "receipt"
  ],
  "properties": {
    "schema_version": {
      "type": "string",
      "const": "v1"
    },
    "receipt": {
      "$ref": "https://trustucp.xyz/contracts/jsonschema/trust/checkout-receipt/v1/schema.json"
    }
  }
}
checkout-receipt-verify-response v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/trust/checkout-receipt-verify-response/v1/schema.json",
  "title": "CheckoutReceiptVerifyResponse",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "schema_version",
    "valid"
  ],
  "properties": {
    "schema_version": {
      "type": "string",
      "const": "v1"
    },
    "valid": {
      "type": "boolean"
    },
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "string",
            "minLength": 1
          },
          "message": {
            "type": "string",
            "minLength": 1
          },
          "details": {
            "type": "object",
            "additionalProperties": true
          }
        }
      }
    }
  }
}
checkout-snapshot v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/trust/checkout-snapshot/v1/schema.json",
  "title": "CheckoutSnapshot",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "schema_version",
    "tenant_id",
    "checkout_id",
    "event_type",
    "adapter_type",
    "captured_at",
    "checkout"
  ],
  "properties": {
    "schema_version": {
      "type": "string",
      "const": "v1"
    },
    "tenant_id": {
      "type": "string",
      "minLength": 1
    },
    "checkout_id": {
      "type": "string",
      "minLength": 1
    },
    "event_type": {
      "type": "string",
      "enum": [
        "created",
        "updated",
        "completed",
        "canceled"
      ]
    },
    "adapter_type": {
      "type": "string",
      "minLength": 1
    },
    "captured_at": {
      "type": "string",
      "format": "date-time"
    },
    "shipping_destination": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "country"
      ],
      "properties": {
        "country": {
          "type": "string",
          "pattern": "^[A-Z]{2}$"
        },
        "region": {
          "type": "string"
        }
      }
    },
    "checkout": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "ucp",
        "id",
        "status",
        "currency",
        "line_items",
        "totals"
      ],
      "properties": {
        "ucp": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "version",
            "capabilities"
          ],
          "properties": {
            "version": {
              "type": "string",
              "minLength": 1
            },
            "capabilities": {
              "type": "array",
              "items": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "name",
                  "version"
                ],
                "properties": {
                  "name": {
                    "type": "string",
                    "minLength": 1
                  },
                  "version": {
                    "type": "string",
                    "minLength": 1
                  }
                }
              }
            }
          }
        },
        "id": {
          "type": "string",
          "minLength": 1
        },
        "status": {
          "type": "string",
          "enum": [
            "incomplete",
            "ready_for_complete",
            "complete_in_progress",
            "completed",
            "canceled",
            "requires_escalation"
          ]
        },
        "currency": {
          "type": "string",
          "minLength": 1
        },
        "line_items": {
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "product_id",
              "quantity"
            ],
            "properties": {
              "product_id": {
                "type": "string",
                "minLength": 1
              },
              "quantity": {
                "type": "integer",
                "minimum": 1
              },
              "title": {
                "type": "string"
              },
              "price": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "currency",
                  "amount"
                ],
                "properties": {
                  "currency": {
                    "type": "string",
                    "minLength": 1
                  },
                  "amount": {
                    "type": "number"
                  }
                }
              }
            }
          }
        },
        "totals": {
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "type",
              "amount"
            ],
            "properties": {
              "type": {
                "type": "string",
                "minLength": 1
              },
              "amount": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "currency",
                  "amount"
                ],
                "properties": {
                  "currency": {
                    "type": "string",
                    "minLength": 1
                  },
                  "amount": {
                    "type": "number"
                  }
                }
              }
            }
          }
        },
        "fulfillment_options": {
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "id",
              "type",
              "title",
              "subtotal"
            ],
            "properties": {
              "id": {
                "type": "string"
              },
              "type": {
                "type": "string"
              },
              "title": {
                "type": "string"
              },
              "sub_title": {
                "type": "string"
              },
              "subtotal": {
                "type": "number"
              },
              "tax": {
                "type": "number"
              },
              "total": {
                "type": "number"
              }
            }
          }
        },
        "fulfillment_option_id": {
          "type": "string"
        },
        "messages": {
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "type",
              "code",
              "severity"
            ],
            "properties": {
              "type": {
                "type": "string"
              },
              "code": {
                "type": "string"
              },
              "severity": {
                "type": "string"
              }
            }
          }
        },
        "order_id": {
          "type": "string"
        },
        "business_verification": {
          "$ref": "https://trustucp.xyz/contracts/jsonschema/trust/business-verification/v1/schema.json"
        }
      }
    }
  }
}
evidence-pack v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/trust/evidence-pack/v1/schema.json",
  "title": "EvidencePack",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "schema_version",
    "id",
    "tenant_id",
    "checkout_id",
    "created_at",
    "artifacts"
  ],
  "properties": {
    "schema_version": {
      "type": "string",
      "const": "v1"
    },
    "id": {
      "type": "string",
      "minLength": 1
    },
    "tenant_id": {
      "type": "string",
      "minLength": 1
    },
    "checkout_id": {
      "type": "string",
      "minLength": 1
    },
    "created_at": {
      "type": "string",
      "format": "date-time"
    },
    "artifacts": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "checkout_snapshot",
        "receipts"
      ],
      "properties": {
        "checkout_snapshot": {
          "$ref": "https://trustucp.xyz/contracts/jsonschema/trust/checkout-snapshot/v1/schema.json"
        },
        "receipts": {
          "type": "array",
          "items": {
            "$ref": "https://trustucp.xyz/contracts/jsonschema/trust/checkout-receipt/v1/schema.json"
          }
        },
        "trust": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "business_verification": {
              "$ref": "https://trustucp.xyz/contracts/jsonschema/trust/business-verification/v1/schema.json"
            },
            "proof_bundle_url": {
              "type": "string",
              "format": "uri"
            },
            "proof_bundle": {
              "$ref": "https://trustucp.xyz/contracts/jsonschema/trust/trust-proof-bundle/v1/schema.json"
            }
          }
        },
        "policy_evaluations": {
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "stage",
              "decision",
              "decision_code",
              "created_at"
            ],
            "properties": {
              "stage": {
                "type": "string",
                "minLength": 1
              },
              "decision": {
                "type": "string",
                "enum": [
                  "allow",
                  "deny",
                  "requires_escalation"
                ]
              },
              "decision_code": {
                "type": "string",
                "minLength": 1
              },
              "reason": {
                "type": "string"
              },
              "inputs": {
                "type": "object",
                "additionalProperties": true
              },
              "created_at": {
                "type": "string",
                "format": "date-time"
              }
            }
          }
        },
        "stripe_readiness": {
          "$ref": "https://trustucp.xyz/contracts/jsonschema/trust/stripe-readiness-snapshot/v1/schema.json"
        },
        "stripe_risk": {
          "$ref": "https://trustucp.xyz/contracts/jsonschema/trust/stripe-risk-snapshot/v1/schema.json"
        }
      }
    }
  }
}
mcp-access-token v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/trust/mcp-access-token/v1/schema.json",
  "title": "McpAccessToken",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "schema_version",
    "token",
    "tenant_id",
    "scope",
    "issued_at",
    "expires_at"
  ],
  "properties": {
    "schema_version": {
      "type": "string",
      "const": "v1"
    },
    "token": {
      "type": "string",
      "minLength": 8
    },
    "tenant_id": {
      "type": "string",
      "minLength": 1
    },
    "scope": {
      "type": "string",
      "const": "mcp:all"
    },
    "issued_at": {
      "type": "string",
      "format": "date-time"
    },
    "expires_at": {
      "type": "string",
      "format": "date-time"
    }
  }
}
monitoring-alert v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/trust/monitoring-alert/v1/schema.json",
  "title": "MonitoringAlert",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "schema_version",
    "alert_type",
    "tenant_id",
    "occurred_at"
  ],
  "properties": {
    "schema_version": {
      "type": "string",
      "const": "v1"
    },
    "alert_type": {
      "type": "string",
      "enum": [
        "verification_expired",
        "verification_revoked",
        "verification_pending_review"
      ]
    },
    "tenant_id": {
      "type": "string",
      "minLength": 1
    },
    "verification_id": {
      "type": "string"
    },
    "occurred_at": {
      "type": "string",
      "format": "date-time"
    },
    "metadata": {
      "type": "object",
      "additionalProperties": true
    }
  }
}
policy-simulation-request v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/trust/policy-simulation-request/v1/schema.json",
  "title": "PolicySimulationRequest",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "schema_version",
    "stage"
  ],
  "properties": {
    "schema_version": {
      "type": "string",
      "const": "v1"
    },
    "stage": {
      "type": "string",
      "enum": [
        "checkout_create",
        "checkout_update",
        "checkout_complete"
      ]
    },
    "verification": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "status": {
          "type": "string"
        },
        "trust_framework": {
          "type": "string"
        },
        "assurance_level": {
          "type": "string"
        },
        "expires_at": {
          "type": "string",
          "format": "date-time"
        }
      }
    },
    "checkout": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "adapter_type": {
          "type": "string"
        },
        "total": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "currency",
            "amount"
          ],
          "properties": {
            "currency": {
              "type": "string",
              "minLength": 1
            },
            "amount": {
              "type": "number"
            }
          }
        },
        "shipping_country": {
          "type": "string"
        },
        "shipping_region": {
          "type": "string"
        }
      }
    },
    "stripe_readiness": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "status": {
          "type": "string"
        },
        "requirements_hash": {
          "type": "string"
        },
        "charges_enabled": {
          "type": "boolean"
        },
        "payouts_enabled": {
          "type": "boolean"
        },
        "updated_at": {
          "type": "string",
          "format": "date-time"
        }
      }
    },
    "stripe_risk": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "risk_score": {
          "type": "number"
        },
        "risk_level": {
          "type": "string"
        },
        "outcome": {
          "type": "string"
        }
      }
    },
    "policy": {
      "$ref": "../../trust-policy/v1/schema.json"
    }
  }
}
policy-simulation-response v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/trust/policy-simulation-response/v1/schema.json",
  "title": "PolicySimulationResponse",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "schema_version",
    "decision",
    "enforced",
    "evaluated_at"
  ],
  "properties": {
    "schema_version": {
      "type": "string",
      "const": "v1"
    },
    "decision": {
      "$ref": "../../trust-decision/v1/schema.json"
    },
    "enforced": {
      "type": "boolean"
    },
    "evaluated_at": {
      "type": "string",
      "format": "date-time"
    },
    "policy_version": {
      "type": "integer"
    },
    "matched_rule": {
      "type": "string"
    }
  }
}
policy-template v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/trust/policy-template/v1/schema.json",
  "title": "PolicyTemplate",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "schema_version",
    "template_id",
    "name",
    "policy"
  ],
  "properties": {
    "schema_version": {
      "type": "string",
      "const": "v1"
    },
    "template_id": {
      "type": "string",
      "minLength": 1
    },
    "name": {
      "type": "string",
      "minLength": 1
    },
    "description": {
      "type": "string"
    },
    "policy": {
      "$ref": "../../trust-policy/v1/schema.json"
    }
  }
}
proof-bundle-access-token v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/trust/proof-bundle-access-token/v1/schema.json",
  "title": "ProofBundleAccessToken",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "schema_version",
    "token",
    "tenant_id",
    "scope",
    "issued_at",
    "expires_at"
  ],
  "properties": {
    "schema_version": {
      "type": "string",
      "const": "v1"
    },
    "token": {
      "type": "string",
      "minLength": 8
    },
    "tenant_id": {
      "type": "string",
      "minLength": 1
    },
    "scope": {
      "type": "string",
      "const": "proof_bundle:read"
    },
    "issued_at": {
      "type": "string",
      "format": "date-time"
    },
    "expires_at": {
      "type": "string",
      "format": "date-time"
    },
    "proof_bundle_url": {
      "type": "string",
      "format": "uri"
    }
  }
}
revocation-feed v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/trust/revocation-feed/v1/schema.json",
  "title": "RevocationFeed",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "schema_version",
    "generated_at",
    "entries"
  ],
  "properties": {
    "schema_version": {
      "type": "string",
      "const": "v1"
    },
    "generated_at": {
      "type": "string",
      "format": "date-time"
    },
    "entries": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "tenant_id",
          "status",
          "updated_at"
        ],
        "properties": {
          "tenant_id": {
            "type": "string",
            "minLength": 1
          },
          "status": {
            "type": "string",
            "enum": [
              "revoked",
              "expired"
            ]
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          },
          "trust_framework": {
            "type": "string"
          },
          "assurance_level": {
            "type": "string"
          },
          "reason": {
            "type": "string"
          }
        }
      }
    }
  }
}
stripe-readiness-snapshot v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/trust/stripe-readiness-snapshot/v1/schema.json",
  "title": "StripeReadinessSnapshot",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "schema_version",
    "tenant_id",
    "derived_status",
    "updated_at"
  ],
  "properties": {
    "schema_version": {
      "type": "string",
      "const": "v1"
    },
    "tenant_id": {
      "type": "string",
      "minLength": 1
    },
    "stripe_account_id": {
      "type": "string"
    },
    "derived_status": {
      "type": "string",
      "enum": [
        "ready",
        "restricted",
        "pending",
        "disabled"
      ]
    },
    "charges_enabled": {
      "type": "boolean"
    },
    "payouts_enabled": {
      "type": "boolean"
    },
    "requirements_hash": {
      "type": "string"
    },
    "updated_at": {
      "type": "string",
      "format": "date-time"
    }
  }
}
stripe-risk-snapshot v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/trust/stripe-risk-snapshot/v1/schema.json",
  "title": "StripeRiskSnapshot",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "schema_version",
    "tenant_id",
    "risk_level",
    "created_at"
  ],
  "properties": {
    "schema_version": {
      "type": "string",
      "const": "v1"
    },
    "tenant_id": {
      "type": "string",
      "minLength": 1
    },
    "payment_intent_id": {
      "type": "string"
    },
    "risk_score": {
      "type": "number",
      "minimum": 0,
      "maximum": 100
    },
    "risk_level": {
      "type": "string",
      "enum": [
        "normal",
        "elevated",
        "highest",
        "not_assessed"
      ]
    },
    "outcome": {
      "type": "string"
    },
    "created_at": {
      "type": "string",
      "format": "date-time"
    }
  }
}
tenant-signing-keys v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/trust/tenant-signing-keys/v1/schema.json",
  "title": "TenantSigningKeys",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "schema_version",
    "keys"
  ],
  "properties": {
    "schema_version": {
      "type": "string",
      "const": "v1"
    },
    "name": {
      "type": "string",
      "minLength": 1
    },
    "kind": {
      "type": "string",
      "minLength": 1
    },
    "keys": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "kid",
          "alg",
          "public_jwk",
          "created_at",
          "version"
        ],
        "properties": {
          "kid": {
            "type": "string",
            "minLength": 1
          },
          "alg": {
            "type": "string",
            "minLength": 1
          },
          "public_jwk": {
            "type": "object",
            "additionalProperties": true,
            "required": [
              "kty",
              "crv",
              "x"
            ],
            "properties": {
              "kty": {
                "type": "string",
                "minLength": 1
              },
              "crv": {
                "type": "string",
                "minLength": 1
              },
              "x": {
                "type": "string",
                "minLength": 1
              },
              "use": {
                "type": "string"
              },
              "alg": {
                "type": "string"
              }
            }
          },
          "version": {
            "type": "integer",
            "minimum": 1
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "revoked_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      }
    }
  }
}
trust-decision v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/trust/trust-decision/v1/schema.json",
  "title": "TrustDecision",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "schema_version",
    "decision",
    "decision_code"
  ],
  "properties": {
    "schema_version": {
      "type": "string",
      "const": "v1"
    },
    "decision": {
      "type": "string",
      "enum": [
        "allow",
        "deny",
        "requires_escalation"
      ]
    },
    "decision_code": {
      "type": "string",
      "pattern": "^[A-Z0-9_]+$",
      "description": "Deterministic machine-actionable code (stable over time)."
    },
    "reason": {
      "type": "string"
    },
    "inputs": {
      "type": "object",
      "additionalProperties": true
    },
    "expires_at": {
      "type": "string",
      "format": "date-time"
    },
    "evidence": {
      "type": "object",
      "additionalProperties": true
    }
  }
}
trust-decision-response v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/trust/trust-decision-response/v1/schema.json",
  "title": "TrustDecisionResponse",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "schema_version",
    "decision",
    "signed_at",
    "signature"
  ],
  "properties": {
    "schema_version": {
      "type": "string",
      "const": "v1"
    },
    "lookup": {
      "type": "object",
      "additionalProperties": true
    },
    "context": {
      "type": "object",
      "additionalProperties": true
    },
    "decision": {
      "$ref": "https://trustucp.xyz/contracts/jsonschema/trust/trust-decision/v1/schema.json"
    },
    "max_age_seconds": {
      "type": "integer",
      "minimum": 0
    },
    "etag": {
      "type": "string"
    },
    "signed_at": {
      "type": "string",
      "format": "date-time"
    },
    "signature": {
      "type": "string",
      "description": "JWS detached signature over canonicalized response payload."
    }
  }
}
trust-policy v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/trust/trust-policy/v1/schema.json",
  "title": "TrustPolicy",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "schema_version"
  ],
  "properties": {
    "schema_version": {
      "type": "string",
      "const": "v1"
    },
    "enforce_on": {
      "type": "array",
      "minItems": 1,
      "uniqueItems": true,
      "items": {
        "type": "string",
        "enum": [
          "checkout_create",
          "checkout_update",
          "checkout_complete"
        ]
      }
    },
    "verification": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "require": {
          "type": "boolean"
        },
        "required_trust_framework": {
          "type": "string",
          "minLength": 3
        },
        "required_assurance_level": {
          "type": "string",
          "enum": [
            "basic",
            "standard",
            "enhanced",
            "premium"
          ]
        }
      }
    },
    "transaction_value": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "max_total": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "currency",
            "amount"
          ],
          "properties": {
            "currency": {
              "type": "string",
              "minLength": 1
            },
            "amount": {
              "type": "number"
            }
          }
        },
        "on_exceed": {
          "type": "string",
          "enum": [
            "allow",
            "deny",
            "requires_escalation"
          ]
        }
      }
    },
    "geo": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "blocked_countries": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^[A-Z]{2}$"
          }
        },
        "on_violation": {
          "type": "string",
          "enum": [
            "allow",
            "deny",
            "requires_escalation"
          ]
        }
      }
    },
    "stripe_readiness": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "require": {
          "type": "boolean"
        },
        "allowed_statuses": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "ready",
              "restricted",
              "pending",
              "disabled"
            ]
          }
        },
        "on_unready": {
          "type": "string",
          "enum": [
            "allow",
            "deny",
            "requires_escalation"
          ]
        }
      }
    },
    "stripe_risk": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "max_risk_score": {
          "type": "number",
          "minimum": 0,
          "maximum": 100
        },
        "max_risk_level": {
          "type": "string",
          "enum": [
            "normal",
            "elevated",
            "highest",
            "not_assessed"
          ]
        },
        "on_exceed": {
          "type": "string",
          "enum": [
            "allow",
            "deny",
            "requires_escalation"
          ]
        }
      }
    }
  }
}
trust-proof-bundle v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/trust/trust-proof-bundle/v1/schema.json",
  "title": "TrustProofBundle",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "schema_version",
    "subject",
    "business_verification",
    "proof"
  ],
  "properties": {
    "schema_version": {
      "type": "string",
      "const": "v1"
    },
    "issued_at": {
      "type": "string",
      "format": "date-time"
    },
    "subject": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "tenant_id"
      ],
      "properties": {
        "tenant_id": {
          "type": "string",
          "minLength": 1
        },
        "domains": {
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1
          }
        },
        "platform_accounts": {
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "platform",
              "account_id"
            ],
            "properties": {
              "platform": {
                "type": "string",
                "minLength": 1
              },
              "account_id": {
                "type": "string",
                "minLength": 1
              },
              "store_domain": {
                "type": "string"
              }
            }
          }
        }
      }
    },
    "business_verification": {
      "$ref": "../../business-verification/v1/schema.json"
    },
    "evidence": {
      "type": "object",
      "additionalProperties": true,
      "description": "Redacted evidence references (never raw PII)."
    },
    "proof": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "hash_algorithm",
        "merkle_proof"
      ],
      "properties": {
        "hash_algorithm": {
          "type": "string",
          "const": "sha256"
        },
        "merkle_proof": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "leaf_hash",
            "path",
            "root_hash"
          ],
          "properties": {
            "leaf_hash": {
              "type": "string",
              "minLength": 1
            },
            "path": {
              "type": "array",
              "items": {
                "type": "string",
                "minLength": 1
              }
            },
            "root_hash": {
              "type": "string",
              "minLength": 1
            },
            "root_version": {
              "type": [
                "integer",
                "string"
              ]
            }
          }
        },
        "anchors": {
          "$ref": "../../business-verification/v1/schema.json#/properties/anchors"
        }
      }
    },
    "signatures": {
      "type": "object",
      "additionalProperties": true,
      "description": "Detached signatures over canonical JSON and/or embedded credential signatures."
    }
  }
}
trust-registry-response v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/trust/trust-registry-response/v1/schema.json",
  "title": "TrustRegistryResponse",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "schema_version",
    "trust_summary",
    "signed_at",
    "signature"
  ],
  "properties": {
    "schema_version": {
      "type": "string",
      "const": "v1"
    },
    "lookup": {
      "type": "object",
      "additionalProperties": true
    },
    "trust_summary": {
      "$ref": "../../business-verification/v1/schema.json"
    },
    "proof_url": {
      "type": "string",
      "format": "uri"
    },
    "max_age_seconds": {
      "type": "integer",
      "minimum": 0
    },
    "etag": {
      "type": "string"
    },
    "signed_at": {
      "type": "string",
      "format": "date-time"
    },
    "signature": {
      "type": "string",
      "description": "JWS detached signature over canonicalized response payload."
    }
  }
}

Control Plane

API request/response schemas for platform operations

access-key v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/access-key/v1/schema.json",
  "title": "TenantAccessKey",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "id",
    "tenant_id",
    "key_prefix",
    "created_at"
  ],
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1
    },
    "tenant_id": {
      "type": "string",
      "minLength": 1
    },
    "key_prefix": {
      "type": "string",
      "minLength": 4,
      "maxLength": 16
    },
    "created_at": {
      "type": "string",
      "format": "date-time"
    },
    "last_used_at": {
      "type": "string",
      "format": "date-time"
    },
    "revoked_at": {
      "type": "string",
      "format": "date-time"
    }
  }
}
access-key-create-response v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/access-key-create-response/v1/schema.json",
  "title": "TenantAccessKeyCreateResponse",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "access_key",
    "secret"
  ],
  "properties": {
    "access_key": {
      "$ref": "../../access-key/v1/schema.json"
    },
    "secret": {
      "type": "string",
      "minLength": 24,
      "description": "The only time the full access key is returned. Store it securely."
    }
  }
}
access-key-verify-request v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/access-key-verify-request/v1/schema.json",
  "title": "TenantAccessKeyVerifyRequest",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "secret"
  ],
  "properties": {
    "secret": {
      "type": "string",
      "minLength": 24
    }
  }
}
access-key-verify-response v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/access-key-verify-response/v1/schema.json",
  "title": "TenantAccessKeyVerifyResponse",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "access_key"
  ],
  "properties": {
    "access_key": {
      "$ref": "../../access-key/v1/schema.json"
    }
  }
}
adapter-test-request v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/adapter-test-request/v1/schema.json",
  "title": "AdapterTestRequest",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "secret_name"
  ],
  "properties": {
    "adapter_type": {
      "type": "string",
      "enum": [
        "woocommerce",
        "wix",
        "shopify",
        "demo",
        "custom"
      ]
    },
    "secret_name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128
    }
  }
}
adapter-test-response v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/adapter-test-response/v1/schema.json",
  "title": "AdapterTestResponse",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "success",
    "status",
    "message"
  ],
  "properties": {
    "success": {
      "type": "boolean"
    },
    "status": {
      "type": "string"
    },
    "message": {
      "type": "string"
    }
  }
}
audit-event v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/audit-event/v1/schema.json",
  "title": "AuditEvent",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "id",
    "action",
    "resource_type",
    "created_at"
  ],
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1
    },
    "tenant_id": {
      "type": "string"
    },
    "actor_user_id": {
      "type": "string"
    },
    "action": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128
    },
    "resource_type": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128
    },
    "resource_id": {
      "type": "string"
    },
    "summary": {
      "type": "string"
    },
    "metadata": {
      "type": "object"
    },
    "request_id": {
      "type": "string"
    },
    "ip_address": {
      "type": "string"
    },
    "user_agent": {
      "type": "string"
    },
    "created_at": {
      "type": "string",
      "format": "date-time"
    }
  }
}
audit-export-create-request v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/audit-export-create-request/v1/schema.json",
  "title": "AuditExportCreateRequest",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "format": {
      "type": "string",
      "enum": [
        "csv"
      ]
    },
    "from": {
      "type": "string",
      "format": "date-time"
    },
    "to": {
      "type": "string",
      "format": "date-time"
    },
    "action": {
      "type": "string",
      "minLength": 1
    }
  }
}
audit-export-job v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/audit-export-job/v1/schema.json",
  "title": "AuditExportJob",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "id",
    "tenant_id",
    "format",
    "status",
    "row_count",
    "created_at",
    "updated_at"
  ],
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1
    },
    "tenant_id": {
      "type": "string",
      "minLength": 1
    },
    "format": {
      "type": "string",
      "enum": [
        "csv"
      ]
    },
    "status": {
      "type": "string",
      "enum": [
        "queued",
        "running",
        "ready",
        "error",
        "expired"
      ]
    },
    "filters": {
      "type": "object",
      "additionalProperties": true
    },
    "row_count": {
      "type": "integer",
      "minimum": 0
    },
    "checksum_sha256": {
      "type": "string"
    },
    "last_error": {
      "type": "string"
    },
    "created_by_user_id": {
      "type": "string"
    },
    "created_at": {
      "type": "string",
      "format": "date-time"
    },
    "completed_at": {
      "type": "string",
      "format": "date-time"
    },
    "expires_at": {
      "type": "string",
      "format": "date-time"
    },
    "updated_at": {
      "type": "string",
      "format": "date-time"
    }
  }
}
audit-export-job-list-response v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/audit-export-job-list-response/v1/schema.json",
  "title": "AuditExportJobListResponse",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "items"
  ],
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "$ref": "../../audit-export-job/v1/schema.json"
      }
    },
    "next_cursor": {
      "type": "string"
    }
  }
}
auth-password-change-request v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/auth-password-change-request/v1/schema.json",
  "title": "AuthPasswordChangeRequest",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "current_password",
    "new_password"
  ],
  "properties": {
    "current_password": {
      "type": "string",
      "minLength": 1
    },
    "new_password": {
      "type": "string",
      "minLength": 8
    }
  }
}
auth-signin-request v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/auth-signin-request/v1/schema.json",
  "title": "AuthSigninRequest",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "email",
    "password"
  ],
  "properties": {
    "email": {
      "type": "string",
      "format": "email"
    },
    "password": {
      "type": "string",
      "minLength": 8
    }
  }
}
auth-signup-request v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/auth-signup-request/v1/schema.json",
  "title": "AuthSignupRequest",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "email",
    "password"
  ],
  "properties": {
    "email": {
      "type": "string",
      "format": "email"
    },
    "password": {
      "type": "string",
      "minLength": 8
    },
    "name": {
      "type": "string"
    }
  }
}
badge-analytics-bucket v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/badge-analytics-bucket/v1/schema.json",
  "title": "BadgeAnalyticsBucket",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "bucket_start",
    "views",
    "clicks",
    "hovers"
  ],
  "properties": {
    "bucket_start": {
      "type": "string",
      "format": "date-time"
    },
    "views": {
      "type": "integer",
      "minimum": 0
    },
    "clicks": {
      "type": "integer",
      "minimum": 0
    },
    "hovers": {
      "type": "integer",
      "minimum": 0
    }
  }
}
badge-analytics-summary v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/badge-analytics-summary/v1/schema.json",
  "title": "BadgeAnalyticsSummary",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "views",
    "clicks",
    "hovers",
    "ctr",
    "generated_at"
  ],
  "properties": {
    "views": {
      "type": "integer",
      "minimum": 0
    },
    "clicks": {
      "type": "integer",
      "minimum": 0
    },
    "hovers": {
      "type": "integer",
      "minimum": 0
    },
    "ctr": {
      "type": "number",
      "minimum": 0
    },
    "first_event_at": {
      "type": "string",
      "format": "date-time"
    },
    "last_event_at": {
      "type": "string",
      "format": "date-time"
    },
    "generated_at": {
      "type": "string",
      "format": "date-time"
    }
  }
}
badge-analytics-timeseries-response v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/badge-analytics-timeseries-response/v1/schema.json",
  "title": "BadgeAnalyticsTimeseriesResponse",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "interval",
    "buckets"
  ],
  "properties": {
    "interval": {
      "type": "string",
      "enum": [
        "hour",
        "day"
      ]
    },
    "buckets": {
      "type": "array",
      "items": {
        "$ref": "../../badge-analytics-bucket/v1/schema.json"
      }
    }
  }
}
badge-event-list-response v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/badge-event-list-response/v1/schema.json",
  "title": "BadgeEventListResponse",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "items"
  ],
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "$ref": "../../badge-event-record/v1/schema.json"
      }
    },
    "next_cursor": {
      "type": "string"
    }
  }
}
badge-event-record v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/badge-event-record/v1/schema.json",
  "title": "BadgeEventRecord",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "id",
    "event_type",
    "created_at"
  ],
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1
    },
    "event_type": {
      "type": "string",
      "enum": [
        "view",
        "click",
        "hover"
      ]
    },
    "variant": {
      "type": "string"
    },
    "page_url": {
      "type": "string"
    },
    "referrer": {
      "type": "string"
    },
    "occurred_at": {
      "type": "string",
      "format": "date-time"
    },
    "created_at": {
      "type": "string",
      "format": "date-time"
    }
  }
}
compliance-retention-policy v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/compliance-retention-policy/v1/schema.json",
  "title": "ComplianceRetentionPolicy",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "audit_export_retention_days",
    "monitoring_recheck_retention_days"
  ],
  "properties": {
    "audit_export_retention_days": {
      "type": "integer",
      "minimum": 1,
      "maximum": 365
    },
    "monitoring_recheck_retention_days": {
      "type": "integer",
      "minimum": 1,
      "maximum": 365
    }
  }
}
compliance-retention-policy-patch-request v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/compliance-retention-policy-patch-request/v1/schema.json",
  "title": "ComplianceRetentionPolicyPatchRequest",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "audit_export_retention_days": {
      "type": "integer",
      "minimum": 1,
      "maximum": 365
    },
    "monitoring_recheck_retention_days": {
      "type": "integer",
      "minimum": 1,
      "maximum": 365
    }
  }
}
domain-verification-challenge v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/domain-verification-challenge/v1/schema.json",
  "title": "DomainVerificationChallenge",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "id",
    "tenant_id",
    "domain_id",
    "record_name",
    "record_type",
    "record_value",
    "status",
    "attempt_count",
    "expires_at",
    "created_at",
    "updated_at"
  ],
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1
    },
    "tenant_id": {
      "type": "string",
      "minLength": 1
    },
    "domain_id": {
      "type": "string",
      "minLength": 1
    },
    "record_name": {
      "type": "string",
      "minLength": 1
    },
    "record_type": {
      "type": "string",
      "const": "TXT"
    },
    "record_value": {
      "type": "string",
      "minLength": 1
    },
    "status": {
      "type": "string",
      "enum": [
        "pending",
        "verified",
        "failed"
      ]
    },
    "attempt_count": {
      "type": "integer",
      "minimum": 0
    },
    "last_checked_at": {
      "type": "string",
      "format": "date-time"
    },
    "verified_at": {
      "type": "string",
      "format": "date-time"
    },
    "expires_at": {
      "type": "string",
      "format": "date-time"
    },
    "last_error_code": {
      "type": "string"
    },
    "created_at": {
      "type": "string",
      "format": "date-time"
    },
    "updated_at": {
      "type": "string",
      "format": "date-time"
    }
  }
}
domain-verification-check-response v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/domain-verification-check-response/v1/schema.json",
  "title": "DomainVerificationCheckResponse",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "status",
    "last_checked_at",
    "domain"
  ],
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "pending",
        "verified",
        "failed"
      ]
    },
    "verified_at": {
      "type": "string",
      "format": "date-time"
    },
    "last_checked_at": {
      "type": "string",
      "format": "date-time"
    },
    "failure_reason": {
      "type": "string"
    },
    "domain": {
      "$ref": "../../tenant-domain/v1/schema.json"
    }
  }
}
error v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/error/v1/schema.json",
  "title": "ErrorResponse",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "error"
  ],
  "properties": {
    "error": {
      "type": "string",
      "minLength": 1
    },
    "message": {
      "type": "string"
    },
    "code": {
      "type": "string"
    },
    "details": {
      "type": "object",
      "additionalProperties": true
    }
  }
}
invite v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/invite/v1/schema.json",
  "title": "Invite",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "id",
    "tenant_id",
    "email",
    "role",
    "token",
    "expires_at",
    "created_at"
  ],
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1
    },
    "tenant_id": {
      "type": "string",
      "minLength": 1
    },
    "email": {
      "type": "string",
      "format": "email"
    },
    "role": {
      "type": "string",
      "enum": [
        "owner",
        "admin",
        "member",
        "viewer"
      ]
    },
    "token": {
      "type": "string",
      "minLength": 16
    },
    "expires_at": {
      "type": "string",
      "format": "date-time"
    },
    "created_at": {
      "type": "string",
      "format": "date-time"
    },
    "accepted_at": {
      "type": "string",
      "format": "date-time"
    }
  }
}
invite-create-request v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/invite-create-request/v1/schema.json",
  "title": "InviteCreateRequest",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "email",
    "role"
  ],
  "properties": {
    "email": {
      "type": "string",
      "format": "email"
    },
    "role": {
      "type": "string",
      "enum": [
        "owner",
        "admin",
        "member",
        "viewer"
      ]
    }
  }
}
membership v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/membership/v1/schema.json",
  "title": "Membership",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "tenant_id",
    "user_id",
    "role",
    "status",
    "created_at"
  ],
  "properties": {
    "tenant_id": {
      "type": "string",
      "minLength": 1
    },
    "user_id": {
      "type": "string",
      "minLength": 1
    },
    "role": {
      "type": "string",
      "enum": [
        "owner",
        "admin",
        "member",
        "viewer"
      ]
    },
    "status": {
      "type": "string",
      "enum": [
        "active",
        "invited",
        "suspended"
      ]
    },
    "created_at": {
      "type": "string",
      "format": "date-time"
    }
  }
}
membership-update-request v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/membership-update-request/v1/schema.json",
  "title": "MembershipUpdateRequest",
  "type": "object",
  "additionalProperties": false,
  "minProperties": 1,
  "properties": {
    "role": {
      "type": "string",
      "enum": [
        "owner",
        "admin",
        "member",
        "viewer"
      ]
    },
    "status": {
      "type": "string",
      "enum": [
        "active",
        "invited",
        "suspended"
      ]
    }
  }
}
mfa-totp-disable-request v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/mfa-totp-disable-request/v1/schema.json",
  "title": "MfaTotpDisableRequest",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "current_password"
  ],
  "properties": {
    "current_password": {
      "type": "string",
      "minLength": 1
    }
  }
}
mfa-totp-setup-response v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/mfa-totp-setup-response/v1/schema.json",
  "title": "MfaTotpSetupResponse",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "secret",
    "provisioning_uri",
    "recovery_codes"
  ],
  "properties": {
    "secret": {
      "type": "string",
      "minLength": 1
    },
    "provisioning_uri": {
      "type": "string",
      "minLength": 1
    },
    "recovery_codes": {
      "type": "array",
      "minItems": 1,
      "items": {
        "type": "string",
        "minLength": 1
      }
    }
  }
}
mfa-totp-verify-request v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/mfa-totp-verify-request/v1/schema.json",
  "title": "MfaTotpVerifyRequest",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "code"
  ],
  "properties": {
    "code": {
      "type": "string",
      "minLength": 1
    }
  }
}
monitoring-recheck-run v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/monitoring-recheck-run/v1/schema.json",
  "title": "MonitoringRecheckRun",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "id",
    "tenant_id",
    "trigger_type",
    "status",
    "checked_count",
    "expired_count",
    "started_at",
    "created_at"
  ],
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1
    },
    "tenant_id": {
      "type": "string",
      "minLength": 1
    },
    "trigger_type": {
      "type": "string",
      "enum": [
        "scheduled",
        "manual"
      ]
    },
    "status": {
      "type": "string",
      "enum": [
        "success",
        "error"
      ]
    },
    "checked_count": {
      "type": "integer",
      "minimum": 0
    },
    "expired_count": {
      "type": "integer",
      "minimum": 0
    },
    "details": {
      "type": "object",
      "additionalProperties": true
    },
    "last_error": {
      "type": "string"
    },
    "started_at": {
      "type": "string",
      "format": "date-time"
    },
    "finished_at": {
      "type": "string",
      "format": "date-time"
    },
    "created_at": {
      "type": "string",
      "format": "date-time"
    }
  }
}
monitoring-recheck-run-list-response v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/monitoring-recheck-run-list-response/v1/schema.json",
  "title": "MonitoringRecheckRunListResponse",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "items"
  ],
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "$ref": "../../monitoring-recheck-run/v1/schema.json"
      }
    },
    "next_cursor": {
      "type": "string"
    }
  }
}
monitoring-recheck-schedule v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/monitoring-recheck-schedule/v1/schema.json",
  "title": "MonitoringRecheckSchedule",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "enabled",
    "interval_minutes",
    "batch_size"
  ],
  "properties": {
    "enabled": {
      "type": "boolean"
    },
    "interval_minutes": {
      "type": "integer",
      "minimum": 5,
      "maximum": 10080
    },
    "batch_size": {
      "type": "integer",
      "minimum": 1,
      "maximum": 1000
    }
  }
}
monitoring-recheck-schedule-patch-request v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/monitoring-recheck-schedule-patch-request/v1/schema.json",
  "title": "MonitoringRecheckSchedulePatchRequest",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "enabled": {
      "type": "boolean"
    },
    "interval_minutes": {
      "type": "integer",
      "minimum": 5,
      "maximum": 10080
    },
    "batch_size": {
      "type": "integer",
      "minimum": 1,
      "maximum": 1000
    }
  }
}
monitoring-recheck-trigger-request v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/monitoring-recheck-trigger-request/v1/schema.json",
  "title": "MonitoringRecheckTriggerRequest",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "batch_size": {
      "type": "integer",
      "minimum": 1,
      "maximum": 1000
    }
  }
}
monitoring-trust-score v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/monitoring-trust-score/v1/schema.json",
  "title": "MonitoringTrustScore",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "tenant_id",
    "score",
    "band",
    "verification_status",
    "computed_at",
    "components"
  ],
  "properties": {
    "tenant_id": {
      "type": "string",
      "minLength": 1
    },
    "score": {
      "type": "integer",
      "minimum": 0,
      "maximum": 100
    },
    "band": {
      "type": "string",
      "enum": [
        "strong",
        "good",
        "watch",
        "critical"
      ]
    },
    "verification_status": {
      "type": "string",
      "minLength": 1
    },
    "computed_at": {
      "type": "string",
      "format": "date-time"
    },
    "components": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "key",
          "label",
          "score",
          "max_score",
          "status",
          "message"
        ],
        "properties": {
          "key": {
            "type": "string",
            "minLength": 1
          },
          "label": {
            "type": "string",
            "minLength": 1
          },
          "score": {
            "type": "integer",
            "minimum": 0
          },
          "max_score": {
            "type": "integer",
            "minimum": 1
          },
          "status": {
            "type": "string",
            "minLength": 1
          },
          "message": {
            "type": "string",
            "minLength": 1
          }
        }
      }
    },
    "next_actions": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1
      }
    }
  }
}
platform-support-grant v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/platform-support-grant/v1/schema.json",
  "title": "PlatformSupportGrant",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "id",
    "tenant_id",
    "platform_admin_user_id",
    "actions",
    "reason",
    "expires_at",
    "created_at"
  ],
  "properties": {
    "id": {
      "type": "string"
    },
    "tenant_id": {
      "type": "string"
    },
    "platform_admin_user_id": {
      "type": "string"
    },
    "actions": {
      "type": "array",
      "minItems": 1,
      "items": {
        "type": "string"
      }
    },
    "reason": {
      "type": "string"
    },
    "ticket_ref": {
      "type": "string"
    },
    "expires_at": {
      "type": "string",
      "format": "date-time"
    },
    "revoked_at": {
      "type": "string",
      "format": "date-time"
    },
    "revoked_by_user_id": {
      "type": "string"
    },
    "created_at": {
      "type": "string",
      "format": "date-time"
    },
    "created_by_user_id": {
      "type": "string"
    }
  }
}
platform-support-grant-create-request v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/platform-support-grant-create-request/v1/schema.json",
  "title": "PlatformSupportGrantCreateRequest",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "reason"
  ],
  "properties": {
    "actions": {
      "type": "array",
      "minItems": 1,
      "items": {
        "type": "string"
      }
    },
    "reason": {
      "type": "string",
      "minLength": 1
    },
    "ticket_ref": {
      "type": "string"
    },
    "expires_at": {
      "type": "string",
      "format": "date-time"
    }
  }
}
platform-support-grant-list-response v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/platform-support-grant-list-response/v1/schema.json",
  "title": "PlatformSupportGrantListResponse",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "items"
  ],
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "$ref": "../../platform-support-grant/v1/schema.json"
      }
    }
  }
}
platform-tenant-details-response v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/platform-tenant-details-response/v1/schema.json",
  "title": "PlatformTenantDetailsResponse",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "tenant",
    "domains",
    "rollout_controls",
    "read_only_locked"
  ],
  "properties": {
    "tenant": {
      "$ref": "../../tenant/v1/schema.json"
    },
    "domains": {
      "type": "array",
      "items": {
        "$ref": "../../tenant-domain/v1/schema.json"
      }
    },
    "rollout_controls": {
      "$ref": "../../rollout-controls/v1/schema.json"
    },
    "read_only_locked": {
      "type": "boolean"
    }
  }
}
platform-tenant-provision-request v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/platform-tenant-provision-request/v1/schema.json",
  "title": "PlatformTenantProvisionRequest",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "slug",
    "business_name",
    "owner_email"
  ],
  "properties": {
    "slug": {
      "type": "string",
      "minLength": 3,
      "maxLength": 40
    },
    "business_name": {
      "type": "string",
      "minLength": 2
    },
    "owner_email": {
      "type": "string",
      "format": "email"
    },
    "feature_flags": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "gateway_adapter_mesh": {
          "type": "boolean"
        },
        "verification_proof_core": {
          "type": "boolean"
        },
        "trust_registry_trust_card": {
          "type": "boolean"
        },
        "badge_widgets": {
          "type": "boolean"
        },
        "policy_engine": {
          "type": "boolean"
        },
        "monitoring": {
          "type": "boolean"
        },
        "evidence_packs_json": {
          "type": "boolean"
        },
        "signed_receipts": {
          "type": "boolean"
        },
        "sdk_trust_decision": {
          "type": "boolean"
        },
        "enterprise_compliance": {
          "type": "boolean"
        },
        "stripe_connect_readiness": {
          "type": "boolean"
        },
        "stripe_radar_risk": {
          "type": "boolean"
        },
        "mcp_v1": {
          "type": "boolean"
        },
        "ap2_mandates": {
          "type": "boolean"
        },
        "merchant_network": {
          "type": "boolean"
        },
        "stripe_identity": {
          "type": "boolean"
        },
        "mcp_v2": {
          "type": "boolean"
        },
        "evidence_pack_pdf": {
          "type": "boolean"
        },
        "evidence_pack_async": {
          "type": "boolean"
        },
        "receipt_anchoring": {
          "type": "boolean"
        },
        "enterprise_private_deploys": {
          "type": "boolean"
        }
      }
    }
  }
}
platform-tenant-provision-response v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/platform-tenant-provision-response/v1/schema.json",
  "title": "PlatformTenantProvisionResponse",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "tenant",
    "invite",
    "rollout_controls",
    "read_only_locked"
  ],
  "properties": {
    "tenant": {
      "$ref": "../../tenant/v1/schema.json"
    },
    "invite": {
      "$ref": "../../invite/v1/schema.json"
    },
    "rollout_controls": {
      "$ref": "../../rollout-controls/v1/schema.json"
    },
    "read_only_locked": {
      "type": "boolean"
    }
  }
}
platform-tenant-status-patch-request v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/platform-tenant-status-patch-request/v1/schema.json",
  "title": "PlatformTenantStatusPatchRequest",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "status"
  ],
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "pending",
        "active",
        "suspended"
      ]
    }
  }
}
platform-tenants-response v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/platform-tenants-response/v1/schema.json",
  "title": "PlatformTenantsResponse",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "items"
  ],
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "$ref": "../../tenant/v1/schema.json"
      }
    }
  }
}
rollout-controls v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/rollout-controls/v1/schema.json",
  "title": "RolloutControls",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "schema_version",
    "launch_track",
    "allowlisted",
    "feature_flags"
  ],
  "properties": {
    "schema_version": {
      "type": "string",
      "const": "v1"
    },
    "launch_track": {
      "type": "string",
      "const": "private_beta"
    },
    "allowlisted": {
      "type": "boolean"
    },
    "feature_flags": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "gateway_adapter_mesh",
        "verification_proof_core",
        "trust_registry_trust_card",
        "badge_widgets",
        "policy_engine",
        "monitoring",
        "evidence_packs_json",
        "signed_receipts",
        "sdk_trust_decision",
        "enterprise_compliance",
        "stripe_connect_readiness",
        "stripe_radar_risk",
        "mcp_v1",
        "ap2_mandates",
        "merchant_network",
        "stripe_identity",
        "mcp_v2",
        "evidence_pack_pdf",
        "evidence_pack_async",
        "receipt_anchoring",
        "enterprise_private_deploys"
      ],
      "properties": {
        "gateway_adapter_mesh": {
          "type": "boolean"
        },
        "verification_proof_core": {
          "type": "boolean"
        },
        "trust_registry_trust_card": {
          "type": "boolean"
        },
        "badge_widgets": {
          "type": "boolean"
        },
        "policy_engine": {
          "type": "boolean"
        },
        "monitoring": {
          "type": "boolean"
        },
        "evidence_packs_json": {
          "type": "boolean"
        },
        "signed_receipts": {
          "type": "boolean"
        },
        "sdk_trust_decision": {
          "type": "boolean"
        },
        "enterprise_compliance": {
          "type": "boolean"
        },
        "stripe_connect_readiness": {
          "type": "boolean"
        },
        "stripe_radar_risk": {
          "type": "boolean"
        },
        "mcp_v1": {
          "type": "boolean"
        },
        "ap2_mandates": {
          "type": "boolean"
        },
        "merchant_network": {
          "type": "boolean"
        },
        "stripe_identity": {
          "type": "boolean"
        },
        "mcp_v2": {
          "type": "boolean"
        },
        "evidence_pack_pdf": {
          "type": "boolean"
        },
        "evidence_pack_async": {
          "type": "boolean"
        },
        "receipt_anchoring": {
          "type": "boolean"
        },
        "enterprise_private_deploys": {
          "type": "boolean"
        }
      }
    }
  }
}
rollout-controls-patch-request v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/rollout-controls-patch-request/v1/schema.json",
  "title": "RolloutControlsPatchRequest",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "allowlisted": {
      "type": "boolean"
    },
    "feature_flags": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "gateway_adapter_mesh": {
          "type": "boolean"
        },
        "verification_proof_core": {
          "type": "boolean"
        },
        "trust_registry_trust_card": {
          "type": "boolean"
        },
        "badge_widgets": {
          "type": "boolean"
        },
        "policy_engine": {
          "type": "boolean"
        },
        "monitoring": {
          "type": "boolean"
        },
        "evidence_packs_json": {
          "type": "boolean"
        },
        "signed_receipts": {
          "type": "boolean"
        },
        "sdk_trust_decision": {
          "type": "boolean"
        },
        "enterprise_compliance": {
          "type": "boolean"
        },
        "stripe_connect_readiness": {
          "type": "boolean"
        },
        "stripe_radar_risk": {
          "type": "boolean"
        },
        "mcp_v1": {
          "type": "boolean"
        },
        "ap2_mandates": {
          "type": "boolean"
        },
        "merchant_network": {
          "type": "boolean"
        },
        "stripe_identity": {
          "type": "boolean"
        },
        "mcp_v2": {
          "type": "boolean"
        },
        "evidence_pack_pdf": {
          "type": "boolean"
        },
        "evidence_pack_async": {
          "type": "boolean"
        },
        "receipt_anchoring": {
          "type": "boolean"
        },
        "enterprise_private_deploys": {
          "type": "boolean"
        }
      }
    }
  }
}
security-mfa v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/security-mfa/v1/schema.json",
  "title": "SecurityMfa",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "configured",
    "enabled"
  ],
  "properties": {
    "configured": {
      "type": "boolean"
    },
    "enabled": {
      "type": "boolean"
    },
    "verified_at": {
      "type": "string",
      "format": "date-time"
    },
    "disabled_at": {
      "type": "string",
      "format": "date-time"
    }
  }
}
security-settings v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/security-settings/v1/schema.json",
  "title": "SecuritySettings",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "mfa"
  ],
  "properties": {
    "password_last_changed_at": {
      "type": "string",
      "format": "date-time"
    },
    "mfa": {
      "$ref": "../../security-mfa/v1/schema.json"
    }
  }
}
session v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/session/v1/schema.json",
  "title": "Session",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "token",
    "user",
    "expires_at"
  ],
  "properties": {
    "token": {
      "type": "string",
      "minLength": 16
    },
    "expires_at": {
      "type": "string",
      "format": "date-time"
    },
    "user": {
      "$ref": "../../user/v1/schema.json"
    }
  }
}
stripe-connect-account v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/stripe-connect-account/v1/schema.json",
  "title": "StripeConnectAccount",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "tenant_id",
    "stripe_account_id",
    "status",
    "updated_at"
  ],
  "properties": {
    "tenant_id": {
      "type": "string",
      "minLength": 1
    },
    "stripe_account_id": {
      "type": "string",
      "minLength": 1
    },
    "status": {
      "type": "string",
      "enum": [
        "linked",
        "pending",
        "disconnected"
      ]
    },
    "last_synced_at": {
      "type": "string",
      "format": "date-time"
    },
    "updated_at": {
      "type": "string",
      "format": "date-time"
    }
  }
}
stripe-connect-request v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/stripe-connect-request/v1/schema.json",
  "title": "StripeConnectRequest",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "redirect_uri": {
      "type": "string",
      "format": "uri"
    },
    "authorization_code": {
      "type": "string"
    }
  }
}
stripe-connect-response v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/stripe-connect-response/v1/schema.json",
  "title": "StripeConnectResponse",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "schema_version"
  ],
  "properties": {
    "schema_version": {
      "type": "string",
      "const": "v1"
    },
    "authorize_url": {
      "type": "string",
      "format": "uri"
    },
    "account": {
      "$ref": "../../stripe-connect-account/v1/schema.json"
    },
    "readiness": {
      "$ref": "../../../trust/stripe-readiness-snapshot/v1/schema.json"
    }
  }
}
stripe-risk-latest-response v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/stripe-risk-latest-response/v1/schema.json",
  "title": "StripeRiskLatestResponse",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "schema_version"
  ],
  "properties": {
    "schema_version": {
      "type": "string",
      "const": "v1"
    },
    "risk": {
      "$ref": "../../stripe-risk-snapshot/v1/schema.json"
    }
  }
}
stripe-risk-snapshot v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/stripe-risk-snapshot/v1/schema.json",
  "title": "StripeRiskSnapshot",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "tenant_id",
    "risk_level",
    "created_at"
  ],
  "properties": {
    "tenant_id": {
      "type": "string",
      "minLength": 1
    },
    "stripe_account_id": {
      "type": "string"
    },
    "payment_intent_id": {
      "type": "string"
    },
    "risk_score": {
      "type": "number",
      "minimum": 0,
      "maximum": 100
    },
    "risk_level": {
      "type": "string"
    },
    "outcome": {
      "type": "string"
    },
    "created_at": {
      "type": "string",
      "format": "date-time"
    }
  }
}
stripe-risk-snapshot-list-response v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/stripe-risk-snapshot-list-response/v1/schema.json",
  "title": "StripeRiskSnapshotListResponse",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "items"
  ],
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "$ref": "../../stripe-risk-snapshot/v1/schema.json"
      }
    },
    "next_cursor": {
      "type": "string"
    }
  }
}
tenant v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/tenant/v1/schema.json",
  "title": "Tenant",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "id",
    "slug",
    "status",
    "business_name",
    "created_at"
  ],
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1
    },
    "slug": {
      "type": "string",
      "pattern": "^[a-z0-9-]{3,48}$"
    },
    "status": {
      "type": "string",
      "enum": [
        "pending",
        "active",
        "suspended",
        "deleted"
      ]
    },
    "business_name": {
      "type": "string",
      "minLength": 2
    },
    "profile": {
      "$ref": "../../tenant-profile/v1/schema.json"
    },
    "created_at": {
      "type": "string",
      "format": "date-time"
    },
    "updated_at": {
      "type": "string",
      "format": "date-time"
    }
  }
}
tenant-billing-account v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/tenant-billing-account/v1/schema.json",
  "title": "TenantBillingAccount",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "tenant_id",
    "provider",
    "updated_at"
  ],
  "properties": {
    "tenant_id": {
      "type": "string",
      "minLength": 1
    },
    "provider": {
      "type": "string",
      "minLength": 1
    },
    "provider_customer_id": {
      "type": "string"
    },
    "subscription_status": {
      "type": "string"
    },
    "plan_code": {
      "type": "string"
    },
    "current_period_end": {
      "type": "string",
      "format": "date-time"
    },
    "updated_at": {
      "type": "string",
      "format": "date-time"
    }
  }
}
tenant-billing-portal-session-request v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/tenant-billing-portal-session-request/v1/schema.json",
  "title": "TenantBillingPortalSessionRequest",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "current_password"
  ],
  "properties": {
    "current_password": {
      "type": "string",
      "minLength": 1
    },
    "return_url": {
      "type": "string",
      "format": "uri"
    }
  }
}
tenant-billing-portal-session-response v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/tenant-billing-portal-session-response/v1/schema.json",
  "title": "TenantBillingPortalSessionResponse",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "format": "uri"
    }
  }
}
tenant-billing-subscription-response v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/tenant-billing-subscription-response/v1/schema.json",
  "title": "TenantBillingSubscriptionResponse",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "active_seats"
  ],
  "properties": {
    "subscription": {
      "$ref": "../../tenant-billing-account/v1/schema.json"
    },
    "active_seats": {
      "type": "integer",
      "minimum": 0
    }
  }
}
tenant-billing-usage-response v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/tenant-billing-usage-response/v1/schema.json",
  "title": "TenantBillingUsageResponse",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "active_seats"
  ],
  "properties": {
    "active_seats": {
      "type": "integer",
      "minimum": 0
    }
  }
}
tenant-config v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/tenant-config/v1/schema.json",
  "title": "TenantConfig",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "id",
    "tenant_id",
    "kind",
    "version",
    "config",
    "created_at",
    "is_active"
  ],
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1
    },
    "tenant_id": {
      "type": "string",
      "minLength": 1
    },
    "kind": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64
    },
    "version": {
      "type": "integer",
      "minimum": 1
    },
    "config": {
      "type": "object"
    },
    "created_at": {
      "type": "string",
      "format": "date-time"
    },
    "created_by_user_id": {
      "type": "string"
    },
    "is_active": {
      "type": "boolean"
    },
    "activated_at": {
      "type": "string",
      "format": "date-time"
    }
  }
}
tenant-config-upsert-request v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/tenant-config-upsert-request/v1/schema.json",
  "title": "TenantConfigUpsertRequest",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "kind",
    "config"
  ],
  "properties": {
    "kind": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64
    },
    "config": {
      "type": "object"
    }
  }
}
tenant-create-request v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/tenant-create-request/v1/schema.json",
  "title": "TenantCreateRequest",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "slug",
    "business_name"
  ],
  "properties": {
    "slug": {
      "type": "string",
      "pattern": "^[a-z0-9-]{3,48}$"
    },
    "business_name": {
      "type": "string",
      "minLength": 2
    }
  }
}
tenant-domain v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/tenant-domain/v1/schema.json",
  "title": "TenantDomain",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "id",
    "tenant_id",
    "domain",
    "kind",
    "created_at"
  ],
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1
    },
    "tenant_id": {
      "type": "string",
      "minLength": 1
    },
    "domain": {
      "type": "string",
      "minLength": 1
    },
    "kind": {
      "type": "string",
      "enum": [
        "primary",
        "additional"
      ]
    },
    "verified_at": {
      "type": "string",
      "format": "date-time"
    },
    "verification_status": {
      "type": "string",
      "enum": [
        "unverified",
        "pending",
        "verified",
        "failed"
      ]
    },
    "verification_checked_at": {
      "type": "string",
      "format": "date-time"
    },
    "verification_error_code": {
      "type": "string"
    },
    "created_at": {
      "type": "string",
      "format": "date-time"
    }
  }
}
tenant-domain-create-request v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/tenant-domain-create-request/v1/schema.json",
  "title": "TenantDomainCreateRequest",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "domain"
  ],
  "properties": {
    "domain": {
      "type": "string",
      "minLength": 1
    },
    "kind": {
      "type": "string",
      "enum": [
        "primary",
        "additional"
      ]
    }
  }
}
tenant-platform-account v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/tenant-platform-account/v1/schema.json",
  "title": "TenantPlatformAccount",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "id",
    "tenant_id",
    "platform",
    "account_id",
    "created_at",
    "updated_at"
  ],
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1
    },
    "tenant_id": {
      "type": "string",
      "minLength": 1
    },
    "platform": {
      "type": "string",
      "minLength": 2
    },
    "account_id": {
      "type": "string",
      "minLength": 1
    },
    "store_domain": {
      "type": "string",
      "minLength": 1
    },
    "metadata": {
      "type": "object",
      "additionalProperties": true
    },
    "created_at": {
      "type": "string",
      "format": "date-time"
    },
    "updated_at": {
      "type": "string",
      "format": "date-time"
    }
  }
}
tenant-platform-account-create-request v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/tenant-platform-account-create-request/v1/schema.json",
  "title": "TenantPlatformAccountCreateRequest",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "platform",
    "account_id"
  ],
  "properties": {
    "platform": {
      "type": "string",
      "pattern": "^[a-z0-9][a-z0-9_-]{1,63}$"
    },
    "account_id": {
      "type": "string",
      "minLength": 1
    },
    "store_domain": {
      "type": "string",
      "minLength": 1
    },
    "metadata": {
      "type": "object",
      "additionalProperties": true
    }
  }
}
tenant-platform-account-patch-request v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/tenant-platform-account-patch-request/v1/schema.json",
  "title": "TenantPlatformAccountPatchRequest",
  "type": "object",
  "additionalProperties": false,
  "minProperties": 1,
  "properties": {
    "store_domain": {
      "type": "string",
      "minLength": 1
    },
    "metadata": {
      "type": "object",
      "additionalProperties": true
    }
  }
}
tenant-profile v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/tenant-profile/v1/schema.json",
  "title": "TenantProfile",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "legal_name": {
      "type": "string",
      "minLength": 2
    },
    "display_name": {
      "type": "string",
      "minLength": 2
    },
    "business_summary": {
      "type": "string",
      "minLength": 8
    },
    "industry": {
      "type": "string",
      "minLength": 2
    },
    "website": {
      "type": "string",
      "format": "uri"
    },
    "support_email": {
      "type": "string",
      "format": "email"
    },
    "support_phone": {
      "type": "string",
      "minLength": 7
    },
    "hq": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "city": {
          "type": "string",
          "minLength": 2
        },
        "region": {
          "type": "string",
          "minLength": 2
        },
        "country": {
          "type": "string",
          "minLength": 2
        }
      }
    },
    "verification_identity": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "registration_number_masked": {
          "type": "string",
          "minLength": 1
        },
        "registration_number_hash": {
          "type": "string",
          "minLength": 1
        },
        "tax_id_last4": {
          "type": "string",
          "minLength": 1
        },
        "tax_id_hash": {
          "type": "string",
          "minLength": 1
        }
      }
    },
    "profile_version": {
      "type": "integer",
      "minimum": 1
    },
    "updated_at": {
      "type": "string",
      "format": "date-time"
    }
  }
}
tenant-profile-patch-request v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/tenant-profile-patch-request/v1/schema.json",
  "title": "TenantProfilePatchRequest",
  "type": "object",
  "additionalProperties": false,
  "minProperties": 1,
  "properties": {
    "legal_name": {
      "type": "string",
      "minLength": 2
    },
    "display_name": {
      "type": "string",
      "minLength": 2
    },
    "business_summary": {
      "type": "string",
      "minLength": 8
    },
    "industry": {
      "type": "string",
      "minLength": 2
    },
    "website": {
      "type": "string",
      "format": "uri"
    },
    "support_email": {
      "type": "string",
      "format": "email"
    },
    "support_phone": {
      "type": "string",
      "minLength": 7
    },
    "hq": {
      "type": "object",
      "additionalProperties": false,
      "minProperties": 1,
      "properties": {
        "city": {
          "type": "string",
          "minLength": 2
        },
        "region": {
          "type": "string",
          "minLength": 2
        },
        "country": {
          "type": "string",
          "minLength": 2
        }
      }
    }
  }
}
tenant-resolve-request v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/tenant-resolve-request/v1/schema.json",
  "title": "TenantResolveRequest",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "host"
  ],
  "properties": {
    "host": {
      "type": "string",
      "minLength": 1
    },
    "path": {
      "type": "string"
    }
  }
}
tenant-resolve-response v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/tenant-resolve-response/v1/schema.json",
  "title": "TenantResolveResponse",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "tenant"
  ],
  "properties": {
    "tenant": {
      "$ref": "../../tenant/v1/schema.json"
    },
    "config": {
      "$ref": "../../tenant-config/v1/schema.json"
    }
  }
}
tenant-secret-metadata v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/tenant-secret-metadata/v1/schema.json",
  "title": "TenantSecretMetadata",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "id",
    "tenant_id",
    "name",
    "kind",
    "version",
    "created_at"
  ],
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1
    },
    "tenant_id": {
      "type": "string",
      "minLength": 1
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128
    },
    "kind": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64
    },
    "version": {
      "type": "integer",
      "minimum": 1
    },
    "key_id": {
      "type": "string"
    },
    "metadata": {
      "type": "object"
    },
    "created_at": {
      "type": "string",
      "format": "date-time"
    },
    "created_by_user_id": {
      "type": "string"
    },
    "revoked_at": {
      "type": "string",
      "format": "date-time"
    }
  }
}
tenant-secret-upsert-request v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/tenant-secret-upsert-request/v1/schema.json",
  "title": "TenantSecretUpsertRequest",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "name",
    "kind",
    "secret"
  ],
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128
    },
    "kind": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64
    },
    "secret": {
      "type": [
        "object",
        "string"
      ]
    },
    "metadata": {
      "type": "object"
    }
  }
}
tenant-update-request v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/tenant-update-request/v1/schema.json",
  "title": "TenantUpdateRequest",
  "type": "object",
  "additionalProperties": false,
  "minProperties": 1,
  "properties": {
    "business_name": {
      "type": "string",
      "minLength": 2
    },
    "profile": {
      "$ref": "../../tenant-profile-patch-request/v1/schema.json"
    }
  }
}
user v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/user/v1/schema.json",
  "title": "User",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "id",
    "email",
    "created_at"
  ],
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1
    },
    "email": {
      "type": "string",
      "format": "email"
    },
    "name": {
      "type": "string"
    },
    "created_at": {
      "type": "string",
      "format": "date-time"
    },
    "capabilities": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "platform_operations_access",
        "platform_roles"
      ],
      "properties": {
        "platform_operations_access": {
          "type": "boolean"
        },
        "platform_roles": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    }
  }
}
verification-start-request v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/verification-start-request/v1/schema.json",
  "title": "VerificationStartRequest",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "business_profile"
  ],
  "properties": {
    "trust_framework": {
      "type": "string",
      "minLength": 3
    },
    "requested_assurance_level": {
      "type": "string",
      "enum": [
        "basic",
        "standard",
        "enhanced",
        "premium"
      ]
    },
    "provider": {
      "type": "string",
      "minLength": 1
    },
    "business_profile": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "legal_name",
        "registration_number",
        "country",
        "address"
      ],
      "properties": {
        "legal_name": {
          "type": "string",
          "minLength": 1
        },
        "registration_number": {
          "type": "string",
          "minLength": 1
        },
        "country": {
          "type": "string",
          "minLength": 2
        },
        "tax_id": {
          "type": "string"
        },
        "website": {
          "type": "string",
          "format": "uri"
        },
        "phone": {
          "type": "string"
        },
        "address": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "line1",
            "city",
            "region",
            "postal_code",
            "country"
          ],
          "properties": {
            "line1": {
              "type": "string",
              "minLength": 1
            },
            "city": {
              "type": "string",
              "minLength": 1
            },
            "region": {
              "type": "string",
              "minLength": 1
            },
            "postal_code": {
              "type": "string",
              "minLength": 1
            },
            "country": {
              "type": "string",
              "minLength": 2
            }
          }
        }
      }
    }
  }
}
verification-start-response v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/verification-start-response/v1/schema.json",
  "title": "VerificationStartResponse",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "verification_id",
    "status",
    "provider"
  ],
  "properties": {
    "verification_id": {
      "type": "string",
      "minLength": 1
    },
    "status": {
      "type": "string",
      "enum": [
        "pending",
        "in_review",
        "approved",
        "rejected",
        "expired",
        "revoked"
      ]
    },
    "provider": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "name"
      ],
      "properties": {
        "name": {
          "type": "string",
          "minLength": 1
        },
        "provider_session_id": {
          "type": "string",
          "minLength": 1
        },
        "dashboard_url": {
          "type": "string",
          "format": "uri"
        }
      }
    }
  }
}
verification-status-response v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/verification-status-response/v1/schema.json",
  "title": "VerificationStatusResponse",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "verification_id",
    "status",
    "business_verification",
    "provider"
  ],
  "properties": {
    "verification_id": {
      "type": "string",
      "minLength": 1
    },
    "status": {
      "type": "string",
      "enum": [
        "pending",
        "in_review",
        "approved",
        "rejected",
        "expired",
        "revoked"
      ]
    },
    "verified_at": {
      "type": "string",
      "format": "date-time"
    },
    "expires_at": {
      "type": "string",
      "format": "date-time"
    },
    "business_verification": {
      "$ref": "../../../trust/business-verification/v1/schema.json"
    },
    "provider": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "name"
      ],
      "properties": {
        "name": {
          "type": "string",
          "minLength": 1
        },
        "provider_session_id": {
          "type": "string",
          "minLength": 1
        },
        "dashboard_url": {
          "type": "string",
          "format": "uri"
        }
      }
    }
  }
}
verification-validate-request v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/verification-validate-request/v1/schema.json",
  "title": "VerificationValidateRequest",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "bundle"
  ],
  "properties": {
    "bundle": {
      "$ref": "../../../trust/trust-proof-bundle/v1/schema.json"
    }
  }
}
verification-validate-response v1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/control-plane/verification-validate-response/v1/schema.json",
  "title": "VerificationValidateResponse",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "valid"
  ],
  "properties": {
    "valid": {
      "type": "boolean"
    },
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "string",
            "minLength": 1
          },
          "message": {
            "type": "string",
            "minLength": 1
          },
          "details": {
            "type": "object",
            "additionalProperties": true
          }
        }
      }
    }
  }
}

MCP Schemas

Model Context Protocol tool and manifest schemas

prompt-manifest v2
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/mcp/prompt-manifest/v2/schema.json",
  "title": "McpPromptManifest",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "schema_version",
    "prompts"
  ],
  "properties": {
    "schema_version": {
      "type": "string",
      "const": "v2"
    },
    "prompts": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "name",
          "version",
          "prompt"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "version": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "prompt": {
            "type": "string"
          }
        }
      }
    }
  }
}
resource-manifest v2
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/mcp/resource-manifest/v2/schema.json",
  "title": "McpResourceManifest",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "schema_version",
    "resources"
  ],
  "properties": {
    "schema_version": {
      "type": "string",
      "const": "v2"
    },
    "resources": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "name",
          "uri",
          "mime_type"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "uri": {
            "type": "string",
            "format": "uri"
          },
          "mime_type": {
            "type": "string"
          },
          "description": {
            "type": "string"
          }
        }
      }
    }
  }
}
tool-manifest v2
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/mcp/tool-manifest/v2/schema.json",
  "title": "McpToolManifest",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "schema_version",
    "tools"
  ],
  "properties": {
    "schema_version": {
      "type": "string",
      "const": "v2"
    },
    "tools": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "name",
          "version",
          "input_schema",
          "output_schema"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "version": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "input_schema": {
            "type": "string",
            "format": "uri"
          },
          "output_schema": {
            "type": "string",
            "format": "uri"
          }
        }
      }
    }
  }
}
tool-request v2
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/mcp/tool-request/v2/schema.json",
  "title": "McpToolRequest",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "jsonrpc",
    "method",
    "params"
  ],
  "properties": {
    "jsonrpc": {
      "type": "string",
      "const": "2.0"
    },
    "id": {},
    "method": {
      "type": "string",
      "const": "tools/call"
    },
    "params": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "name",
        "arguments"
      ],
      "properties": {
        "name": {
          "type": "string"
        },
        "arguments": {
          "type": "object",
          "additionalProperties": true
        }
      }
    }
  }
}
tool-response v2
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trustucp.xyz/contracts/jsonschema/mcp/tool-response/v2/schema.json",
  "title": "McpToolResponse",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "jsonrpc"
  ],
  "properties": {
    "jsonrpc": {
      "type": "string",
      "const": "2.0"
    },
    "id": {},
    "result": {},
    "error": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "integer"
        },
        "message": {
          "type": "string"
        }
      }
    }
  }
}