Control API reference
Source: docs/04-api/control-api/openapi.yaml
Download OpenAPI 3.1 · Authentication, errors, pagination and versioning
Security
{
"security": [
{
"bearerAuth": []
}
],
"securitySchemes": {
"bearerAuth": {
"type": "http",
"scheme": "bearer",
"bearerFormat": "JWT"
}
}
}- GET /v1/workspaces/{ws}/audit-records
- GET /v1/workspaces/{ws}/audit-records/{aud}
- GET /v1/workspaces/{ws}/correlations/{evt}/events
- GET /v1/workspaces/{ws}/domains
- POST /v1/workspaces/{ws}/domains
- GET /v1/workspaces/{ws}/domains/{dom}
- DELETE /v1/workspaces/{ws}/domains/{dom}
- POST /v1/workspaces/{ws}/domains/{dom}/verify
- GET /v1/workspaces/{ws}/outbox/dead-letters
- GET /v1/workspaces
- GET /v1/workspaces/{ws}/capability-invocations
- GET /v1/workspaces/{ws}/surfaces
- GET /v1/workspaces/{ws}/products/{prod}
- GET /v1/workspaces/{ws}/revisions/{rev}
- GET /v1/workspaces/{ws}/deployments/{dep}
- GET /v1/workspaces/{ws}/deployments
- GET /v1/workspaces/{ws}/revisions
- POST /v1/runner/capability-invocations
- POST /v1/platform/service-identities
- GET /v1/platform/service-identities/{svc}
- POST /v1/platform/service-identities/{svc}:revoke
- GET /v1/workspaces/{ws}/service-identities
- POST /v1/workspaces/{ws}/service-identities
- GET /v1/workspaces/{ws}/service-identities/{svc}
- DELETE /v1/workspaces/{ws}/service-identities/{svc}
- GET /v1/workspaces/{ws}/capability-invocations/{cap}
- GET /healthz
- GET /readyz
- GET /v1/workspaces/{ws}/releases
- POST /v1/workspaces/{ws}/releases
- GET /v1/workspaces/{ws}/releases/{rel}
- POST /v1/workspaces/{ws}/releases/{rel}/deployments
- POST /v1/workspaces/{ws}/products/{prod}/revisions/{rev}/fixes
- GET /v1/workspaces/{ws}/products/{prod}/revisions/{rev}/fixes/{fix}
- POST /v1/workspaces/{ws}/products/{prod}/revisions/{rev}/fixes/{fix}:approve
- POST /v1/workspaces/{ws}/products/{prod}/revisions/{rev}/fixes/{fix}:reject
- GET /v1/workspaces/{ws}/credentials
- POST /v1/workspaces/{ws}/credentials
- POST /v1/workspaces/{ws}/managed-resources
- GET /v1/workspaces/{ws}/managed-resources
- GET /v1/workspaces/{ws}/managed-resources/{mres}
- DELETE /v1/workspaces/{ws}/managed-resources/{mres}
- POST /v1/workspaces/{ws}/managed-resources/{mres}/detach
- POST /v1/workspaces/{ws}/managed-resources/{mres}/reattach
- POST /v1/workspaces/{ws}/provider-bindings
- GET /v1/workspaces/{ws}/provider-bindings
- DELETE /v1/workspaces/{ws}/provider-bindings/{bind}
- GET /v1/workspaces/{ws}/billing-profile
- PUT /v1/workspaces/{ws}/billing-profile
- POST /v1/workspaces/{ws}/wallet/checkout
- GET /v1/workspaces/{ws}/wallet/orders
- GET /v1/workspaces/{ws}/wallet/orders/{pay}
- GET /v1/workspaces/{ws}/subscription
- PUT /v1/workspaces/{ws}/subscription
- GET /v1/workspaces/{ws}/invoices
- POST /v1/payments/callbacks/{gateway}
- POST /v1/platform/wallets/{ws}/refunds
- GET /v1/workspaces/{ws}/wallet
- GET /v1/workspaces/{ws}/wallet/transactions
- POST /v1/platform/wallets/{ws}/grants
- PUT /v1/platform/wallets/{ws}/subscription
- GET /v1/platform/rate-cards
- PUT /v1/platform/rate-cards/{provider}/{model}
- GET /v1/platform/subscription-tiers
- PUT /v1/platform/subscription-tiers/{tier}
- GET /v1/workspaces/{ws}/plan
- PUT /v1/workspaces/{ws}/plan
- GET /v1/workspaces/{ws}/budgets
- PUT /v1/workspaces/{ws}/budgets/{category}
- POST /v1/workspaces/{ws}/uploads
- GET /v1/workspaces/{ws}/products
- POST /v1/workspaces/{ws}/products
- GET /v1/workspaces/{ws}/source-freezes/{frz}
- POST /v1/workspaces/{ws}/products/{prod}/revisions/{rev}/descriptor:confirm
- GET /v1/workspaces/{workspace_id}/revisions/{revision_id}/capability-contract
- POST /v1/workspaces/{ws}/revisions/{rev}/evaluations
- GET /v1/workspaces/{ws}/versions/{ver}
- GET /v1/workspaces/{ws}/revisions/{rev}/versions
- GET /v1/workspaces/{ws}/pipeline-runs/{pipe}
- POST /v1/workspaces/{ws}/revisions/{rev}/deployments
- GET /v1/workspaces/{ws}/surfaces/{srf}
- POST /v1/surfaces/{srf}/access
- POST /v1/sessions
- POST /v1/sessions/{ses}/invocations
- GET /v1/sessions/{ses}/invocations/{inv}
GET /v1/workspaces/{ws}/audit-records
List workspace audit records
{
"summary": "List workspace audit records",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "limit",
"in": "query",
"required": false,
"schema": {
"default": 50,
"type": "integer",
"minimum": 1,
"maximum": 200
}
},
{
"name": "cursor",
"in": "query",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "action",
"in": "query",
"required": false,
"schema": {
"type": "string",
"enum": [
"billing.payment_succeeded",
"billing.payment_failed",
"billing.refunded",
"billing.subscription_changed",
"billing.profile_changed",
"billing.invoice_issued",
"billing.granted",
"billing.adjusted",
"billing.tier_changed",
"billing.rate_card_updated",
"credential.created",
"credential.revoked",
"binding.requested",
"binding.ready",
"binding.failed",
"binding.revoked",
"binding.expired",
"service_identity.created",
"service_identity.revoked",
"service_identity.secret_rotated",
"member.upserted",
"member.role_changed",
"platform.bootstrapped",
"product.created",
"release.created",
"deployment.requested",
"deployment.ready",
"deployment.stopped",
"plan.changed",
"budget.changed",
"capability.denied",
"capability.output_blocked",
"capability.fallback",
"bridge.rejected",
"usage.denied",
"access.qualified",
"access.denied",
"access.revoked",
"isolation.unenforced_run",
"isolation.blocked",
"pending.resolved",
"fix.requested",
"fix.decided",
"adjudication.decided",
"authz.forbidden",
"authz.workspace_mismatch",
"audit.exported",
"audit.retention_deleted"
]
}
},
{
"name": "actor_id",
"in": "query",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "target_id",
"in": "query",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "correlation_id",
"in": "query",
"required": false,
"schema": {
"type": "string",
"pattern": "^(mres|ws|usr|prod|rev|ver|rel|env|dep|srf|acc|ses|inv|exe|evt|pend|ddl|ntf|pipe|fnd|qual|cred|bind|hdl|cap|svc|frz|adj|fix|upl|dom|wb|ctx|aud|pay|ivc|rfd)_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
}
},
{
"name": "since",
"in": "query",
"required": false,
"schema": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
}
},
{
"name": "until",
"in": "query",
"required": false,
"schema": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AuditRecords"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}GET /v1/workspaces/{ws}/audit-records/{aud}
Get a visible audit record
{
"summary": "Get a visible audit record",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "aud",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^aud_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AuditRecord"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}GET /v1/workspaces/{ws}/correlations/{evt}/events
Get correlation event headers without payload
{
"summary": "Get correlation event headers without payload",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "evt",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^evt_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CorrelationEvents"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}GET /v1/workspaces/{ws}/domains
List Domains
{
"summary": "List Domains",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "limit",
"in": "query",
"schema": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"default": 50
}
},
{
"name": "cursor",
"in": "query",
"schema": {
"type": "string",
"maxLength": 128
}
},
{
"name": "order",
"in": "query",
"schema": {
"type": "string",
"enum": [
"asc",
"desc"
],
"default": "desc"
}
},
{
"name": "product_id",
"in": "query",
"schema": {
"type": "string",
"pattern": "^prod_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Domains"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}POST /v1/workspaces/{ws}/domains
Create a custom domain (owner/admin)
{
"summary": "Create a custom domain (owner/admin)",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
}
],
"responses": {
"201": {
"description": "Domain created",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Domain"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Hostname already bound",
"content": {
"application/problem+json": {
"schema": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"title": {
"type": "string"
},
"status": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"detail": {
"type": "string"
},
"instance": {
"type": "string"
},
"code": {
"type": "string",
"enum": [
"domain_hostname_taken",
"validation_failed"
]
},
"correlation_id": {
"type": "string",
"pattern": "^evt_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"reason": {
"type": "string"
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"message": {
"type": "string"
}
},
"required": [
"path",
"message"
]
}
}
},
"required": [
"type",
"title",
"status",
"detail",
"instance",
"code",
"correlation_id"
]
}
}
}
},
"422": {
"description": "Validation or domain limit failed",
"content": {
"application/problem+json": {
"schema": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"title": {
"type": "string"
},
"status": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"detail": {
"type": "string"
},
"instance": {
"type": "string"
},
"code": {
"type": "string",
"enum": [
"domain_limit_exceeded",
"validation_failed"
]
},
"correlation_id": {
"type": "string",
"pattern": "^evt_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"reason": {
"type": "string"
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"message": {
"type": "string"
}
},
"required": [
"path",
"message"
]
}
}
},
"required": [
"type",
"title",
"status",
"detail",
"instance",
"code",
"correlation_id"
]
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
},
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"product_id": {
"type": "string",
"pattern": "^prod_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"environment_type": {
"type": "string",
"enum": [
"staging",
"production"
]
},
"hostname": {
"type": "string"
}
},
"required": [
"product_id",
"environment_type",
"hostname"
]
}
}
}
}
}GET /v1/workspaces/{ws}/domains/{dom}
Get a custom domain
{
"summary": "Get a custom domain",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "dom",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^dom_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Domain"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}DELETE /v1/workspaces/{ws}/domains/{dom}
Remove a custom domain (owner/admin)
{
"summary": "Remove a custom domain (owner/admin)",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "dom",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^dom_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
}
],
"responses": {
"204": {
"description": "Domain removed"
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}POST /v1/workspaces/{ws}/domains/{dom}/verify
Verify a custom domain (owner/admin)
{
"summary": "Verify a custom domain (owner/admin)",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "dom",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^dom_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
}
],
"responses": {
"202": {
"description": "Verification accepted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Domain"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"429": {
"description": "Rate limited",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}GET /v1/workspaces/{ws}/outbox/dead-letters
List outbox dead letters (owner/admin)
{
"summary": "List outbox dead letters (owner/admin)",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "limit",
"in": "query",
"schema": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"default": 50
}
},
{
"name": "cursor",
"in": "query",
"schema": {
"type": "string",
"maxLength": 128
}
},
{
"name": "order",
"in": "query",
"schema": {
"type": "string",
"enum": [
"asc",
"desc"
],
"default": "desc"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeadLetters"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}GET /v1/workspaces
List Workspaces
{
"summary": "List Workspaces",
"parameters": [
{
"name": "limit",
"in": "query",
"schema": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"default": 50
}
},
{
"name": "cursor",
"in": "query",
"schema": {
"type": "string",
"maxLength": 128
}
},
{
"name": "order",
"in": "query",
"schema": {
"type": "string",
"enum": [
"asc",
"desc"
],
"default": "desc"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Workspaces"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}GET /v1/workspaces/{ws}/capability-invocations
List CapabilityInvocations
{
"summary": "List CapabilityInvocations",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "limit",
"in": "query",
"schema": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"default": 50
}
},
{
"name": "cursor",
"in": "query",
"schema": {
"type": "string",
"maxLength": 128
}
},
{
"name": "order",
"in": "query",
"schema": {
"type": "string",
"enum": [
"asc",
"desc"
],
"default": "desc"
}
},
{
"name": "product_id",
"in": "query",
"schema": {
"type": "string",
"pattern": "^prod_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "outcome",
"in": "query",
"schema": {
"type": "string",
"enum": [
"requested",
"completed",
"denied",
"failed"
]
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CapabilityInvocations"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}GET /v1/workspaces/{ws}/surfaces
List Surfaces
{
"summary": "List Surfaces",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "limit",
"in": "query",
"schema": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"default": 50
}
},
{
"name": "cursor",
"in": "query",
"schema": {
"type": "string",
"maxLength": 128
}
},
{
"name": "order",
"in": "query",
"schema": {
"type": "string",
"enum": [
"asc",
"desc"
],
"default": "desc"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Surfaces"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}GET /v1/workspaces/{ws}/products/{prod}
Get a Product
{
"summary": "Get a Product",
"operationId": "getProduct",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "prod",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^prod_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Product"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}GET /v1/workspaces/{ws}/revisions/{rev}
Get a Revision
{
"summary": "Get a Revision",
"operationId": "getRevision",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "rev",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^rev_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RevisionDetail"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}GET /v1/workspaces/{ws}/deployments/{dep}
Get a Deployment
{
"summary": "Get a Deployment",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "dep",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^dep_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Deployment"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}GET /v1/workspaces/{ws}/deployments
List Deployments
{
"summary": "List Deployments",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "limit",
"in": "query",
"schema": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"default": 50
}
},
{
"name": "cursor",
"in": "query",
"schema": {
"type": "string",
"maxLength": 128
}
},
{
"name": "order",
"in": "query",
"schema": {
"type": "string",
"enum": [
"asc",
"desc"
],
"default": "desc"
}
},
{
"name": "revision_id",
"in": "query",
"schema": {
"type": "string",
"pattern": "^rev_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "release_id",
"in": "query",
"schema": {
"type": "string",
"pattern": "^rel_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Deployments"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}GET /v1/workspaces/{ws}/revisions
List Revisions
{
"summary": "List Revisions",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "limit",
"in": "query",
"schema": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"default": 50
}
},
{
"name": "cursor",
"in": "query",
"schema": {
"type": "string",
"maxLength": 128
}
},
{
"name": "order",
"in": "query",
"schema": {
"type": "string",
"enum": [
"asc",
"desc"
],
"default": "desc"
}
},
{
"name": "product_id",
"in": "query",
"schema": {
"type": "string",
"pattern": "^prod_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Revisions"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}POST /v1/runner/capability-invocations
Invoke a capability for an in-flight runner execution
{
"x-belld-audience": "runner",
"summary": "Invoke a capability for an in-flight runner execution",
"security": [
{
"bearerAuth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RunnerCapabilityRequest"
}
}
}
},
"responses": {
"200": {
"description": "H-361 capability result",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RunnerCapabilityResult"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}POST /v1/platform/service-identities
Create a platform service identity (ws_platform owner/admin)
{
"summary": "Create a platform service identity (ws_platform owner/admin)",
"parameters": [
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
},
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 256
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PlatformServiceIdentityRequest"
}
}
}
},
"responses": {
"201": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ServiceIdentityCreated"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}GET /v1/platform/service-identities/{svc}
Read platform service identity (ws_platform owner/admin)
{
"summary": "Read platform service identity (ws_platform owner/admin)",
"parameters": [
{
"name": "svc",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^svc_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ServiceIdentity"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}POST /v1/platform/service-identities/{svc}:revoke
Revoke platform service identity (ws_platform owner/admin)
{
"summary": "Revoke platform service identity (ws_platform owner/admin)",
"parameters": [
{
"name": "svc",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^svc_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ServiceIdentity"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}GET /v1/workspaces/{ws}/service-identities
List ServiceIdentities
{
"summary": "List ServiceIdentities",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "limit",
"in": "query",
"schema": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"default": 50
}
},
{
"name": "cursor",
"in": "query",
"schema": {
"type": "string",
"maxLength": 128
}
},
{
"name": "order",
"in": "query",
"schema": {
"type": "string",
"enum": [
"asc",
"desc"
],
"default": "desc"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ServiceIdentities"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}POST /v1/workspaces/{ws}/service-identities
Create a service identity (owner/admin); provider secret is returned once and omitted on replay
{
"summary": "Create a service identity (owner/admin); provider secret is returned once and omitted on replay",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
},
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 256
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkspaceServiceIdentityRequest"
}
}
}
},
"responses": {
"201": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ServiceIdentityCreated"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}GET /v1/workspaces/{ws}/service-identities/{svc}
Read service identity metadata (owner/admin)
{
"summary": "Read service identity metadata (owner/admin)",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "svc",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^svc_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ServiceIdentity"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}DELETE /v1/workspaces/{ws}/service-identities/{svc}
Permanently revoke a service identity (owner/admin)
{
"summary": "Permanently revoke a service identity (owner/admin)",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "svc",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^svc_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ServiceIdentity"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}GET /v1/workspaces/{ws}/capability-invocations/{cap}
Get a capability invocation and content summaries
{
"summary": "Get a capability invocation and content summaries",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "cap",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^cap_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CapabilityInvocation"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}GET /healthz
Health check
{
"summary": "Health check",
"security": [],
"parameters": [
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Health"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}GET /readyz
Readiness check
{
"summary": "Readiness check",
"security": [],
"parameters": [
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
}
],
"responses": {
"200": {
"description": "Ready or degraded",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Readiness"
}
}
}
},
"503": {
"description": "Not ready",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Readiness"
}
}
}
}
}
}GET /v1/workspaces/{ws}/releases
List Releases
{
"summary": "List Releases",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "limit",
"in": "query",
"schema": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"default": 50
}
},
{
"name": "cursor",
"in": "query",
"schema": {
"type": "string",
"maxLength": 128
}
},
{
"name": "order",
"in": "query",
"schema": {
"type": "string",
"enum": [
"asc",
"desc"
],
"default": "desc"
}
},
{
"name": "product_id",
"in": "query",
"schema": {
"type": "string",
"pattern": "^prod_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Releases"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}POST /v1/workspaces/{ws}/releases
Create and validate a staged Release
{
"summary": "Create and validate a staged Release",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
},
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 256
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReleaseCreateRequest"
}
}
}
},
"responses": {
"201": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Release"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}GET /v1/workspaces/{ws}/releases/{rel}
Get a Release
{
"summary": "Get a Release",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "rel",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^rel_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Release"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}POST /v1/workspaces/{ws}/releases/{rel}/deployments
Deploy a Release to staging
{
"summary": "Deploy a Release to staging",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "rel",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^rel_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
},
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 256
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReleaseDeploymentRequest"
}
}
}
},
"responses": {
"201": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReleaseDeployment"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}POST /v1/workspaces/{ws}/products/{prod}/revisions/{rev}/fixes
Request a fix for a failed build or startup check
{
"summary": "Request a fix for a failed build or startup check",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "prod",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^prod_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "rev",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^rev_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
},
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 256
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FixRequest"
}
}
}
},
"responses": {
"202": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FixRun"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}GET /v1/workspaces/{ws}/products/{prod}/revisions/{rev}/fixes/{fix}
Get fix evidence and reverify status
{
"summary": "Get fix evidence and reverify status",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "prod",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^prod_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "rev",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^rev_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "fix",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^fix_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FixRun"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}POST /v1/workspaces/{ws}/products/{prod}/revisions/{rev}/fixes/{fix}:approve
Approve a verified patch and create a new revision
{
"summary": "Approve a verified patch and create a new revision",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "prod",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^prod_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "rev",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^rev_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "fix",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^fix_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FixRun"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}POST /v1/workspaces/{ws}/products/{prod}/revisions/{rev}/fixes/{fix}:reject
Reject a fix candidate
{
"summary": "Reject a fix candidate",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "prod",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^prod_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "rev",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^rev_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "fix",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^fix_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FixRun"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}GET /v1/workspaces/{ws}/credentials
List Credentials
{
"summary": "List Credentials",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "limit",
"in": "query",
"schema": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"default": 50
}
},
{
"name": "cursor",
"in": "query",
"schema": {
"type": "string",
"maxLength": 128
}
},
{
"name": "order",
"in": "query",
"schema": {
"type": "string",
"enum": [
"asc",
"desc"
],
"default": "desc"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Credentials"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}POST /v1/workspaces/{ws}/credentials
Register a write-only encrypted credential (owner/admin)
{
"summary": "Register a write-only encrypted credential (owner/admin)",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^ws_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
{
"type": "string",
"const": "ws_platform"
}
]
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
},
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 256
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CredentialRequest"
}
}
}
},
"responses": {
"201": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Credential"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}POST /v1/workspaces/{ws}/managed-resources
Request a managed resource (owner/admin)
{
"summary": "Request a managed resource (owner/admin)",
"parameters": [
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
},
{
"name": "Idempotency-Key",
"in": "header",
"required": true,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 256
}
},
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ManagedResourceRequest"
}
}
}
},
"responses": {
"200": {
"description": "Existing resource",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ManagedResource"
}
}
}
},
"201": {
"description": "Created resource",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ManagedResource"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}GET /v1/workspaces/{ws}/managed-resources
List managed resources (member)
{
"summary": "List managed resources (member)",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "product_id",
"in": "query",
"schema": {
"type": "string"
}
},
{
"name": "environment_type",
"in": "query",
"schema": {
"type": "string",
"enum": [
"preview",
"staging",
"production"
]
}
},
{
"name": "kind",
"in": "query",
"schema": {
"type": "string",
"enum": [
"kv"
]
}
},
{
"name": "cursor",
"in": "query",
"schema": {
"type": "string",
"maxLength": 128
}
},
{
"name": "limit",
"in": "query",
"schema": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 50
}
},
{
"name": "order",
"in": "query",
"schema": {
"type": "string",
"enum": [
"asc",
"desc"
],
"default": "desc"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ManagedResources"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}GET /v1/workspaces/{ws}/managed-resources/{mres}
Get a managed resource (member)
{
"summary": "Get a managed resource (member)",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "mres",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^mres_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ManagedResource"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}DELETE /v1/workspaces/{ws}/managed-resources/{mres}
Delete a managed resource (owner/admin)
{
"summary": "Delete a managed resource (owner/admin)",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "mres",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^mres_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
}
],
"responses": {
"204": {
"description": "Resource deleted"
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}POST /v1/workspaces/{ws}/managed-resources/{mres}/detach
Detach a managed resource (owner/admin)
{
"summary": "Detach a managed resource (owner/admin)",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "mres",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^mres_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "Idempotency-Key",
"in": "header",
"required": true,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 256
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ManagedResource"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}POST /v1/workspaces/{ws}/managed-resources/{mres}/reattach
Reattach a managed resource (owner/admin)
{
"summary": "Reattach a managed resource (owner/admin)",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "mres",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^mres_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "Idempotency-Key",
"in": "header",
"required": true,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 256
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ManagedResource"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}POST /v1/workspaces/{ws}/provider-bindings
Create a scoped provider binding (owner/admin)
{
"summary": "Create a scoped provider binding (owner/admin)",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^ws_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
{
"type": "string",
"const": "ws_platform"
}
]
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
},
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 256
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProviderBindingRequest"
}
}
}
},
"responses": {
"200": {
"description": "Existing binding",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProviderBinding"
}
}
}
},
"201": {
"description": "Created binding",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProviderBinding"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}GET /v1/workspaces/{ws}/provider-bindings
List provider bindings (owner/admin)
{
"summary": "List provider bindings (owner/admin)",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^ws_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
{
"type": "string",
"const": "ws_platform"
}
]
}
},
{
"name": "limit",
"in": "query",
"schema": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"default": 50
}
},
{
"name": "cursor",
"in": "query",
"schema": {
"type": "string",
"maxLength": 128
}
},
{
"name": "order",
"in": "query",
"schema": {
"type": "string",
"enum": [
"asc",
"desc"
],
"default": "desc"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProviderBindings"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}DELETE /v1/workspaces/{ws}/provider-bindings/{bind}
Revoke a provider binding (owner/admin)
{
"summary": "Revoke a provider binding (owner/admin)",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^ws_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
{
"type": "string",
"const": "ws_platform"
}
]
}
},
{
"name": "bind",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^bind_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProviderBinding"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}GET /v1/workspaces/{ws}/billing-profile
Get billing profile (owner/admin)
{
"summary": "Get billing profile (owner/admin)",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BillingProfile"
}
}
}
},
"400": {
"description": "Payment operation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/PaymentProblem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Payment operation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/PaymentProblem"
}
}
}
},
"404": {
"description": "Payment operation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/PaymentProblem"
}
}
}
},
"409": {
"description": "Payment operation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/PaymentProblem"
}
}
}
},
"422": {
"description": "Payment operation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/PaymentProblem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Payment operation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/PaymentProblem"
}
}
}
}
}
}PUT /v1/workspaces/{ws}/billing-profile
Replace billing profile (owner)
{
"summary": "Replace billing profile (owner)",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
},
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 256
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BillingProfileWrite"
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BillingProfile"
}
}
}
},
"400": {
"description": "Payment operation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/PaymentProblem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Payment operation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/PaymentProblem"
}
}
}
},
"404": {
"description": "Payment operation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/PaymentProblem"
}
}
}
},
"409": {
"description": "Payment operation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/PaymentProblem"
}
}
}
},
"422": {
"description": "Payment operation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/PaymentProblem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Payment operation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/PaymentProblem"
}
}
}
}
}
}POST /v1/workspaces/{ws}/wallet/checkout
Checkout topup or subscription upgrade (owner)
{
"summary": "Checkout topup or subscription upgrade (owner)",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
},
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 256
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PaymentCheckout"
}
}
}
},
"responses": {
"201": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PaymentCheckoutResult"
}
}
}
},
"400": {
"description": "Payment operation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/PaymentProblem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Payment operation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/PaymentProblem"
}
}
}
},
"404": {
"description": "Payment operation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/PaymentProblem"
}
}
}
},
"409": {
"description": "Payment operation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/PaymentProblem"
}
}
}
},
"422": {
"description": "Payment operation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/PaymentProblem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Payment operation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/PaymentProblem"
}
}
}
}
}
}GET /v1/workspaces/{ws}/wallet/orders
List PaymentOrders
{
"summary": "List PaymentOrders",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "limit",
"in": "query",
"schema": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"default": 50
}
},
{
"name": "cursor",
"in": "query",
"schema": {
"type": "string",
"maxLength": 128
}
},
{
"name": "order",
"in": "query",
"schema": {
"type": "string",
"enum": [
"asc",
"desc"
],
"default": "desc"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PaymentOrders"
}
}
}
},
"400": {
"description": "Payment operation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/PaymentProblem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Payment operation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/PaymentProblem"
}
}
}
},
"404": {
"description": "Payment operation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/PaymentProblem"
}
}
}
},
"409": {
"description": "Payment operation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/PaymentProblem"
}
}
}
},
"422": {
"description": "Payment operation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/PaymentProblem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Payment operation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/PaymentProblem"
}
}
}
}
}
}GET /v1/workspaces/{ws}/wallet/orders/{pay}
Get payment order (owner/admin)
{
"summary": "Get payment order (owner/admin)",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "pay",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^pay_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PaymentOrder"
}
}
}
},
"400": {
"description": "Payment operation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/PaymentProblem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Payment operation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/PaymentProblem"
}
}
}
},
"404": {
"description": "Payment operation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/PaymentProblem"
}
}
}
},
"409": {
"description": "Payment operation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/PaymentProblem"
}
}
}
},
"422": {
"description": "Payment operation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/PaymentProblem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Payment operation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/PaymentProblem"
}
}
}
}
}
}GET /v1/workspaces/{ws}/subscription
Get subscription (owner/admin)
{
"summary": "Get subscription (owner/admin)",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PaymentSubscription"
}
}
}
},
"400": {
"description": "Payment operation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/PaymentProblem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Payment operation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/PaymentProblem"
}
}
}
},
"404": {
"description": "Payment operation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/PaymentProblem"
}
}
}
},
"409": {
"description": "Payment operation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/PaymentProblem"
}
}
}
},
"422": {
"description": "Payment operation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/PaymentProblem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Payment operation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/PaymentProblem"
}
}
}
}
}
}PUT /v1/workspaces/{ws}/subscription
Cancel renewal at cycle end; only free accepted (owner)
{
"summary": "Cancel renewal at cycle end; only free accepted (owner)",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
},
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 256
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PaymentSubscriptionWrite"
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PaymentSubscription"
}
}
}
},
"400": {
"description": "Payment operation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/PaymentProblem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Payment operation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/PaymentProblem"
}
}
}
},
"404": {
"description": "Payment operation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/PaymentProblem"
}
}
}
},
"409": {
"description": "Payment operation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/PaymentProblem"
}
}
}
},
"422": {
"description": "Payment operation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/PaymentProblem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Payment operation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/PaymentProblem"
}
}
}
}
}
}GET /v1/workspaces/{ws}/invoices
List Invoices
{
"summary": "List Invoices",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "limit",
"in": "query",
"schema": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"default": 50
}
},
{
"name": "cursor",
"in": "query",
"schema": {
"type": "string",
"maxLength": 128
}
},
{
"name": "order",
"in": "query",
"schema": {
"type": "string",
"enum": [
"asc",
"desc"
],
"default": "desc"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Invoices"
}
}
}
},
"400": {
"description": "Payment operation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/PaymentProblem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Payment operation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/PaymentProblem"
}
}
}
},
"404": {
"description": "Payment operation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/PaymentProblem"
}
}
}
},
"409": {
"description": "Payment operation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/PaymentProblem"
}
}
}
},
"422": {
"description": "Payment operation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/PaymentProblem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Payment operation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/PaymentProblem"
}
}
}
}
}
}POST /v1/payments/callbacks/{gateway}
Verify gateway callback and settle payment
{
"summary": "Verify gateway callback and settle payment",
"security": [],
"parameters": [
{
"name": "gateway",
"in": "path",
"required": true,
"schema": {
"type": "string",
"enum": [
"newebpay",
"ecpay"
]
}
}
],
"requestBody": {
"required": true,
"content": {
"application/x-www-form-urlencoded": {
"schema": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
}
}
},
"responses": {
"200": {
"description": "Accepted or replayed",
"content": {
"text/plain": {
"schema": {
"type": "string"
}
}
}
},
"400": {
"description": "Payment operation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/PaymentProblem"
}
}
}
},
"403": {
"description": "Payment operation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/PaymentProblem"
}
}
}
},
"404": {
"description": "Payment operation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/PaymentProblem"
}
}
}
},
"409": {
"description": "Payment operation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/PaymentProblem"
}
}
}
},
"422": {
"description": "Payment operation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/PaymentProblem"
}
}
}
},
"503": {
"description": "Payment operation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/PaymentProblem"
}
}
}
}
}
}POST /v1/platform/wallets/{ws}/refunds
Manually refund payment (platform administrator)
{
"summary": "Manually refund payment (platform administrator)",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
},
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 256
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PaymentRefundWrite"
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PaymentRefund"
}
}
}
},
"400": {
"description": "Payment operation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/PaymentProblem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Payment operation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/PaymentProblem"
}
}
}
},
"404": {
"description": "Payment operation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/PaymentProblem"
}
}
}
},
"409": {
"description": "Payment operation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/PaymentProblem"
}
}
}
},
"422": {
"description": "Payment operation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/PaymentProblem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Payment operation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/PaymentProblem"
}
}
}
}
}
}GET /v1/workspaces/{ws}/wallet
Get Bell Credit wallet
{
"summary": "Get Bell Credit wallet",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Wallet"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Wallet or resource not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/BillingProblem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed or provider default rate missing",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/BillingProblem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}GET /v1/workspaces/{ws}/wallet/transactions
List CreditTransactions
{
"summary": "List CreditTransactions",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "limit",
"in": "query",
"schema": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"default": 50
}
},
{
"name": "cursor",
"in": "query",
"schema": {
"type": "string",
"maxLength": 128
}
},
{
"name": "order",
"in": "query",
"schema": {
"type": "string",
"enum": [
"asc",
"desc"
],
"default": "desc"
}
},
{
"name": "since",
"in": "query",
"schema": {
"type": "string",
"pattern": "^rel_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "until",
"in": "query",
"schema": {
"type": "string",
"pattern": "^rel_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "category",
"in": "query",
"schema": {
"type": "string",
"pattern": "^rel_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreditTransactions"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Wallet or resource not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/BillingProblem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed or provider default rate missing",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/BillingProblem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}POST /v1/platform/wallets/{ws}/grants
Grant Bell Credit (platform administrator)
{
"summary": "Grant Bell Credit (platform administrator)",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
},
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 256
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreditGrant"
}
}
}
},
"responses": {
"201": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreditTransaction"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Wallet or resource not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/BillingProblem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed or provider default rate missing",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/BillingProblem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}PUT /v1/platform/wallets/{ws}/subscription
Set subscription (platform administrator)
{
"summary": "Set subscription (platform administrator)",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
},
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 256
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WalletSubscription"
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Wallet"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Wallet or resource not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/BillingProblem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed or provider default rate missing",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/BillingProblem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}GET /v1/platform/rate-cards
List RateCards
{
"summary": "List RateCards",
"parameters": [
{
"name": "limit",
"in": "query",
"schema": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"default": 50
}
},
{
"name": "cursor",
"in": "query",
"schema": {
"type": "string",
"maxLength": 128
}
},
{
"name": "order",
"in": "query",
"schema": {
"type": "string",
"enum": [
"asc",
"desc"
],
"default": "desc"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RateCards"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Wallet or resource not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/BillingProblem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed or provider default rate missing",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/BillingProblem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}PUT /v1/platform/rate-cards/{provider}/{model}
Append rate card version (platform administrator)
{
"summary": "Append rate card version (platform administrator)",
"parameters": [
{
"name": "provider",
"in": "path",
"required": true,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 256
}
},
{
"name": "model",
"in": "path",
"required": true,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 256
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
},
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 256
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RateCardWrite"
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RateCard"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Wallet or resource not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/BillingProblem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed or provider default rate missing",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/BillingProblem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}GET /v1/platform/subscription-tiers
List subscription tiers (platform administrator)
{
"summary": "List subscription tiers (platform administrator)",
"parameters": [
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SubscriptionTiers"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Wallet or resource not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/BillingProblem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed or provider default rate missing",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/BillingProblem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}PUT /v1/platform/subscription-tiers/{tier}
Set tier values (platform administrator)
{
"summary": "Set tier values (platform administrator)",
"parameters": [
{
"name": "tier",
"in": "path",
"required": true,
"schema": {
"type": "string",
"enum": [
"free",
"starter",
"pro"
]
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
},
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 256
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SubscriptionTierWrite"
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SubscriptionTier"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Wallet or resource not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/BillingProblem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed or provider default rate missing",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/BillingProblem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}GET /v1/workspaces/{ws}/plan
Get workspace plan and entitlements
{
"summary": "Get workspace plan and entitlements",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Plan"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}PUT /v1/workspaces/{ws}/plan
Set workspace plan (owner only)
{
"summary": "Set workspace plan (owner only)",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
},
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 256
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PlanRequest"
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Plan"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}GET /v1/workspaces/{ws}/budgets
List current UTC month budgets and usage
{
"summary": "List current UTC month budgets and usage",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Budgets"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}PUT /v1/workspaces/{ws}/budgets/{category}
Set category budget within plan ceiling (owner only)
{
"summary": "Set category budget within plan ceiling (owner only)",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "category",
"in": "path",
"required": true,
"schema": {
"type": "string",
"enum": [
"ai_tokens",
"runtime",
"provider_call",
"storage"
]
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
},
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 256
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BudgetRequest"
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Budget"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}POST /v1/workspaces/{ws}/uploads
Create a ZIP upload URL (15 minute TTL; signed Content-Length, maximum 200 MiB)
{
"summary": "Create a ZIP upload URL (15 minute TTL; signed Content-Length, maximum 200 MiB)",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
},
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 256
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UploadRequest"
}
}
}
},
"responses": {
"201": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Upload"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}GET /v1/workspaces/{ws}/products
List Products
{
"summary": "List Products",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "limit",
"in": "query",
"schema": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"default": 50
}
},
{
"name": "cursor",
"in": "query",
"schema": {
"type": "string",
"maxLength": 128
}
},
{
"name": "order",
"in": "query",
"schema": {
"type": "string",
"enum": [
"asc",
"desc"
],
"default": "desc"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Products"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}POST /v1/workspaces/{ws}/products
Queue a repository or ZIP source freeze
{
"summary": "Queue a repository or ZIP source freeze",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
},
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 256
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProductIntakeRequest"
}
}
}
},
"responses": {
"202": {
"description": "Source freeze pending",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SourceFreezeAccepted"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Source intake rejected",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SourceIntakeProblem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}GET /v1/workspaces/{ws}/source-freezes/{frz}
Read source freeze status
{
"summary": "Read source freeze status",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "frz",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^frz_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SourceFreeze"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}POST /v1/workspaces/{ws}/products/{prod}/revisions/{rev}/descriptor:confirm
Confirm the detected descriptor
{
"summary": "Confirm the detected descriptor",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "prod",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^prod_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "rev",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^rev_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
},
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 256
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DescriptorConfirmationRequest"
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Revision"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}GET /v1/workspaces/{workspace_id}/revisions/{revision_id}/capability-contract
Get the frozen Capability Contract or rejection
{
"summary": "Get the frozen Capability Contract or rejection",
"parameters": [
{
"name": "workspace_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "revision_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^rev_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
}
],
"responses": {
"200": {
"description": "Contract or rejection",
"content": {
"application/json": {
"schema": {
"oneOf": [
{
"$ref": "#/components/schemas/CapabilityContract"
},
{
"$ref": "#/components/schemas/CapabilityContractRejected"
}
]
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}POST /v1/workspaces/{ws}/revisions/{rev}/evaluations
Return the preview evaluation or request qualification
{
"summary": "Return the preview evaluation or request qualification",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "rev",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^rev_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
},
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 256
}
}
],
"requestBody": {
"required": false,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EvaluationRequest"
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PipelineRun"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}GET /v1/workspaces/{ws}/versions/{ver}
Get a qualified Version
{
"summary": "Get a qualified Version",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "ver",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ver_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Version"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}GET /v1/workspaces/{ws}/revisions/{rev}/versions
List VersionList
{
"summary": "List VersionList",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "rev",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^rev_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "limit",
"in": "query",
"schema": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"default": 50
}
},
{
"name": "cursor",
"in": "query",
"schema": {
"type": "string",
"maxLength": 128
}
},
{
"name": "order",
"in": "query",
"schema": {
"type": "string",
"enum": [
"asc",
"desc"
],
"default": "desc"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VersionList"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}GET /v1/workspaces/{ws}/pipeline-runs/{pipe}
Get a Pipeline Run
{
"summary": "Get a Pipeline Run",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "pipe",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^pipe_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PipelineRun"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}POST /v1/workspaces/{ws}/revisions/{rev}/deployments
Ensure and return the automatic preview Deployment
{
"summary": "Ensure and return the automatic preview Deployment",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "rev",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^rev_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
},
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 256
}
}
],
"requestBody": {
"required": false,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EnsureRequest"
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Deployment"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}GET /v1/workspaces/{ws}/surfaces/{srf}
Get a Surface
{
"summary": "Get a Surface",
"parameters": [
{
"name": "ws",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ws_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "srf",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^srf_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Surface"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}POST /v1/surfaces/{srf}/access
Qualify Consumer access to a Surface
{
"summary": "Qualify Consumer access to a Surface",
"parameters": [
{
"name": "srf",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^srf_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
},
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 256
}
}
],
"requestBody": {
"required": false,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AccessRequest"
}
}
}
},
"responses": {
"201": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Access"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}POST /v1/sessions
Expose the Session opened by access qualification
{
"summary": "Expose the Session opened by access qualification",
"parameters": [
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
},
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 256
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SessionCreateRequest"
}
}
}
},
"responses": {
"201": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Session"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}POST /v1/sessions/{ses}/invocations
Create a Consumer Invocation
{
"summary": "Create a Consumer Invocation",
"parameters": [
{
"name": "ses",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ses_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
},
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 256
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/InvocationCreateRequest"
}
}
}
},
"responses": {
"201": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Invocation"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}GET /v1/sessions/{ses}/invocations/{inv}
Get admission and execution presentation for an Invocation
{
"summary": "Get admission and execution presentation for an Invocation",
"parameters": [
{
"name": "ses",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^ses_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "inv",
"in": "path",
"required": true,
"schema": {
"type": "string",
"pattern": "^inv_[0-7][0-9a-hjkmnp-tv-z]{25}$"
}
},
{
"name": "X-Correlation-Id",
"in": "header",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Invocation"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"401": {
"description": "Unauthenticated",
"headers": {
"WWW-Authenticate": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"422": {
"description": "Validation failed",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
},
"503": {
"description": "Unavailable",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}Components
securitySchemes
bearerAuth
{
"type": "http",
"scheme": "bearer",
"bearerFormat": "JWT"
}schemas
SourceFreezeAccepted
{
"type": "object",
"properties": {
"source_freeze_id": {
"type": "string",
"pattern": "^frz_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"status": {
"type": "string",
"const": "pending"
},
"product_id": {
"type": "string",
"pattern": "^prod_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"links": {
"type": "object",
"properties": {
"self": {
"type": "string"
}
},
"required": [
"self"
]
}
},
"required": [
"source_freeze_id",
"status",
"product_id",
"links"
]
}SourceFreeze
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"pending",
"frozen",
"rejected",
"failed"
]
},
"provenance": {
"oneOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "repository"
},
"repo_url": {
"type": "string"
},
"ref": {
"type": "string"
},
"commit_sha": {
"type": "string",
"pattern": "^[0-9a-f]{40}$"
}
},
"required": [
"kind",
"repo_url",
"ref",
"commit_sha"
]
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "archive"
},
"upload_id": {
"type": "string",
"pattern": "^upl_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"sha256": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
}
},
"required": [
"kind",
"upload_id",
"sha256"
]
}
]
},
"product": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^prod_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"workspace_id": {
"type": "string",
"pattern": "^ws_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"type": {
"type": "string",
"const": "hosted-app"
},
"created_at": {
"$ref": "#/$defs/__schema0"
}
},
"required": [
"id",
"workspace_id",
"type",
"created_at"
]
},
"revision": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^rev_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"product_id": {
"type": "string",
"pattern": "^prod_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"input_type": {
"type": "string",
"enum": [
"repository",
"archive"
]
},
"created_at": {
"$ref": "#/$defs/__schema0"
}
},
"required": [
"id",
"product_id",
"input_type",
"created_at"
]
},
"snapshot": {
"type": "object",
"properties": {
"uri": {
"type": "string",
"minLength": 1
},
"sha256": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
},
"size_bytes": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"uri",
"sha256",
"size_bytes"
]
},
"replayed": {
"type": "boolean"
},
"rejection": {
"oneOf": [
{
"type": "object",
"properties": {
"code": {
"type": "string",
"enum": [
"size_limit",
"file_count_limit",
"depth_limit",
"file_size_limit",
"path_length",
"traversal",
"symlink_escape",
"ref_not_found",
"host_not_allowed",
"private_source_unsupported",
"fetch_timeout",
"fetch_failed",
"archive_bomb",
"nested_archive",
"archive_invalid",
"upload_mismatch"
]
},
"detail": {
"type": "object",
"properties": {
"actual": {
"type": "number"
},
"limit": {
"type": "number"
}
},
"required": [
"actual",
"limit"
]
}
},
"required": [
"code"
]
},
{
"type": "object",
"properties": {
"code": {
"type": "string",
"const": "credential_in_descriptor"
},
"detail": {
"type": "object",
"properties": {
"field": {
"type": "string"
}
},
"required": [
"field"
]
}
},
"required": [
"code"
]
}
]
},
"problem": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"title": {
"type": "string"
},
"status": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"detail": {
"type": "string"
},
"instance": {
"type": "string"
},
"code": {
"type": "string",
"enum": [
"bad_request",
"unauthenticated",
"forbidden",
"not_found",
"conflict",
"validation_failed",
"rate_limited",
"internal",
"unavailable"
]
},
"correlation_id": {
"type": "string",
"pattern": "^evt_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"reason": {
"type": "string"
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"code": {
"type": "string"
},
"retryable": {
"type": "boolean"
},
"message": {
"type": "string"
}
},
"required": [
"path"
]
}
}
},
"required": [
"type",
"title",
"status",
"detail",
"instance",
"code",
"correlation_id"
]
}
},
"required": [
"status"
],
"$defs": {
"__schema0": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
}
}
}SourceIntakeProblem
{
"type": "object",
"properties": {
"type": {
"type": "string"
},
"title": {
"type": "string"
},
"status": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"detail": {
"type": "string"
},
"instance": {
"type": "string"
},
"code": {
"type": "string",
"enum": [
"bad_request",
"unauthenticated",
"forbidden",
"not_found",
"conflict",
"validation_failed",
"rate_limited",
"internal",
"unavailable"
]
},
"correlation_id": {
"type": "string",
"pattern": "^evt_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"reason": {
"type": "string"
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"code": {
"type": "string"
},
"retryable": {
"type": "boolean"
},
"message": {
"type": "string"
}
},
"required": [
"path"
]
}
}
},
"required": [
"type",
"title",
"status",
"detail",
"instance",
"code",
"correlation_id"
]
}ReleaseCreateRequest
{
"type": "object",
"properties": {
"product_id": {
"type": "string",
"pattern": "^prod_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"version_id": {
"type": "string",
"pattern": "^ver_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"channel": {
"type": "string",
"const": "staged"
},
"audience": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"internal",
"workspace",
"custom"
]
}
},
"required": [
"kind"
]
},
"window": {
"type": "object",
"properties": {
"starts_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"ends_at": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
}
},
"required": [
"starts_at",
"ends_at"
]
}
},
"required": [
"product_id",
"version_id",
"channel",
"audience",
"window"
]
}Release
{
"type": "object",
"properties": {
"product_id": {
"type": "string",
"pattern": "^prod_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"version_id": {
"type": "string",
"pattern": "^ver_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"channel": {
"type": "string",
"enum": [
"preview_internal",
"staged",
"production"
]
},
"audience": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"internal",
"workspace",
"custom"
]
}
},
"required": [
"kind"
]
},
"window": {
"type": "object",
"properties": {
"starts_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"ends_at": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
}
},
"required": [
"starts_at",
"ends_at"
]
},
"id": {
"type": "string",
"pattern": "^rel_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"workspace_id": {
"type": "string",
"pattern": "^ws_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"status": {
"type": "string",
"enum": [
"draft",
"ready",
"live",
"retired",
"blocked",
"pending_approval"
]
},
"frozen_at": {
"anyOf": [
{
"$ref": "#/$defs/__schema0"
},
{
"type": "null"
}
]
},
"reason_code": {
"type": [
"string",
"null"
]
},
"created_at": {
"$ref": "#/$defs/__schema0"
},
"updated_at": {
"$ref": "#/$defs/__schema0"
}
},
"required": [
"product_id",
"version_id",
"channel",
"audience",
"window",
"id",
"workspace_id",
"status",
"frozen_at",
"reason_code",
"created_at",
"updated_at"
],
"$defs": {
"__schema0": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
}
}
}ReleaseDeploymentRequest
{
"type": "object",
"properties": {
"environment_type": {
"default": "staging",
"type": "string",
"const": "staging"
}
}
}ReleaseDeployment
{
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^dep_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"workspace_id": {
"type": "string",
"pattern": "^ws_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"product_id": {
"type": "string",
"pattern": "^prod_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"revision_id": {
"type": "string",
"pattern": "^rev_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"pipeline_run_id": {
"type": "string",
"pattern": "^pipe_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"environment_id": {
"type": "string",
"pattern": "^env_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"environment_type": {
"type": "string",
"const": "staging"
},
"slot": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"planned",
"applying",
"active",
"superseded",
"blocked",
"failed"
]
},
"reason_code": {
"type": "string"
},
"required_isolation_profile": {
"type": "string",
"const": "isolated-vm"
},
"egress": {
"type": "string",
"const": "deny"
},
"isolation": {
"type": "object",
"properties": {
"profile": {
"type": "string",
"const": "isolated-vm"
},
"enforced": {
"type": "boolean"
}
},
"required": [
"profile",
"enforced"
]
},
"health": {
"type": "object",
"properties": {
"checked_at": {
"$ref": "#/$defs/__schema0"
},
"attempts": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"latency_ms": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"checked_at",
"attempts",
"latency_ms"
]
},
"endpoint": {
"type": "object",
"properties": {
"address": {
"type": "string",
"minLength": 1
}
},
"required": [
"address"
]
},
"superseded_deployment_id": {
"anyOf": [
{
"type": "string",
"pattern": "^dep_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
{
"type": "null"
}
]
},
"surface_id": {
"type": "string",
"pattern": "^srf_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"findings": {
"type": "array",
"items": {
"type": "object",
"properties": {
"kind": {
"type": "string"
},
"severity": {
"type": "string"
},
"code": {
"type": "string"
},
"message": {
"type": "string"
}
},
"required": [
"kind",
"severity",
"code",
"message"
]
}
},
"created_at": {
"$ref": "#/$defs/__schema0"
},
"updated_at": {
"$ref": "#/$defs/__schema0"
},
"source": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "release"
},
"release_id": {
"type": "string",
"pattern": "^rel_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"version_id": {
"type": "string",
"pattern": "^ver_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
}
},
"required": [
"kind",
"release_id",
"version_id"
]
}
},
"required": [
"id",
"workspace_id",
"product_id",
"revision_id",
"environment_type",
"slot",
"status",
"required_isolation_profile",
"egress",
"findings",
"created_at",
"updated_at",
"source"
],
"$defs": {
"__schema0": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
}
}
}CapabilityContract
{
"type": "object",
"properties": {
"product_id": {
"type": "string",
"pattern": "^prod_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"revision_id": {
"type": "string",
"pattern": "^rev_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"workspace_id": {
"type": "string",
"pattern": "^ws_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"capabilities": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"const": "ai.generate"
},
"required": {
"$ref": "#/$defs/__schema0"
},
"actions": {
"minItems": 1,
"type": "array",
"items": {
"$ref": "#/$defs/__schema1"
}
},
"scope": {
"type": "object",
"properties": {
"models": {
"minItems": 1,
"type": "array",
"items": {
"$ref": "#/$defs/__schema2"
}
},
"max_tokens_per_call": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"models",
"max_tokens_per_call"
]
},
"credential_owner": {
"$ref": "#/$defs/__schema3"
},
"provider": {
"$ref": "#/$defs/__schema4"
}
},
"required": [
"id",
"required",
"actions",
"scope",
"credential_owner",
"provider"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"const": "storage.object"
},
"required": {
"$ref": "#/$defs/__schema0"
},
"actions": {
"minItems": 1,
"type": "array",
"items": {
"$ref": "#/$defs/__schema5"
}
},
"scope": {
"type": "object",
"properties": {
"prefix": {
"type": "string",
"pattern": "^\\/(?!.*\\.\\.).*$"
},
"max_object_bytes": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"prefix",
"max_object_bytes"
]
},
"credential_owner": {
"$ref": "#/$defs/__schema3"
},
"provider": {
"$ref": "#/$defs/__schema4"
}
},
"required": [
"id",
"required",
"actions",
"scope",
"credential_owner",
"provider"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"const": "data.kv"
},
"required": {
"$ref": "#/$defs/__schema0"
},
"actions": {
"minItems": 1,
"type": "array",
"items": {
"$ref": "#/$defs/__schema6"
}
},
"scope": {
"type": "object",
"properties": {
"prefix": {
"type": "string",
"pattern": "^\\/(?!.*\\.\\.).*$"
},
"max_value_bytes": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 65536
},
"max_keys": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
}
},
"required": [
"prefix",
"max_value_bytes",
"max_keys"
]
},
"credential_owner": {
"type": "string",
"const": "platform"
},
"provider": {
"type": "object",
"properties": {
"allow": {
"minItems": 1,
"maxItems": 1,
"type": "array",
"items": {
"$ref": "#/$defs/__schema7"
}
},
"prefer": {
"type": "string",
"const": "platform"
},
"fallback": {
"type": "string",
"const": "none"
}
},
"required": [
"allow",
"fallback"
]
}
},
"required": [
"id",
"required",
"actions",
"scope",
"credential_owner",
"provider"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"const": "email.send"
},
"required": {
"$ref": "#/$defs/__schema0"
},
"actions": {
"minItems": 1,
"type": "array",
"items": {
"$ref": "#/$defs/__schema8"
}
},
"scope": {
"type": "object",
"properties": {
"from_addresses": {
"minItems": 1,
"maxItems": 32,
"type": "array",
"items": {
"$ref": "#/$defs/__schema9"
}
},
"recipient_domains": {
"minItems": 1,
"maxItems": 32,
"type": "array",
"items": {
"$ref": "#/$defs/__schema10"
}
},
"max_recipients": {
"type": "integer",
"minimum": 1,
"maximum": 50
},
"max_message_bytes": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 1048576
}
},
"required": [
"from_addresses",
"recipient_domains",
"max_recipients",
"max_message_bytes"
]
},
"credential_owner": {
"$ref": "#/$defs/__schema3"
},
"provider": {
"$ref": "#/$defs/__schema4"
}
},
"required": [
"id",
"required",
"actions",
"scope",
"credential_owner",
"provider"
]
}
]
}
},
"contract_hash": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
},
"confirmed_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"id": {
"type": "string",
"pattern": "^rev_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"created_at": {
"$ref": "#/$defs/__schema11"
},
"updated_at": {
"$ref": "#/$defs/__schema11"
}
},
"required": [
"product_id",
"revision_id",
"workspace_id",
"capabilities",
"contract_hash",
"confirmed_at",
"id",
"created_at",
"updated_at"
],
"$defs": {
"__schema0": {
"type": "boolean"
},
"__schema1": {
"type": "string",
"enum": [
"generate"
]
},
"__schema2": {
"type": "string",
"enum": [
"text",
"embedding"
]
},
"__schema3": {
"type": "string",
"const": "workspace"
},
"__schema4": {
"type": "object",
"properties": {
"allow": {
"type": "array",
"items": {
"type": "string"
}
},
"prefer": {
"type": "string"
},
"fallback": {
"type": "string",
"enum": [
"none",
"listed"
]
}
},
"required": [
"allow",
"fallback"
]
},
"__schema5": {
"type": "string",
"enum": [
"read",
"write",
"delete",
"list"
]
},
"__schema6": {
"type": "string",
"enum": [
"get",
"set",
"delete",
"list",
"increment"
]
},
"__schema7": {
"type": "string",
"const": "platform"
},
"__schema8": {
"type": "string",
"enum": [
"send"
]
},
"__schema9": {
"type": "string",
"maxLength": 254,
"pattern": "^(?!.*[A-Z])(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[ !#-[\\]-~]|\\\\[ -~])*\")@(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)*[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$"
},
"__schema10": {
"type": "string",
"maxLength": 253,
"pattern": "^(?:\\*|(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)*[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)$"
},
"__schema11": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
}
}
}PlanRequest
{
"type": "object",
"properties": {
"plan": {
"type": "string",
"enum": [
"free",
"team",
"enterprise"
]
}
},
"required": [
"plan"
]
}Plan
{
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^ws_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"workspace_id": {
"type": "string",
"pattern": "^ws_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"plan": {
"type": "string",
"enum": [
"free",
"team",
"enterprise"
]
},
"entitlements": {
"type": "object",
"properties": {
"ai_tokens": {
"type": "boolean"
},
"runtime": {
"type": "boolean"
},
"provider_call": {
"type": "boolean"
},
"storage": {
"type": "boolean"
}
},
"required": [
"ai_tokens",
"runtime",
"provider_call",
"storage"
]
},
"created_at": {
"$ref": "#/$defs/__schema0"
},
"updated_at": {
"$ref": "#/$defs/__schema0"
}
},
"required": [
"id",
"workspace_id",
"plan",
"entitlements",
"created_at",
"updated_at"
],
"$defs": {
"__schema0": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
}
}
}BudgetRequest
{
"type": "object",
"properties": {
"limit_units": {
"anyOf": [
{
"type": "number",
"minimum": 0
},
{
"type": "null"
}
]
}
},
"required": [
"limit_units"
]
}Budget
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"workspace_id": {
"type": "string",
"pattern": "^ws_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"usage_category": {
"type": "string",
"enum": [
"ai_tokens",
"runtime",
"provider_call",
"storage"
]
},
"month": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}$"
},
"limit_units": {
"anyOf": [
{
"type": "number",
"minimum": 0
},
{
"type": "null"
}
]
},
"used_units": {
"type": "number",
"minimum": 0
},
"reserved_units": {
"type": "number",
"minimum": 0
},
"created_at": {
"$ref": "#/$defs/__schema0"
},
"updated_at": {
"$ref": "#/$defs/__schema0"
}
},
"required": [
"id",
"workspace_id",
"usage_category",
"month",
"limit_units",
"used_units",
"reserved_units",
"created_at",
"updated_at"
],
"$defs": {
"__schema0": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
}
}
}Budgets
{
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"workspace_id": {
"type": "string",
"pattern": "^ws_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"usage_category": {
"type": "string",
"enum": [
"ai_tokens",
"runtime",
"provider_call",
"storage"
]
},
"month": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}$"
},
"limit_units": {
"anyOf": [
{
"type": "number",
"minimum": 0
},
{
"type": "null"
}
]
},
"used_units": {
"type": "number",
"minimum": 0
},
"reserved_units": {
"type": "number",
"minimum": 0
},
"created_at": {
"$ref": "#/$defs/__schema0"
},
"updated_at": {
"$ref": "#/$defs/__schema0"
}
},
"required": [
"id",
"workspace_id",
"usage_category",
"month",
"limit_units",
"used_units",
"reserved_units",
"created_at",
"updated_at"
]
}
},
"next_cursor": {
"type": "null"
}
},
"required": [
"items",
"next_cursor"
],
"$defs": {
"__schema0": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
}
}
}Health
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"ok",
"ready"
]
}
},
"required": [
"status"
]
}ProductIntakeRequest
{
"oneOf": [
{
"type": "object",
"properties": {
"repo_url": {
"type": "string",
"minLength": 1
},
"ref": {
"type": "string",
"minLength": 1,
"maxLength": 256
},
"auth": {
"oneOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "none"
}
},
"required": [
"kind"
]
}
]
},
"product_type": {
"type": "string",
"const": "hosted-app"
},
"input_type": {
"type": "string",
"const": "repository"
}
},
"required": [
"repo_url",
"ref",
"auth"
]
},
{
"type": "object",
"properties": {
"input_type": {
"type": "string",
"const": "archive"
},
"archive": {
"type": "object",
"properties": {
"upload_id": {
"type": "string",
"pattern": "^upl_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
}
},
"required": [
"upload_id"
]
},
"product_type": {
"type": "string",
"const": "hosted-app"
}
},
"required": [
"input_type",
"archive"
]
}
]
}UploadRequest
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "archive"
},
"size_bytes": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 209715200
},
"sha256": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
}
},
"required": [
"kind",
"size_bytes",
"sha256"
]
}Upload
{
"type": "object",
"properties": {
"upload_id": {
"type": "string",
"pattern": "^upl_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"put_url": {
"type": "string",
"format": "uri"
},
"expires_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
}
},
"required": [
"upload_id",
"put_url",
"expires_at"
]
}DescriptorConfirmationRequest
{
"type": "object",
"properties": {
"edits": {
"type": "object",
"properties": {
"build_plan": {
"type": "object",
"properties": {
"install": {
"type": "object",
"properties": {
"command": {
"type": [
"string",
"null"
]
}
},
"required": [
"command"
],
"additionalProperties": false
},
"build": {
"type": "object",
"properties": {
"command": {
"type": [
"string",
"null"
]
}
},
"required": [
"command"
],
"additionalProperties": false
},
"start": {
"type": "object",
"properties": {
"command": {
"type": "string"
}
},
"required": [
"command"
],
"additionalProperties": false
},
"health": {
"type": "object",
"properties": {
"path": {
"type": "string",
"pattern": "^\\/.*"
}
},
"required": [
"path"
],
"additionalProperties": false
}
},
"additionalProperties": false
},
"runtime": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "node"
},
"version": {
"type": "string",
"minLength": 1
}
},
"required": [
"kind",
"version"
]
},
"entrypoint": {
"type": "object",
"properties": {
"command": {
"type": "string",
"minLength": 1
},
"args": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"command",
"args"
]
},
"ports": {
"type": "array",
"items": {
"type": "object",
"properties": {
"port": {
"type": "integer",
"minimum": 1,
"maximum": 65535
},
"protocol": {
"type": "string",
"const": "http"
}
},
"required": [
"port",
"protocol"
]
}
}
}
}
}
}EnsureRequest
{
"type": "object",
"properties": {}
}EvaluationRequest
{
"type": "object",
"properties": {
"intent": {
"type": "string",
"enum": [
"preview",
"qualification"
]
}
}
}AccessRequest
{
"type": "object",
"properties": {}
}SessionCreateRequest
{
"type": "object",
"properties": {
"surface_id": {
"type": "string",
"pattern": "^srf_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
}
},
"required": [
"surface_id"
]
}InvocationCreateRequest
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "http_request"
},
"method": {
"type": "string",
"enum": [
"GET",
"POST",
"PUT",
"PATCH",
"DELETE",
"HEAD",
"OPTIONS"
]
},
"path": {
"type": "string",
"minLength": 1,
"maxLength": 2048,
"pattern": "^\\/[^?#]*$"
},
"query_evidence": {
"$ref": "#/$defs/__schema0"
},
"body_evidence": {
"anyOf": [
{
"$ref": "#/$defs/__schema0"
},
{
"type": "null"
}
]
}
},
"required": [
"kind",
"method",
"path",
"body_evidence"
],
"$defs": {
"__schema0": {
"type": "object",
"properties": {
"uri": {
"type": "string",
"minLength": 1
},
"sha256": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
},
"size_bytes": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"uri",
"sha256",
"size_bytes"
]
}
}
}Product
{
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^prod_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"workspace_id": {
"type": "string",
"pattern": "^ws_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"type": {
"type": "string",
"const": "hosted-app"
},
"input_revision_id": {
"type": "string",
"pattern": "^rev_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"created_at": {
"$ref": "#/$defs/__schema0"
},
"updated_at": {
"$ref": "#/$defs/__schema0"
}
},
"required": [
"id",
"workspace_id",
"type",
"input_revision_id",
"created_at",
"updated_at"
],
"$defs": {
"__schema0": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
}
}
}Revision
{
"type": "object",
"properties": {
"capability_contract": {
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "rejected"
},
"reason": {
"type": "string",
"enum": [
"unknown_capability",
"unknown_action",
"scope_invalid",
"scope_widened",
"owner_not_supported",
"contract_too_large"
]
}
},
"required": [
"status",
"reason"
]
},
"id": {
"type": "string",
"pattern": "^rev_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"workspace_id": {
"type": "string",
"pattern": "^ws_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"product_id": {
"type": "string",
"pattern": "^prod_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"input_revision_id": {
"type": "string",
"pattern": "^rev_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"product_type": {
"type": "string",
"const": "hosted-app"
},
"descriptor": {
"type": "object",
"properties": {
"build_plan": {
"type": "object",
"properties": {
"runtime": {
"$ref": "#/$defs/__schema0"
},
"workdir": {
"$ref": "#/$defs/__schema1"
},
"install": {
"$ref": "#/$defs/__schema2"
},
"build": {
"$ref": "#/$defs/__schema3"
},
"start": {
"$ref": "#/$defs/__schema4"
},
"port": {
"$ref": "#/$defs/__schema5"
},
"health": {
"$ref": "#/$defs/__schema6"
},
"env": {
"$ref": "#/$defs/__schema7"
}
},
"required": [
"runtime",
"workdir",
"install",
"build",
"start",
"port",
"health",
"env"
]
},
"runtime": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"node",
"shell"
]
},
"version": {
"type": [
"string",
"null"
]
}
},
"required": [
"kind",
"version"
]
},
"entrypoint": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"args": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"command",
"args"
]
},
"ports": {
"type": "array",
"items": {
"type": "object",
"properties": {
"port": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"protocol": {
"type": "string",
"const": "http"
}
},
"required": [
"port",
"protocol"
]
}
},
"field_sources": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string",
"enum": [
"detected",
"developer"
]
}
}
},
"required": [
"runtime",
"entrypoint",
"ports",
"field_sources"
]
},
"descriptor_hash": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
},
"confirmed_by": {
"type": "string",
"pattern": "^usr_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"created_at": {
"$ref": "#/$defs/__schema8"
},
"updated_at": {
"$ref": "#/$defs/__schema8"
}
},
"required": [
"id",
"workspace_id",
"product_id",
"input_revision_id",
"product_type",
"descriptor",
"descriptor_hash",
"confirmed_by",
"created_at",
"updated_at"
],
"$defs": {
"__schema0": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"node",
"shell"
]
},
"version": {
"type": [
"string",
"null"
]
}
},
"required": [
"kind",
"version"
]
},
"__schema1": {
"type": "string",
"pattern": "^\\/.*"
},
"__schema2": {
"type": "object",
"properties": {
"package_manager": {
"anyOf": [
{
"type": "string",
"enum": [
"pnpm",
"npm",
"yarn"
]
},
{
"type": "null"
}
]
},
"command": {
"type": [
"string",
"null"
]
}
},
"required": [
"package_manager",
"command"
]
},
"__schema3": {
"type": "object",
"properties": {
"command": {
"type": [
"string",
"null"
]
}
},
"required": [
"command"
]
},
"__schema4": {
"type": "object",
"properties": {
"command": {
"type": "string"
}
},
"required": [
"command"
]
},
"__schema5": {
"type": "integer",
"minimum": 1,
"maximum": 65535
},
"__schema6": {
"type": "object",
"properties": {
"path": {
"type": "string",
"pattern": "^\\/.*"
},
"timeout_ms": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"path",
"timeout_ms"
]
},
"__schema7": {
"type": "array",
"items": {
"type": "string",
"enum": [
"PORT",
"NODE_ENV"
]
}
},
"__schema8": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
}
}
}CapabilityContractRejected
{
"type": "object",
"properties": {
"capability_contract": {
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "rejected"
},
"reason": {
"type": "string",
"enum": [
"unknown_capability",
"unknown_action",
"scope_invalid",
"scope_widened",
"owner_not_supported",
"contract_too_large"
]
}
},
"required": [
"status",
"reason"
]
}
},
"required": [
"capability_contract"
]
}PipelineRun
{
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^pipe_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"workspace_id": {
"type": "string",
"pattern": "^ws_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"product_id": {
"type": "string",
"pattern": "^prod_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"revision_id": {
"type": "string",
"pattern": "^rev_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"intent": {
"type": "string",
"enum": [
"preview",
"qualification",
"reassessment",
"fix_reverify"
]
},
"status": {
"type": "string",
"enum": [
"pending_snapshot",
"authorization_requested",
"blocked",
"admitted",
"requested",
"reported",
"completed",
"failed",
"passed",
"warning",
"unsafe"
]
},
"reason_code": {
"type": "string"
},
"evidence": {
"default": [],
"type": "array",
"items": {
"type": "object",
"properties": {
"stage": {
"type": "string",
"enum": [
"build",
"scan",
"startup_check"
]
},
"log_evidence": {
"type": "object",
"properties": {
"uri": {
"type": "string",
"minLength": 1
},
"sha256": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
},
"size_bytes": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"uri",
"sha256",
"size_bytes"
]
}
},
"required": [
"stage",
"log_evidence"
]
}
},
"qualification": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"qualified",
"stopped"
]
},
"reason": {
"type": "string",
"enum": [
"missing_evidence",
"blocking_findings",
"verification_blocked"
]
},
"version_id": {
"type": "string",
"pattern": "^ver_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
}
},
"required": [
"status"
]
},
"findings": {
"type": "array",
"items": {
"type": "object",
"properties": {
"kind": {
"type": "string"
},
"severity": {
"type": "string"
},
"code": {
"type": "string"
},
"message": {
"type": "string"
}
},
"required": [
"kind",
"severity",
"code",
"message"
]
}
},
"created_at": {
"$ref": "#/$defs/__schema0"
},
"updated_at": {
"$ref": "#/$defs/__schema0"
}
},
"required": [
"id",
"workspace_id",
"revision_id",
"intent",
"status",
"findings",
"created_at",
"updated_at"
],
"$defs": {
"__schema0": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
}
}
}Version
{
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^ver_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"workspace_id": {
"type": "string",
"pattern": "^ws_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"revision_id": {
"type": "string",
"pattern": "^rev_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"product_id": {
"type": "string",
"pattern": "^prod_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"qualification_record_id": {
"type": "string",
"pattern": "^qual_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"pipeline_run_id": {
"type": "string",
"pattern": "^pipe_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"descriptor_hash": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
},
"artifact": {
"type": "object",
"properties": {
"uri": {
"$ref": "#/$defs/__schema0"
},
"sha256": {
"$ref": "#/$defs/__schema1"
},
"size_bytes": {
"$ref": "#/$defs/__schema2"
},
"kind": {
"type": "string",
"enum": [
"image",
"snapshot"
]
}
},
"required": [
"uri",
"sha256",
"size_bytes",
"kind"
]
},
"evidence": {
"type": "array",
"items": {
"type": "object",
"properties": {
"stage": {
"type": "string",
"enum": [
"build",
"scan",
"startup_check"
]
},
"log_evidence": {
"type": "object",
"properties": {
"uri": {
"$ref": "#/$defs/__schema0"
},
"sha256": {
"$ref": "#/$defs/__schema1"
},
"size_bytes": {
"$ref": "#/$defs/__schema2"
}
},
"required": [
"uri",
"sha256",
"size_bytes"
]
}
},
"required": [
"stage",
"log_evidence"
]
}
},
"qualified_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
}
},
"required": [
"id",
"workspace_id",
"revision_id",
"product_id",
"qualification_record_id",
"pipeline_run_id",
"descriptor_hash",
"evidence",
"qualified_at"
],
"$defs": {
"__schema0": {
"type": "string",
"minLength": 1
},
"__schema1": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
},
"__schema2": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
}Deployment
{
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^dep_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"workspace_id": {
"type": "string",
"pattern": "^ws_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"product_id": {
"type": "string",
"pattern": "^prod_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"revision_id": {
"type": "string",
"pattern": "^rev_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"pipeline_run_id": {
"type": "string",
"pattern": "^pipe_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"environment_id": {
"type": "string",
"pattern": "^env_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"environment_type": {
"type": "string",
"enum": [
"preview",
"staging",
"production"
]
},
"slot": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"planned",
"applying",
"active",
"superseded",
"blocked",
"failed"
]
},
"reason_code": {
"type": "string"
},
"required_isolation_profile": {
"type": "string",
"const": "isolated-vm"
},
"egress": {
"type": "string",
"const": "deny"
},
"isolation": {
"type": "object",
"properties": {
"profile": {
"type": "string",
"const": "isolated-vm"
},
"enforced": {
"type": "boolean"
}
},
"required": [
"profile",
"enforced"
]
},
"health": {
"type": "object",
"properties": {
"checked_at": {
"$ref": "#/$defs/__schema0"
},
"attempts": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"latency_ms": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"checked_at",
"attempts",
"latency_ms"
]
},
"endpoint": {
"type": "object",
"properties": {
"address": {
"type": "string",
"minLength": 1
}
},
"required": [
"address"
]
},
"superseded_deployment_id": {
"anyOf": [
{
"type": "string",
"pattern": "^dep_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
{
"type": "null"
}
]
},
"surface_id": {
"type": "string",
"pattern": "^srf_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"findings": {
"type": "array",
"items": {
"type": "object",
"properties": {
"kind": {
"type": "string"
},
"severity": {
"type": "string"
},
"code": {
"type": "string"
},
"message": {
"type": "string"
}
},
"required": [
"kind",
"severity",
"code",
"message"
]
}
},
"created_at": {
"$ref": "#/$defs/__schema0"
},
"updated_at": {
"$ref": "#/$defs/__schema0"
},
"source": {
"anyOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "revision"
}
},
"required": [
"kind"
]
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "release"
},
"release_id": {
"type": "string",
"pattern": "^rel_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"version_id": {
"type": "string",
"pattern": "^ver_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
}
},
"required": [
"kind",
"release_id",
"version_id"
]
}
]
}
},
"required": [
"id",
"workspace_id",
"product_id",
"revision_id",
"environment_type",
"slot",
"status",
"required_isolation_profile",
"egress",
"findings",
"created_at",
"updated_at"
],
"$defs": {
"__schema0": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
}
}
}Surface
{
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^srf_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"workspace_id": {
"type": "string",
"pattern": "^ws_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"product_id": {
"type": "string",
"pattern": "^prod_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"deployment_id": {
"type": "string",
"pattern": "^dep_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"environment_id": {
"type": "string",
"pattern": "^env_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"environment_type": {
"type": "string",
"enum": [
"preview",
"staging",
"production"
]
},
"surface_type": {
"type": "string",
"const": "web"
},
"status": {
"type": "string",
"enum": [
"awaiting_expiration_registration",
"validating",
"active",
"expiration_registration_failed",
"configuration_failed",
"expired"
]
},
"reason_code": {
"type": "string"
},
"url": {
"type": "string"
},
"route": {
"type": "object",
"properties": {
"host": {
"type": "string"
},
"path": {
"type": "string"
}
},
"required": [
"host",
"path"
]
},
"identity_requirement": {
"type": "string",
"const": "none"
},
"access_policy": {
"type": "string",
"const": "preview_direct"
},
"expires_at": {
"anyOf": [
{
"$ref": "#/$defs/__schema0"
},
{
"type": "null"
}
]
},
"deadline_id": {
"anyOf": [
{
"type": "string",
"pattern": "^ddl_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
{
"type": "null"
}
]
},
"reachability": {
"type": "object",
"properties": {
"checked_at": {
"$ref": "#/$defs/__schema0"
},
"status_code": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"latency_ms": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"checked_at",
"status_code",
"latency_ms"
]
},
"activated_at": {
"$ref": "#/$defs/__schema0"
},
"created_at": {
"$ref": "#/$defs/__schema0"
},
"updated_at": {
"$ref": "#/$defs/__schema0"
}
},
"required": [
"id",
"workspace_id",
"product_id",
"deployment_id",
"environment_id",
"environment_type",
"surface_type",
"status",
"identity_requirement",
"access_policy",
"expires_at",
"deadline_id",
"created_at",
"updated_at"
],
"$defs": {
"__schema0": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
}
}
}Access
{
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^acc_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"workspace_id": {
"type": "string",
"pattern": "^ws_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"account_id": {
"anyOf": [
{
"type": "string",
"pattern": "^usr_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
{
"type": "null"
}
]
},
"product_id": {
"type": "string",
"pattern": "^prod_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"surface_id": {
"type": "string",
"pattern": "^srf_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"deployment_id": {
"type": "string",
"pattern": "^dep_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"access_entry": {
"type": "string",
"const": "direct_surface"
},
"entitlement_source": {
"type": "string",
"const": "direct"
},
"expires_at": {
"$ref": "#/$defs/__schema0"
},
"session_id": {
"type": "string",
"pattern": "^ses_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"reused_existing_access": {
"type": "boolean"
},
"created_at": {
"$ref": "#/$defs/__schema0"
},
"updated_at": {
"$ref": "#/$defs/__schema0"
}
},
"required": [
"id",
"workspace_id",
"account_id",
"product_id",
"surface_id",
"deployment_id",
"access_entry",
"entitlement_source",
"expires_at",
"reused_existing_access",
"created_at",
"updated_at"
],
"$defs": {
"__schema0": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
}
}
}Session
{
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^ses_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"workspace_id": {
"type": "string",
"pattern": "^ws_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"product_id": {
"type": "string",
"pattern": "^prod_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"surface_id": {
"type": "string",
"pattern": "^srf_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"account_id": {
"anyOf": [
{
"type": "string",
"pattern": "^usr_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
{
"type": "null"
}
]
},
"access_id": {
"type": "string",
"pattern": "^acc_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"environment_id": {
"type": "string",
"pattern": "^env_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"state": {
"type": "string",
"enum": [
"active",
"closed"
]
},
"closed_at": {
"anyOf": [
{
"$ref": "#/$defs/__schema0"
},
{
"type": "null"
}
]
},
"created_at": {
"$ref": "#/$defs/__schema0"
},
"updated_at": {
"$ref": "#/$defs/__schema0"
}
},
"required": [
"id",
"workspace_id",
"product_id",
"surface_id",
"account_id",
"access_id",
"environment_id",
"state",
"closed_at",
"created_at",
"updated_at"
],
"$defs": {
"__schema0": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
}
}
}Invocation
{
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^inv_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"workspace_id": {
"type": "string",
"pattern": "^ws_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"product_id": {
"type": "string",
"pattern": "^prod_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"session_id": {
"type": "string",
"pattern": "^ses_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"surface_id": {
"type": "string",
"pattern": "^srf_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"account_id": {
"anyOf": [
{
"type": "string",
"pattern": "^usr_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
{
"type": "null"
}
]
},
"access_id": {
"type": "string",
"pattern": "^acc_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"sequence": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"input": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "http_request"
},
"method": {
"type": "string",
"enum": [
"GET",
"POST",
"PUT",
"PATCH",
"DELETE",
"HEAD",
"OPTIONS"
]
},
"path": {
"type": "string",
"minLength": 1,
"maxLength": 2048,
"pattern": "^\\/[^?#]*$"
},
"query_evidence": {
"$ref": "#/$defs/__schema0"
},
"body_evidence": {
"anyOf": [
{
"$ref": "#/$defs/__schema0"
},
{
"type": "null"
}
]
}
},
"required": [
"kind",
"method",
"path",
"body_evidence"
]
},
"admission": {
"anyOf": [
{
"type": "object",
"properties": {
"invocation_id": {
"$ref": "#/$defs/__schema1"
},
"session_id": {
"$ref": "#/$defs/__schema2"
},
"workspace_id": {
"$ref": "#/$defs/__schema3"
},
"product_id": {
"$ref": "#/$defs/__schema4"
},
"surface_id": {
"$ref": "#/$defs/__schema5"
},
"account_id": {
"$ref": "#/$defs/__schema6"
},
"outcome": {
"$ref": "#/$defs/__schema7"
},
"reason": {
"$ref": "#/$defs/__schema8"
},
"execution_id": {
"$ref": "#/$defs/__schema9"
},
"pending_operation_id": {
"$ref": "#/$defs/__schema10"
},
"checks": {
"$ref": "#/$defs/__schema11"
},
"message": {
"$ref": "#/$defs/__schema13"
},
"decided_at": {
"$ref": "#/$defs/__schema14"
}
},
"required": [
"invocation_id",
"session_id",
"workspace_id",
"product_id",
"surface_id",
"account_id",
"outcome",
"reason",
"execution_id",
"pending_operation_id",
"checks",
"message",
"decided_at"
]
},
{
"type": "null"
}
]
},
"execution": {
"anyOf": [
{
"type": "object",
"properties": {
"execution_id": {
"$ref": "#/$defs/__schema15"
},
"invocation_id": {
"$ref": "#/$defs/__schema16"
},
"session_id": {
"$ref": "#/$defs/__schema17"
},
"workspace_id": {
"$ref": "#/$defs/__schema18"
},
"product_id": {
"$ref": "#/$defs/__schema19"
},
"deployment_id": {
"$ref": "#/$defs/__schema20"
},
"execution_mode": {
"$ref": "#/$defs/__schema21"
},
"status": {
"$ref": "#/$defs/__schema22"
},
"failure": {
"$ref": "#/$defs/__schema23"
},
"result": {
"$ref": "#/$defs/__schema24"
},
"log_evidence": {
"$ref": "#/$defs/__schema26"
},
"usage": {
"$ref": "#/$defs/__schema27"
},
"started_at": {
"$ref": "#/$defs/__schema28"
},
"finished_at": {
"$ref": "#/$defs/__schema29"
}
},
"required": [
"execution_id",
"invocation_id",
"session_id",
"workspace_id",
"product_id",
"deployment_id",
"execution_mode",
"status",
"failure",
"result",
"log_evidence",
"usage",
"started_at",
"finished_at"
]
},
{
"type": "null"
}
]
},
"created_at": {
"$ref": "#/$defs/__schema30"
},
"updated_at": {
"$ref": "#/$defs/__schema30"
}
},
"required": [
"id",
"workspace_id",
"product_id",
"session_id",
"surface_id",
"account_id",
"access_id",
"sequence",
"input",
"admission",
"execution",
"created_at",
"updated_at"
],
"$defs": {
"__schema0": {
"type": "object",
"properties": {
"uri": {
"type": "string",
"minLength": 1
},
"sha256": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
},
"size_bytes": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"uri",
"sha256",
"size_bytes"
]
},
"__schema1": {
"type": "string",
"pattern": "^inv_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"__schema2": {
"type": "string",
"pattern": "^ses_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"__schema3": {
"type": "string",
"pattern": "^ws_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"__schema4": {
"type": "string",
"pattern": "^prod_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"__schema5": {
"type": "string",
"pattern": "^srf_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"__schema6": {
"anyOf": [
{
"type": "string",
"pattern": "^usr_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
{
"type": "null"
}
]
},
"__schema7": {
"type": "string",
"enum": [
"admitted",
"denied",
"pending"
]
},
"__schema8": {
"type": "string",
"enum": [
"admitted",
"permission_denied",
"policy_blocked",
"binding_unavailable",
"verification_blocked",
"usage_denied",
"rate_limited",
"pending_consent"
]
},
"__schema9": {
"anyOf": [
{
"type": "string",
"pattern": "^exe_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
{
"type": "null"
}
]
},
"__schema10": {
"anyOf": [
{
"type": "string",
"pattern": "^pend_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
{
"type": "null"
}
]
},
"__schema11": {
"minItems": 1,
"maxItems": 5,
"type": "array",
"items": {
"$ref": "#/$defs/__schema12"
}
},
"__schema12": {
"type": "object",
"properties": {
"name": {
"type": "string",
"enum": [
"permission",
"policy",
"binding",
"verification",
"usage"
]
},
"status": {
"type": "string",
"enum": [
"passed",
"failed",
"skipped"
]
}
},
"required": [
"name",
"status"
]
},
"__schema13": {
"type": "string",
"maxLength": 512
},
"__schema14": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"__schema15": {
"type": "string",
"pattern": "^exe_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"__schema16": {
"type": "string",
"pattern": "^inv_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"__schema17": {
"type": "string",
"pattern": "^ses_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"__schema18": {
"type": "string",
"pattern": "^ws_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"__schema19": {
"type": "string",
"pattern": "^prod_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"__schema20": {
"anyOf": [
{
"type": "string",
"pattern": "^dep_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
{
"type": "null"
}
]
},
"__schema21": {
"type": "string",
"enum": [
"managed",
"remote",
"bridge"
]
},
"__schema22": {
"type": "string",
"enum": [
"completed",
"failed",
"cancelled",
"timed_out"
]
},
"__schema23": {
"anyOf": [
{
"type": "object",
"properties": {
"code": {
"type": "string",
"enum": [
"product_error",
"runtime_error",
"timeout",
"cancelled",
"isolation_violation"
]
},
"message": {
"type": "string",
"maxLength": 2048
}
},
"required": [
"code",
"message"
]
},
{
"type": "null"
}
]
},
"__schema24": {
"type": "object",
"properties": {
"http_status": {
"anyOf": [
{
"type": "integer",
"minimum": 100,
"maximum": 599
},
{
"type": "null"
}
]
},
"body_evidence": {
"anyOf": [
{
"$ref": "#/$defs/__schema25"
},
{
"type": "null"
}
]
}
},
"required": [
"http_status",
"body_evidence"
]
},
"__schema25": {
"type": "object",
"properties": {
"uri": {
"type": "string",
"minLength": 1
},
"sha256": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
},
"size_bytes": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"uri",
"sha256",
"size_bytes"
]
},
"__schema26": {
"anyOf": [
{
"$ref": "#/$defs/__schema25"
},
{
"type": "null"
}
]
},
"__schema27": {
"type": "object",
"properties": {
"duration_ms": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"cpu_ms": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"memory_peak_bytes": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
}
},
"required": [
"duration_ms",
"cpu_ms",
"memory_peak_bytes"
]
},
"__schema28": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"__schema29": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"__schema30": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
}
}
}Problem
{
"type": "object",
"properties": {
"type": {
"type": "string"
},
"title": {
"type": "string"
},
"status": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"detail": {
"type": "string"
},
"instance": {
"type": "string"
},
"code": {
"type": "string",
"enum": [
"bad_request",
"unauthenticated",
"forbidden",
"not_found",
"conflict",
"validation_failed",
"rate_limited",
"internal",
"unavailable"
]
},
"correlation_id": {
"type": "string",
"pattern": "^evt_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"reason": {
"type": "string"
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"message": {
"type": "string"
}
},
"required": [
"path",
"message"
]
}
},
"issue_class": {
"type": "string"
}
},
"required": [
"type",
"title",
"status",
"detail",
"instance",
"code",
"correlation_id"
]
}VersionList
{
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^ver_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"workspace_id": {
"type": "string",
"pattern": "^ws_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"revision_id": {
"type": "string",
"pattern": "^rev_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"product_id": {
"type": "string",
"pattern": "^prod_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"qualification_record_id": {
"type": "string",
"pattern": "^qual_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"pipeline_run_id": {
"type": "string",
"pattern": "^pipe_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"descriptor_hash": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
},
"artifact": {
"type": "object",
"properties": {
"uri": {
"$ref": "#/$defs/__schema0"
},
"sha256": {
"$ref": "#/$defs/__schema1"
},
"size_bytes": {
"$ref": "#/$defs/__schema2"
},
"kind": {
"type": "string",
"enum": [
"image",
"snapshot"
]
}
},
"required": [
"uri",
"sha256",
"size_bytes",
"kind"
]
},
"evidence": {
"type": "array",
"items": {
"type": "object",
"properties": {
"stage": {
"type": "string",
"enum": [
"build",
"scan",
"startup_check"
]
},
"log_evidence": {
"type": "object",
"properties": {
"uri": {
"$ref": "#/$defs/__schema0"
},
"sha256": {
"$ref": "#/$defs/__schema1"
},
"size_bytes": {
"$ref": "#/$defs/__schema2"
}
},
"required": [
"uri",
"sha256",
"size_bytes"
]
}
},
"required": [
"stage",
"log_evidence"
]
}
},
"qualified_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
}
},
"required": [
"id",
"workspace_id",
"revision_id",
"product_id",
"qualification_record_id",
"pipeline_run_id",
"descriptor_hash",
"evidence",
"qualified_at"
]
}
},
"next_cursor": {
"type": [
"string",
"null"
]
}
},
"required": [
"items",
"next_cursor"
],
"$defs": {
"__schema0": {
"type": "string",
"minLength": 1
},
"__schema1": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
},
"__schema2": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
}BillingProblem
{
"type": "object",
"properties": {
"type": {
"type": "string"
},
"title": {
"type": "string"
},
"status": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"detail": {
"type": "string"
},
"instance": {
"type": "string"
},
"code": {
"type": "string",
"enum": [
"bad_request",
"unauthenticated",
"forbidden",
"not_found",
"conflict",
"validation_failed",
"rate_limited",
"internal",
"unavailable",
"wallet_not_found",
"rate_card_missing"
]
},
"correlation_id": {
"type": "string",
"pattern": "^evt_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"reason": {
"type": "string"
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"message": {
"type": "string"
}
},
"required": [
"path",
"message"
]
}
}
},
"required": [
"type",
"title",
"status",
"detail",
"instance",
"code",
"correlation_id"
]
}Wallet
{
"type": "object",
"properties": {
"subscription_tier": {
"type": "string",
"enum": [
"free",
"starter",
"pro"
]
},
"cycle_started_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"cycle_ends_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"available_credits": {
"$ref": "#/$defs/__schema0"
},
"reserved_credits": {
"$ref": "#/$defs/__schema0"
},
"arrears_credits": {
"$ref": "#/$defs/__schema0"
},
"buckets": {
"type": "array",
"items": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"promo",
"subscription",
"purchased"
]
},
"remaining_credits": {
"$ref": "#/$defs/__schema0"
},
"expires_at": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
}
},
"required": [
"kind",
"remaining_credits",
"expires_at"
]
}
}
},
"required": [
"subscription_tier",
"cycle_started_at",
"cycle_ends_at",
"available_credits",
"reserved_credits",
"buckets"
],
"$defs": {
"__schema0": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
}CreditTransaction
{
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^ctx_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"workspace_id": {
"type": "string",
"pattern": "^ws_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"kind": {
"type": "string",
"enum": [
"grant",
"reserve",
"settle",
"release",
"refund",
"adjust",
"cycle_reset"
]
},
"credits": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"bucket_breakdown": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"usage_category": {
"anyOf": [
{
"type": "string",
"enum": [
"ai_tokens",
"runtime",
"storage",
"provider_call"
]
},
{
"type": "null"
}
]
},
"subject_id": {
"type": [
"string",
"null"
]
},
"evidence_key": {
"type": [
"string",
"null"
]
},
"rate_card_version": {
"type": [
"string",
"null"
]
},
"created_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"actor": {
"oneOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "usr"
},
"id": {
"type": "string",
"pattern": "^usr_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
}
},
"required": [
"kind",
"id"
]
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "system"
},
"id": {
"type": "string",
"const": "platform"
}
},
"required": [
"kind",
"id"
]
}
]
},
"detail": {
"type": "object",
"properties": {
"provider": {
"type": "string"
},
"model": {
"type": "string"
},
"input_units": {
"$ref": "#/$defs/__schema0"
},
"output_units": {
"$ref": "#/$defs/__schema0"
},
"input_rate": {
"$ref": "#/$defs/__schema0"
},
"output_rate": {
"$ref": "#/$defs/__schema0"
},
"fallback_used": {
"type": "boolean"
},
"rate_card_missing": {
"type": "boolean",
"const": true
}
}
}
},
"required": [
"id",
"workspace_id",
"kind",
"credits",
"bucket_breakdown",
"usage_category",
"subject_id",
"evidence_key",
"rate_card_version",
"created_at",
"actor"
],
"$defs": {
"__schema0": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
}CreditTransactions
{
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^ctx_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"workspace_id": {
"type": "string",
"pattern": "^ws_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"kind": {
"type": "string",
"enum": [
"grant",
"reserve",
"settle",
"release",
"refund",
"adjust",
"cycle_reset"
]
},
"credits": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"bucket_breakdown": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"usage_category": {
"anyOf": [
{
"type": "string",
"enum": [
"ai_tokens",
"runtime",
"storage",
"provider_call"
]
},
{
"type": "null"
}
]
},
"subject_id": {
"type": [
"string",
"null"
]
},
"evidence_key": {
"type": [
"string",
"null"
]
},
"rate_card_version": {
"type": [
"string",
"null"
]
},
"created_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"actor": {
"oneOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "usr"
},
"id": {
"type": "string",
"pattern": "^usr_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
}
},
"required": [
"kind",
"id"
]
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "system"
},
"id": {
"type": "string",
"const": "platform"
}
},
"required": [
"kind",
"id"
]
}
]
},
"detail": {
"type": "object",
"properties": {
"provider": {
"type": "string"
},
"model": {
"type": "string"
},
"input_units": {
"$ref": "#/$defs/__schema0"
},
"output_units": {
"$ref": "#/$defs/__schema0"
},
"input_rate": {
"$ref": "#/$defs/__schema0"
},
"output_rate": {
"$ref": "#/$defs/__schema0"
},
"fallback_used": {
"type": "boolean"
},
"rate_card_missing": {
"type": "boolean",
"const": true
}
}
}
},
"required": [
"id",
"workspace_id",
"kind",
"credits",
"bucket_breakdown",
"usage_category",
"subject_id",
"evidence_key",
"rate_card_version",
"created_at",
"actor"
]
}
},
"next_cursor": {
"type": [
"string",
"null"
]
}
},
"required": [
"items",
"next_cursor"
],
"$defs": {
"__schema0": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
}CreditGrant
{
"type": "object",
"properties": {
"kind": {
"$ref": "#/$defs/__schema0"
},
"credits": {
"$ref": "#/$defs/__schema1"
},
"expires_at": {
"$ref": "#/$defs/__schema2"
},
"reason": {
"$ref": "#/$defs/__schema3"
}
},
"required": [
"kind",
"credits",
"reason"
],
"$defs": {
"__schema0": {
"type": "string",
"enum": [
"promo",
"purchased"
]
},
"__schema1": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"__schema2": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"__schema3": {
"type": "string",
"minLength": 1,
"maxLength": 256
}
}
}WalletSubscription
{
"type": "object",
"properties": {
"tier": {
"type": "string",
"enum": [
"free",
"starter",
"pro"
]
}
},
"required": [
"tier"
]
}RateCardWrite
{
"type": "object",
"properties": {
"input_rate": {
"$ref": "#/$defs/__schema0"
},
"output_rate": {
"$ref": "#/$defs/__schema0"
},
"effective_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
}
},
"required": [
"input_rate",
"output_rate",
"effective_at"
],
"$defs": {
"__schema0": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
}RateCard
{
"type": "object",
"properties": {
"input_rate": {
"$ref": "#/$defs/__schema0"
},
"output_rate": {
"$ref": "#/$defs/__schema0"
},
"effective_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"provider": {
"type": "string",
"minLength": 1,
"maxLength": 256
},
"model": {
"type": "string",
"minLength": 1,
"maxLength": 256
},
"rate_card_version": {
"type": "string"
}
},
"required": [
"input_rate",
"output_rate",
"effective_at",
"provider",
"model",
"rate_card_version"
],
"$defs": {
"__schema0": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
}RateCards
{
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"input_rate": {
"$ref": "#/$defs/__schema0"
},
"output_rate": {
"$ref": "#/$defs/__schema0"
},
"effective_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"provider": {
"type": "string",
"minLength": 1,
"maxLength": 256
},
"model": {
"type": "string",
"minLength": 1,
"maxLength": 256
},
"rate_card_version": {
"type": "string"
}
},
"required": [
"input_rate",
"output_rate",
"effective_at",
"provider",
"model",
"rate_card_version"
]
}
},
"next_cursor": {
"type": [
"string",
"null"
]
}
},
"required": [
"items",
"next_cursor"
],
"$defs": {
"__schema0": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
}SubscriptionTierWrite
{
"type": "object",
"properties": {
"monthly_credits": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"price_twd": {
"type": "number",
"minimum": 0
}
},
"required": [
"monthly_credits",
"price_twd"
]
}SubscriptionTier
{
"type": "object",
"properties": {
"monthly_credits": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"price_twd": {
"type": "number",
"minimum": 0
},
"tier": {
"type": "string",
"enum": [
"free",
"starter",
"pro"
]
}
},
"required": [
"monthly_credits",
"price_twd",
"tier"
]
}SubscriptionTiers
{
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"monthly_credits": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"price_twd": {
"type": "number",
"minimum": 0
},
"tier": {
"type": "string",
"enum": [
"free",
"starter",
"pro"
]
}
},
"required": [
"monthly_credits",
"price_twd",
"tier"
]
}
},
"next_cursor": {
"type": [
"string",
"null"
]
}
},
"required": [
"items",
"next_cursor"
]
}PaymentProblem
{
"type": "object",
"properties": {
"type": {
"type": "string"
},
"title": {
"type": "string"
},
"status": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"detail": {
"type": "string"
},
"instance": {
"type": "string"
},
"code": {
"type": "string",
"enum": [
"bad_request",
"unauthenticated",
"forbidden",
"not_found",
"conflict",
"validation_failed",
"rate_limited",
"internal",
"unavailable",
"billing_profile_required",
"subscription_change_pending",
"order_not_payable",
"refund_exceeds_paid",
"callback_signature_invalid",
"gateway_unavailable"
]
},
"correlation_id": {
"type": "string",
"pattern": "^evt_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"reason": {
"type": "string"
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"message": {
"type": "string"
}
},
"required": [
"path",
"message"
]
}
}
},
"required": [
"type",
"title",
"status",
"detail",
"instance",
"code",
"correlation_id"
]
}BillingProfile
{
"type": "object",
"properties": {
"workspace_id": {
"type": "string",
"pattern": "^ws_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"buyer_kind": {
"type": "string",
"enum": [
"individual",
"business"
]
},
"title": {
"type": "string"
},
"tax_id": {
"type": [
"string",
"null"
]
},
"invoice_email": {
"type": "string",
"maxLength": 50,
"format": "email",
"pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
},
"carrier": {
"anyOf": [
{
"type": "string",
"maxLength": 50
},
{
"type": "null"
}
]
},
"donation_code": {
"anyOf": [
{
"type": "string",
"pattern": "^\\d{3,7}$"
},
{
"type": "null"
}
]
},
"updated_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
}
},
"required": [
"workspace_id",
"buyer_kind",
"title",
"tax_id",
"invoice_email",
"carrier",
"donation_code",
"updated_at"
]
}BillingProfileWrite
{
"oneOf": [
{
"$ref": "#/$defs/__schema0"
},
{
"$ref": "#/$defs/__schema4"
}
],
"$defs": {
"__schema0": {
"type": "object",
"properties": {
"invoice_email": {
"$ref": "#/$defs/__schema1"
},
"carrier": {
"$ref": "#/$defs/__schema2"
},
"donation_code": {
"$ref": "#/$defs/__schema3"
},
"buyer_kind": {
"type": "string",
"const": "individual"
},
"title": {
"type": "string",
"minLength": 1,
"maxLength": 30
},
"tax_id": {
"anyOf": [
{
"type": "string",
"pattern": "^\\d{8}$"
},
{
"type": "null"
}
]
}
},
"required": [
"invoice_email",
"carrier",
"donation_code",
"buyer_kind",
"title",
"tax_id"
]
},
"__schema1": {
"type": "string",
"maxLength": 50,
"format": "email",
"pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
},
"__schema2": {
"anyOf": [
{
"type": "string",
"maxLength": 50
},
{
"type": "null"
}
]
},
"__schema3": {
"anyOf": [
{
"type": "string",
"pattern": "^\\d{3,7}$"
},
{
"type": "null"
}
]
},
"__schema4": {
"type": "object",
"properties": {
"invoice_email": {
"$ref": "#/$defs/__schema1"
},
"carrier": {
"$ref": "#/$defs/__schema2"
},
"donation_code": {
"$ref": "#/$defs/__schema3"
},
"buyer_kind": {
"type": "string",
"const": "business"
},
"title": {
"type": "string",
"minLength": 1,
"maxLength": 60
},
"tax_id": {
"type": "string",
"pattern": "^\\d{8}$"
}
},
"required": [
"invoice_email",
"carrier",
"donation_code",
"buyer_kind",
"title",
"tax_id"
]
}
}
}PaymentCheckout
{
"oneOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "topup"
},
"gateway": {
"$ref": "#/$defs/__schema0"
},
"amount_twd": {
"anyOf": [
{
"type": "number",
"const": 100
},
{
"type": "number",
"const": 300
},
{
"type": "number",
"const": 500
}
]
},
"return_url": {
"type": "string",
"format": "uri"
}
},
"required": [
"kind",
"gateway",
"amount_twd",
"return_url"
]
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "subscription"
},
"gateway": {
"$ref": "#/$defs/__schema0"
},
"tier": {
"type": "string",
"enum": [
"starter",
"pro"
]
},
"return_url": {
"type": "string",
"format": "uri"
}
},
"required": [
"kind",
"gateway",
"tier",
"return_url"
]
}
],
"$defs": {
"__schema0": {
"type": "string",
"enum": [
"newebpay",
"ecpay"
]
}
}
}PaymentOrder
{
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^pay_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"workspace_id": {
"type": "string",
"pattern": "^ws_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"gateway": {
"type": "string",
"enum": [
"newebpay",
"ecpay"
]
},
"kind": {
"type": "string",
"enum": [
"topup",
"subscription",
"renewal"
]
},
"amount_twd": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"credits": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"tier": {
"anyOf": [
{
"type": "string",
"enum": [
"free",
"starter",
"pro"
]
},
{
"type": "null"
}
]
},
"status": {
"type": "string",
"enum": [
"created",
"pending",
"paid",
"failed",
"cancelled",
"refunded",
"partially_refunded"
]
},
"gateway_order_no": {
"type": "string"
},
"gateway_trade_no": {
"type": [
"string",
"null"
]
},
"period_no": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"idempotency_key": {
"type": "string"
},
"actor": {
"type": "string"
},
"created_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"paid_at": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"workspace_id",
"gateway",
"kind",
"amount_twd",
"credits",
"tier",
"status",
"gateway_order_no",
"idempotency_key",
"actor",
"created_at",
"paid_at"
]
}PaymentOrders
{
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^pay_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"workspace_id": {
"type": "string",
"pattern": "^ws_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"gateway": {
"type": "string",
"enum": [
"newebpay",
"ecpay"
]
},
"kind": {
"type": "string",
"enum": [
"topup",
"subscription",
"renewal"
]
},
"amount_twd": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"credits": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"tier": {
"anyOf": [
{
"type": "string",
"enum": [
"free",
"starter",
"pro"
]
},
{
"type": "null"
}
]
},
"status": {
"type": "string",
"enum": [
"created",
"pending",
"paid",
"failed",
"cancelled",
"refunded",
"partially_refunded"
]
},
"gateway_order_no": {
"type": "string"
},
"gateway_trade_no": {
"type": [
"string",
"null"
]
},
"period_no": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"idempotency_key": {
"type": "string"
},
"actor": {
"type": "string"
},
"created_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"paid_at": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"workspace_id",
"gateway",
"kind",
"amount_twd",
"credits",
"tier",
"status",
"gateway_order_no",
"idempotency_key",
"actor",
"created_at",
"paid_at"
]
}
},
"next_cursor": {
"type": [
"string",
"null"
]
}
},
"required": [
"items",
"next_cursor"
]
}PaymentSubscription
{
"type": "object",
"properties": {
"workspace_id": {
"type": "string",
"pattern": "^ws_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"tier": {
"type": "string",
"enum": [
"free",
"starter",
"pro"
]
},
"gateway": {
"anyOf": [
{
"type": "string",
"enum": [
"newebpay",
"ecpay"
]
},
{
"type": "null"
}
]
},
"recurring_ref": {
"type": [
"string",
"null"
]
},
"renewal_state": {
"type": "string",
"enum": [
"active",
"cancel_at_cycle_end",
"past_due_grace",
"free"
]
},
"cycle_ends_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"grace_until": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
},
"next_charge_at": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
},
"updated_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
}
},
"required": [
"workspace_id",
"tier",
"gateway",
"recurring_ref",
"renewal_state",
"cycle_ends_at",
"grace_until",
"next_charge_at",
"updated_at"
]
}PaymentSubscriptionWrite
{
"type": "object",
"properties": {
"tier": {
"type": "string",
"const": "free"
}
},
"required": [
"tier"
]
}PaymentCheckoutResult
{
"type": "object",
"properties": {
"order": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^pay_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"workspace_id": {
"type": "string",
"pattern": "^ws_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"gateway": {
"type": "string",
"enum": [
"newebpay",
"ecpay"
]
},
"kind": {
"type": "string",
"enum": [
"topup",
"subscription",
"renewal"
]
},
"amount_twd": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"credits": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"tier": {
"anyOf": [
{
"type": "string",
"enum": [
"free",
"starter",
"pro"
]
},
{
"type": "null"
}
]
},
"status": {
"type": "string",
"enum": [
"created",
"pending",
"paid",
"failed",
"cancelled",
"refunded",
"partially_refunded"
]
},
"gateway_order_no": {
"type": "string"
},
"gateway_trade_no": {
"type": [
"string",
"null"
]
},
"period_no": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"idempotency_key": {
"type": "string"
},
"actor": {
"type": "string"
},
"created_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"paid_at": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"workspace_id",
"gateway",
"kind",
"amount_twd",
"credits",
"tier",
"status",
"gateway_order_no",
"idempotency_key",
"actor",
"created_at",
"paid_at"
]
},
"redirect": {
"type": "object",
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"method": {
"type": "string",
"const": "POST"
},
"fields": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
}
},
"required": [
"url",
"method",
"fields"
]
}
},
"required": [
"order",
"redirect"
]
}Invoices
{
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^ivc_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"workspace_id": {
"type": "string",
"pattern": "^ws_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"payment_order_id": {
"type": "string",
"pattern": "^pay_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"issuer": {
"type": "string",
"const": "ezpay"
},
"invoice_no": {
"type": [
"string",
"null"
]
},
"status": {
"type": "string",
"enum": [
"pending",
"issued",
"voided",
"failed"
]
},
"buyer": {
"type": "object",
"properties": {
"buyer_kind": {
"type": "string",
"enum": [
"individual",
"business"
]
},
"title": {
"type": "string"
},
"tax_id": {
"type": [
"string",
"null"
]
},
"carrier": {
"anyOf": [
{
"type": "string",
"maxLength": 50
},
{
"type": "null"
}
]
},
"donation_code": {
"anyOf": [
{
"type": "string",
"pattern": "^\\d{3,7}$"
},
{
"type": "null"
}
]
}
},
"required": [
"buyer_kind",
"title",
"tax_id",
"carrier",
"donation_code"
]
},
"issued_at": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
},
"attempts": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"last_error_code": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"workspace_id",
"payment_order_id",
"issuer",
"invoice_no",
"status",
"issued_at",
"attempts",
"last_error_code"
]
}
},
"next_cursor": {
"type": [
"string",
"null"
]
}
},
"required": [
"items",
"next_cursor"
]
}PaymentRefundWrite
{
"type": "object",
"properties": {
"payment_id": {
"type": "string",
"pattern": "^pay_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"amount_twd": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"reason": {
"type": "string",
"minLength": 1,
"maxLength": 256
}
},
"required": [
"payment_id",
"amount_twd",
"reason"
]
}PaymentRefund
{
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^rfd_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"workspace_id": {
"type": "string",
"pattern": "^ws_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"payment_order_id": {
"type": "string",
"pattern": "^pay_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"amount_twd": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"reason": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"requested",
"succeeded",
"failed"
]
},
"gateway_refund_no": {
"type": [
"string",
"null"
]
},
"actor": {
"type": "string",
"pattern": "^usr_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"created_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"invoice_job_status": {
"type": "string",
"enum": [
"pending",
"in_flight",
"done",
"failed",
"unknown"
]
},
"invoice_ref": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"workspace_id",
"payment_order_id",
"amount_twd",
"reason",
"status",
"gateway_refund_no",
"actor",
"created_at",
"invoice_job_status",
"invoice_ref"
]
}AuditRecord
{
"type": "object",
"properties": {
"id": {
"$ref": "#/$defs/__schema0"
},
"workspace_id": {
"$ref": "#/$defs/__schema1"
},
"occurred_at": {
"$ref": "#/$defs/__schema2"
},
"recorded_at": {
"$ref": "#/$defs/__schema3"
},
"action": {
"$ref": "#/$defs/__schema4"
},
"actor": {
"$ref": "#/$defs/__schema5"
},
"target": {
"$ref": "#/$defs/__schema6"
},
"outcome": {
"$ref": "#/$defs/__schema10"
},
"reason": {
"$ref": "#/$defs/__schema11"
},
"correlation_id": {
"$ref": "#/$defs/__schema9"
},
"source_event_id": {
"$ref": "#/$defs/__schema13"
},
"source_request_id": {
"$ref": "#/$defs/__schema14"
},
"environment": {
"$ref": "#/$defs/__schema15"
},
"detail": {
"$ref": "#/$defs/__schema16"
}
},
"required": [
"id",
"workspace_id",
"occurred_at",
"recorded_at",
"action",
"actor",
"target",
"outcome",
"reason",
"correlation_id",
"source_event_id",
"source_request_id",
"environment",
"detail"
],
"additionalProperties": false,
"$defs": {
"__schema0": {
"type": "string",
"pattern": "^aud_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"__schema1": {
"anyOf": [
{
"type": "string",
"pattern": "^ws_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
{
"type": "string",
"const": "ws_platform"
}
]
},
"__schema2": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"__schema3": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"__schema4": {
"type": "string",
"enum": [
"billing.payment_succeeded",
"billing.payment_failed",
"billing.refunded",
"billing.subscription_changed",
"billing.profile_changed",
"billing.invoice_issued",
"billing.granted",
"billing.adjusted",
"billing.tier_changed",
"billing.rate_card_updated",
"credential.created",
"credential.revoked",
"binding.requested",
"binding.ready",
"binding.failed",
"binding.revoked",
"binding.expired",
"service_identity.created",
"service_identity.revoked",
"service_identity.secret_rotated",
"member.upserted",
"member.role_changed",
"platform.bootstrapped",
"product.created",
"release.created",
"deployment.requested",
"deployment.ready",
"deployment.stopped",
"plan.changed",
"budget.changed",
"capability.denied",
"capability.output_blocked",
"capability.fallback",
"bridge.rejected",
"usage.denied",
"access.qualified",
"access.denied",
"access.revoked",
"isolation.unenforced_run",
"isolation.blocked",
"pending.resolved",
"fix.requested",
"fix.decided",
"adjudication.decided",
"authz.forbidden",
"authz.workspace_mismatch",
"audit.exported",
"audit.retention_deleted"
]
},
"__schema5": {
"oneOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "usr"
},
"id": {
"type": "string",
"pattern": "^usr_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
}
},
"required": [
"kind",
"id"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "svc"
},
"id": {
"type": "string",
"pattern": "^svc_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
}
},
"required": [
"kind",
"id"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "prod"
},
"id": {
"type": "string",
"pattern": "^prod_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
}
},
"required": [
"kind",
"id"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "system"
},
"id": {
"type": "string",
"enum": [
"platform",
"platform-bootstrap",
"make",
"deliver"
]
}
},
"required": [
"kind",
"id"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "runner"
},
"id": {
"type": "string",
"const": "runner"
}
},
"required": [
"kind",
"id"
],
"additionalProperties": false
}
]
},
"__schema6": {
"type": "object",
"properties": {
"kind": {
"$ref": "#/$defs/__schema7"
},
"id": {
"$ref": "#/$defs/__schema8"
}
},
"required": [
"kind",
"id"
],
"additionalProperties": false
},
"__schema7": {
"type": "string",
"enum": [
"mres",
"ws",
"usr",
"prod",
"rev",
"ver",
"rel",
"env",
"dep",
"srf",
"acc",
"ses",
"inv",
"exe",
"evt",
"pend",
"ddl",
"ntf",
"pipe",
"fnd",
"qual",
"cred",
"bind",
"hdl",
"cap",
"svc",
"frz",
"adj",
"fix",
"upl",
"dom",
"wb",
"ctx",
"aud",
"pay",
"ivc",
"rfd"
]
},
"__schema8": {
"anyOf": [
{
"$ref": "#/$defs/__schema9"
},
{
"type": "string",
"const": "ws_platform"
}
]
},
"__schema9": {
"type": "string",
"pattern": "^(mres|ws|usr|prod|rev|ver|rel|env|dep|srf|acc|ses|inv|exe|evt|pend|ddl|ntf|pipe|fnd|qual|cred|bind|hdl|cap|svc|frz|adj|fix|upl|dom|wb|ctx|aud|pay|ivc|rfd)_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"__schema10": {
"type": "string",
"enum": [
"allowed",
"denied",
"failed",
"changed"
]
},
"__schema11": {
"anyOf": [
{
"$ref": "#/$defs/__schema12"
},
{
"type": "null"
}
]
},
"__schema12": {
"type": "string",
"enum": [
"insufficient_credit",
"outside_contract",
"permission_denied",
"policy_blocked",
"binding_missing",
"binding_revoked",
"usage_denied",
"provider_unavailable",
"provider_rejected",
"output_blocked",
"other",
"scope_denied",
"rate_limited",
"budget_exhausted",
"within_policy",
"budget_exceeded",
"plan_not_entitled",
"approval_rejected",
"approval_expired",
"qualified",
"identity_required",
"surface_expired",
"surface_not_found",
"trust_blocked",
"isolation_blocked",
"sanitized_input",
"test_fixture",
"dead_code",
"not_reachable",
"sink_reachable",
"no_sanitizer",
"pattern_only",
"model_error",
"excerpt_missing",
"timeout",
"forbidden",
"workspace_mismatch"
]
},
"__schema13": {
"anyOf": [
{
"type": "string",
"pattern": "^evt_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
{
"type": "null"
}
]
},
"__schema14": {
"anyOf": [
{
"type": "string",
"pattern": "^evt_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
{
"type": "null"
}
]
},
"__schema15": {
"anyOf": [
{
"type": "string",
"enum": [
"preview",
"staging",
"production"
]
},
{
"type": "null"
}
]
},
"__schema16": {
"anyOf": [
{
"type": "object",
"properties": {
"gateway": {
"type": "string",
"enum": [
"newebpay",
"ecpay"
]
},
"amount_twd": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"order_kind": {
"type": "string",
"enum": [
"topup",
"subscription",
"renewal"
]
},
"credits": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"bucket": {
"type": "string",
"enum": [
"subscription",
"topup",
"grant"
]
},
"tier": {
"$ref": "#/$defs/__schema17"
},
"rate_card_version": {
"$ref": "#/$defs/__schema17"
},
"capability": {
"$ref": "#/$defs/__schema17"
},
"action": {
"$ref": "#/$defs/__schema17"
},
"provider": {
"$ref": "#/$defs/__schema17"
},
"plan": {
"$ref": "#/$defs/__schema17"
},
"budget_category": {
"$ref": "#/$defs/__schema17"
},
"unit": {
"$ref": "#/$defs/__schema17"
},
"units": {
"type": "number",
"minimum": 0
},
"http_status": {
"type": "integer",
"minimum": 100,
"maximum": 599
},
"isolation_profile": {
"type": "string",
"enum": [
"isolated-vm",
"isolated-kernel",
"trusted"
]
},
"enforced": {
"type": "boolean"
},
"role": {
"type": "string",
"enum": [
"owner",
"admin",
"developer"
]
},
"environment": {
"type": "string",
"enum": [
"preview",
"staging",
"production"
]
},
"reason": {
"$ref": "#/$defs/__schema12"
},
"route": {
"type": "string",
"maxLength": 256
},
"method": {
"type": "string",
"enum": [
"GET",
"POST",
"PUT",
"PATCH",
"DELETE",
"HEAD",
"OPTIONS"
]
},
"usage_category": {
"type": "string",
"enum": [
"ai_tokens",
"runtime",
"provider_call",
"storage"
]
},
"identity_kind": {
"type": "string",
"enum": [
"workspace-member",
"consumer",
"service"
]
},
"code": {
"$ref": "#/$defs/__schema17"
},
"phase": {
"type": "string",
"enum": [
"apply",
"startup",
"health_check"
]
},
"outcome": {
"type": "string",
"enum": [
"approved",
"rejected",
"withdrawn",
"expired",
"superseded",
"false_positive",
"confirmed",
"inconclusive"
]
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"__schema17": {
"type": "string",
"maxLength": 256
}
}
}AuditRecords
{
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"$ref": "#/$defs/__schema0"
},
"workspace_id": {
"$ref": "#/$defs/__schema1"
},
"occurred_at": {
"$ref": "#/$defs/__schema2"
},
"recorded_at": {
"$ref": "#/$defs/__schema3"
},
"action": {
"$ref": "#/$defs/__schema4"
},
"actor": {
"$ref": "#/$defs/__schema5"
},
"target": {
"$ref": "#/$defs/__schema6"
},
"outcome": {
"$ref": "#/$defs/__schema10"
},
"reason": {
"$ref": "#/$defs/__schema11"
},
"correlation_id": {
"$ref": "#/$defs/__schema9"
},
"source_event_id": {
"$ref": "#/$defs/__schema13"
},
"source_request_id": {
"$ref": "#/$defs/__schema14"
},
"environment": {
"$ref": "#/$defs/__schema15"
},
"detail": {
"$ref": "#/$defs/__schema16"
}
},
"required": [
"id",
"workspace_id",
"occurred_at",
"recorded_at",
"action",
"actor",
"target",
"outcome",
"reason",
"correlation_id",
"source_event_id",
"source_request_id",
"environment",
"detail"
],
"additionalProperties": false
}
},
"next_cursor": {
"type": [
"string",
"null"
]
}
},
"required": [
"items",
"next_cursor"
],
"$defs": {
"__schema0": {
"type": "string",
"pattern": "^aud_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"__schema1": {
"anyOf": [
{
"type": "string",
"pattern": "^ws_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
{
"type": "string",
"const": "ws_platform"
}
]
},
"__schema2": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"__schema3": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"__schema4": {
"type": "string",
"enum": [
"billing.payment_succeeded",
"billing.payment_failed",
"billing.refunded",
"billing.subscription_changed",
"billing.profile_changed",
"billing.invoice_issued",
"billing.granted",
"billing.adjusted",
"billing.tier_changed",
"billing.rate_card_updated",
"credential.created",
"credential.revoked",
"binding.requested",
"binding.ready",
"binding.failed",
"binding.revoked",
"binding.expired",
"service_identity.created",
"service_identity.revoked",
"service_identity.secret_rotated",
"member.upserted",
"member.role_changed",
"platform.bootstrapped",
"product.created",
"release.created",
"deployment.requested",
"deployment.ready",
"deployment.stopped",
"plan.changed",
"budget.changed",
"capability.denied",
"capability.output_blocked",
"capability.fallback",
"bridge.rejected",
"usage.denied",
"access.qualified",
"access.denied",
"access.revoked",
"isolation.unenforced_run",
"isolation.blocked",
"pending.resolved",
"fix.requested",
"fix.decided",
"adjudication.decided",
"authz.forbidden",
"authz.workspace_mismatch",
"audit.exported",
"audit.retention_deleted"
]
},
"__schema5": {
"oneOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "usr"
},
"id": {
"type": "string",
"pattern": "^usr_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
}
},
"required": [
"kind",
"id"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "svc"
},
"id": {
"type": "string",
"pattern": "^svc_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
}
},
"required": [
"kind",
"id"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "prod"
},
"id": {
"type": "string",
"pattern": "^prod_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
}
},
"required": [
"kind",
"id"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "system"
},
"id": {
"type": "string",
"enum": [
"platform",
"platform-bootstrap",
"make",
"deliver"
]
}
},
"required": [
"kind",
"id"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "runner"
},
"id": {
"type": "string",
"const": "runner"
}
},
"required": [
"kind",
"id"
],
"additionalProperties": false
}
]
},
"__schema6": {
"type": "object",
"properties": {
"kind": {
"$ref": "#/$defs/__schema7"
},
"id": {
"$ref": "#/$defs/__schema8"
}
},
"required": [
"kind",
"id"
],
"additionalProperties": false
},
"__schema7": {
"type": "string",
"enum": [
"mres",
"ws",
"usr",
"prod",
"rev",
"ver",
"rel",
"env",
"dep",
"srf",
"acc",
"ses",
"inv",
"exe",
"evt",
"pend",
"ddl",
"ntf",
"pipe",
"fnd",
"qual",
"cred",
"bind",
"hdl",
"cap",
"svc",
"frz",
"adj",
"fix",
"upl",
"dom",
"wb",
"ctx",
"aud",
"pay",
"ivc",
"rfd"
]
},
"__schema8": {
"anyOf": [
{
"$ref": "#/$defs/__schema9"
},
{
"type": "string",
"const": "ws_platform"
}
]
},
"__schema9": {
"type": "string",
"pattern": "^(mres|ws|usr|prod|rev|ver|rel|env|dep|srf|acc|ses|inv|exe|evt|pend|ddl|ntf|pipe|fnd|qual|cred|bind|hdl|cap|svc|frz|adj|fix|upl|dom|wb|ctx|aud|pay|ivc|rfd)_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"__schema10": {
"type": "string",
"enum": [
"allowed",
"denied",
"failed",
"changed"
]
},
"__schema11": {
"anyOf": [
{
"$ref": "#/$defs/__schema12"
},
{
"type": "null"
}
]
},
"__schema12": {
"type": "string",
"enum": [
"insufficient_credit",
"outside_contract",
"permission_denied",
"policy_blocked",
"binding_missing",
"binding_revoked",
"usage_denied",
"provider_unavailable",
"provider_rejected",
"output_blocked",
"other",
"scope_denied",
"rate_limited",
"budget_exhausted",
"within_policy",
"budget_exceeded",
"plan_not_entitled",
"approval_rejected",
"approval_expired",
"qualified",
"identity_required",
"surface_expired",
"surface_not_found",
"trust_blocked",
"isolation_blocked",
"sanitized_input",
"test_fixture",
"dead_code",
"not_reachable",
"sink_reachable",
"no_sanitizer",
"pattern_only",
"model_error",
"excerpt_missing",
"timeout",
"forbidden",
"workspace_mismatch"
]
},
"__schema13": {
"anyOf": [
{
"type": "string",
"pattern": "^evt_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
{
"type": "null"
}
]
},
"__schema14": {
"anyOf": [
{
"type": "string",
"pattern": "^evt_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
{
"type": "null"
}
]
},
"__schema15": {
"anyOf": [
{
"type": "string",
"enum": [
"preview",
"staging",
"production"
]
},
{
"type": "null"
}
]
},
"__schema16": {
"anyOf": [
{
"type": "object",
"properties": {
"gateway": {
"type": "string",
"enum": [
"newebpay",
"ecpay"
]
},
"amount_twd": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"order_kind": {
"type": "string",
"enum": [
"topup",
"subscription",
"renewal"
]
},
"credits": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"bucket": {
"type": "string",
"enum": [
"subscription",
"topup",
"grant"
]
},
"tier": {
"$ref": "#/$defs/__schema17"
},
"rate_card_version": {
"$ref": "#/$defs/__schema17"
},
"capability": {
"$ref": "#/$defs/__schema17"
},
"action": {
"$ref": "#/$defs/__schema17"
},
"provider": {
"$ref": "#/$defs/__schema17"
},
"plan": {
"$ref": "#/$defs/__schema17"
},
"budget_category": {
"$ref": "#/$defs/__schema17"
},
"unit": {
"$ref": "#/$defs/__schema17"
},
"units": {
"type": "number",
"minimum": 0
},
"http_status": {
"type": "integer",
"minimum": 100,
"maximum": 599
},
"isolation_profile": {
"type": "string",
"enum": [
"isolated-vm",
"isolated-kernel",
"trusted"
]
},
"enforced": {
"type": "boolean"
},
"role": {
"type": "string",
"enum": [
"owner",
"admin",
"developer"
]
},
"environment": {
"type": "string",
"enum": [
"preview",
"staging",
"production"
]
},
"reason": {
"$ref": "#/$defs/__schema12"
},
"route": {
"type": "string",
"maxLength": 256
},
"method": {
"type": "string",
"enum": [
"GET",
"POST",
"PUT",
"PATCH",
"DELETE",
"HEAD",
"OPTIONS"
]
},
"usage_category": {
"type": "string",
"enum": [
"ai_tokens",
"runtime",
"provider_call",
"storage"
]
},
"identity_kind": {
"type": "string",
"enum": [
"workspace-member",
"consumer",
"service"
]
},
"code": {
"$ref": "#/$defs/__schema17"
},
"phase": {
"type": "string",
"enum": [
"apply",
"startup",
"health_check"
]
},
"outcome": {
"type": "string",
"enum": [
"approved",
"rejected",
"withdrawn",
"expired",
"superseded",
"false_positive",
"confirmed",
"inconclusive"
]
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"__schema17": {
"type": "string",
"maxLength": 256
}
}
}CorrelationEvents
{
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"event_id": {
"type": "string",
"pattern": "^evt_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"event_type": {
"type": "string"
},
"schema_version": {
"type": "string"
},
"producer": {
"type": "string"
},
"occurred_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"causation_id": {
"anyOf": [
{
"type": "string",
"pattern": "^evt_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
{
"type": "null"
}
]
}
},
"required": [
"event_id",
"event_type",
"schema_version",
"producer",
"occurred_at",
"causation_id"
]
}
},
"next_cursor": {
"type": "null"
}
},
"required": [
"items",
"next_cursor"
]
}RevisionDetail
{
"type": "object",
"properties": {
"capability_contract": {
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "rejected"
},
"reason": {
"type": "string",
"enum": [
"unknown_capability",
"unknown_action",
"scope_invalid",
"scope_widened",
"owner_not_supported",
"contract_too_large"
]
}
},
"required": [
"status",
"reason"
]
},
"id": {
"type": "string",
"pattern": "^rev_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"workspace_id": {
"type": "string",
"pattern": "^ws_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"product_id": {
"type": "string",
"pattern": "^prod_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"input_revision_id": {
"type": "string",
"pattern": "^rev_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"product_type": {
"type": "string",
"const": "hosted-app"
},
"descriptor": {
"type": "object",
"properties": {
"build_plan": {
"type": "object",
"properties": {
"runtime": {
"$ref": "#/$defs/__schema0"
},
"workdir": {
"$ref": "#/$defs/__schema1"
},
"install": {
"$ref": "#/$defs/__schema2"
},
"build": {
"$ref": "#/$defs/__schema3"
},
"start": {
"$ref": "#/$defs/__schema4"
},
"port": {
"$ref": "#/$defs/__schema5"
},
"health": {
"$ref": "#/$defs/__schema6"
},
"env": {
"$ref": "#/$defs/__schema7"
}
},
"required": [
"runtime",
"workdir",
"install",
"build",
"start",
"port",
"health",
"env"
]
},
"runtime": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"node",
"shell"
]
},
"version": {
"type": [
"string",
"null"
]
}
},
"required": [
"kind",
"version"
]
},
"entrypoint": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"args": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"command",
"args"
]
},
"ports": {
"type": "array",
"items": {
"type": "object",
"properties": {
"port": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"protocol": {
"type": "string",
"const": "http"
}
},
"required": [
"port",
"protocol"
]
}
},
"field_sources": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string",
"enum": [
"detected",
"developer"
]
}
}
},
"required": [
"runtime",
"entrypoint",
"ports",
"field_sources"
]
},
"descriptor_hash": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
},
"confirmed_by": {
"type": "string",
"pattern": "^usr_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"created_at": {
"$ref": "#/$defs/__schema8"
},
"updated_at": {
"$ref": "#/$defs/__schema8"
},
"contract_status": {
"type": "string",
"enum": [
"ready",
"rejected",
"pending"
]
},
"current_verification": {
"anyOf": [
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"verified",
"degraded",
"blocked",
"revoked"
]
},
"computed_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
}
},
"required": [
"status",
"computed_at"
]
},
{
"type": "null"
}
]
},
"pipeline_runs": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"anyOf": [
{
"type": "string",
"pattern": "^pipe_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
{
"type": "null"
}
]
},
"workspace_id": {
"type": "string",
"pattern": "^ws_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"product_id": {
"type": "string",
"pattern": "^prod_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"revision_id": {
"type": "string",
"pattern": "^rev_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"intent": {
"type": "string",
"enum": [
"preview",
"qualification",
"reassessment",
"fix_reverify"
]
},
"status": {
"type": "string",
"enum": [
"pending_snapshot",
"authorization_requested",
"blocked",
"admitted",
"requested",
"reported",
"completed",
"failed",
"passed",
"warning",
"unsafe"
]
},
"reason_code": {
"type": "string"
},
"evidence": {
"default": [],
"type": "array",
"items": {
"type": "object",
"properties": {
"stage": {
"type": "string",
"enum": [
"build",
"scan",
"startup_check"
]
},
"log_evidence": {
"type": "object",
"properties": {
"uri": {
"type": "string",
"minLength": 1
},
"sha256": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
},
"size_bytes": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"uri",
"sha256",
"size_bytes"
]
}
},
"required": [
"stage",
"log_evidence"
]
}
},
"qualification": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"qualified",
"stopped"
]
},
"reason": {
"type": "string",
"enum": [
"missing_evidence",
"blocking_findings",
"verification_blocked"
]
},
"version_id": {
"type": "string",
"pattern": "^ver_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
}
},
"required": [
"status"
]
},
"findings": {
"type": "array",
"items": {
"type": "object",
"properties": {
"kind": {
"type": "string"
},
"severity": {
"type": "string"
},
"code": {
"type": "string"
},
"message": {
"type": "string"
}
},
"required": [
"kind",
"severity",
"code",
"message"
]
}
},
"created_at": {
"$ref": "#/$defs/__schema8"
},
"updated_at": {
"$ref": "#/$defs/__schema8"
}
},
"required": [
"id",
"workspace_id",
"revision_id",
"intent",
"status",
"findings",
"created_at",
"updated_at"
]
}
}
},
"required": [
"id",
"workspace_id",
"product_id",
"input_revision_id",
"product_type",
"descriptor",
"descriptor_hash",
"confirmed_by",
"created_at",
"updated_at",
"contract_status",
"current_verification",
"pipeline_runs"
],
"$defs": {
"__schema0": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"node",
"shell"
]
},
"version": {
"type": [
"string",
"null"
]
}
},
"required": [
"kind",
"version"
]
},
"__schema1": {
"type": "string",
"pattern": "^\\/.*"
},
"__schema2": {
"type": "object",
"properties": {
"package_manager": {
"anyOf": [
{
"type": "string",
"enum": [
"pnpm",
"npm",
"yarn"
]
},
{
"type": "null"
}
]
},
"command": {
"type": [
"string",
"null"
]
}
},
"required": [
"package_manager",
"command"
]
},
"__schema3": {
"type": "object",
"properties": {
"command": {
"type": [
"string",
"null"
]
}
},
"required": [
"command"
]
},
"__schema4": {
"type": "object",
"properties": {
"command": {
"type": "string"
}
},
"required": [
"command"
]
},
"__schema5": {
"type": "integer",
"minimum": 1,
"maximum": 65535
},
"__schema6": {
"type": "object",
"properties": {
"path": {
"type": "string",
"pattern": "^\\/.*"
},
"timeout_ms": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"path",
"timeout_ms"
]
},
"__schema7": {
"type": "array",
"items": {
"type": "string",
"enum": [
"PORT",
"NODE_ENV"
]
}
},
"__schema8": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
}
}
}Domain
{
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^dom_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"workspace_id": {
"type": "string",
"pattern": "^ws_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"product_id": {
"type": "string",
"pattern": "^prod_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"environment_type": {
"type": "string",
"enum": [
"staging",
"production"
]
},
"hostname": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"pending_verification",
"verified",
"issuing",
"active",
"verification_failed",
"certificate_failed",
"removed"
]
},
"reason_code": {
"type": [
"string",
"null"
]
},
"verification": {
"type": "object",
"properties": {
"txt_name": {
"type": "string"
},
"txt_value": {
"type": "string"
},
"cname_target": {
"type": "string"
},
"address_targets": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"txt_name",
"txt_value",
"cname_target",
"address_targets"
]
},
"last_check": {
"anyOf": [
{
"type": "object",
"properties": {
"checked_at": {
"$ref": "#/$defs/__schema0"
},
"outcome": {
"type": "string"
}
},
"required": [
"checked_at",
"outcome"
]
},
{
"type": "null"
}
]
},
"certificate": {
"anyOf": [
{
"type": "object",
"properties": {
"not_before": {
"$ref": "#/$defs/__schema0"
},
"not_after": {
"$ref": "#/$defs/__schema0"
},
"issuer": {
"type": "string"
},
"fingerprint_sha256": {
"type": "string"
}
},
"required": [
"not_before",
"not_after",
"issuer",
"fingerprint_sha256"
]
},
{
"type": "null"
}
]
},
"surface_id": {
"anyOf": [
{
"type": "string",
"pattern": "^srf_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
{
"type": "null"
}
]
},
"created_at": {
"$ref": "#/$defs/__schema0"
},
"updated_at": {
"$ref": "#/$defs/__schema0"
}
},
"required": [
"id",
"workspace_id",
"product_id",
"environment_type",
"hostname",
"status",
"reason_code",
"verification",
"last_check",
"certificate",
"surface_id",
"created_at",
"updated_at"
],
"$defs": {
"__schema0": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
}
}
}Domains
{
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^dom_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"workspace_id": {
"type": "string",
"pattern": "^ws_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"product_id": {
"type": "string",
"pattern": "^prod_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"environment_type": {
"type": "string",
"enum": [
"staging",
"production"
]
},
"hostname": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"pending_verification",
"verified",
"issuing",
"active",
"verification_failed",
"certificate_failed",
"removed"
]
},
"reason_code": {
"type": [
"string",
"null"
]
},
"verification": {
"type": "object",
"properties": {
"txt_name": {
"type": "string"
},
"txt_value": {
"type": "string"
},
"cname_target": {
"type": "string"
},
"address_targets": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"txt_name",
"txt_value",
"cname_target",
"address_targets"
]
},
"last_check": {
"anyOf": [
{
"type": "object",
"properties": {
"checked_at": {
"$ref": "#/$defs/__schema0"
},
"outcome": {
"type": "string"
}
},
"required": [
"checked_at",
"outcome"
]
},
{
"type": "null"
}
]
},
"certificate": {
"anyOf": [
{
"type": "object",
"properties": {
"not_before": {
"$ref": "#/$defs/__schema0"
},
"not_after": {
"$ref": "#/$defs/__schema0"
},
"issuer": {
"type": "string"
},
"fingerprint_sha256": {
"type": "string"
}
},
"required": [
"not_before",
"not_after",
"issuer",
"fingerprint_sha256"
]
},
{
"type": "null"
}
]
},
"surface_id": {
"anyOf": [
{
"type": "string",
"pattern": "^srf_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
{
"type": "null"
}
]
},
"created_at": {
"$ref": "#/$defs/__schema0"
},
"updated_at": {
"$ref": "#/$defs/__schema0"
}
},
"required": [
"id",
"workspace_id",
"product_id",
"environment_type",
"hostname",
"status",
"reason_code",
"verification",
"last_check",
"certificate",
"surface_id",
"created_at",
"updated_at"
]
}
},
"next_cursor": {
"type": [
"string",
"null"
]
}
},
"required": [
"items",
"next_cursor"
],
"$defs": {
"__schema0": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
}
}
}FixRequest
{
"type": "object",
"properties": {
"pipeline_run_id": {
"type": "string",
"pattern": "^pipe_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"finding_ids": {
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"$ref": "#/$defs/__schema0"
}
}
},
"$defs": {
"__schema0": {
"type": "string",
"pattern": "^fnd_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
}
}
}FixRun
{
"type": "object",
"properties": {
"fix_run_id": {
"type": "string",
"pattern": "^fix_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"workspace_id": {
"type": "string",
"pattern": "^ws_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"product_id": {
"type": "string",
"pattern": "^prod_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"revision_id": {
"type": "string",
"pattern": "^rev_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"attempt": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"status": {
"type": "string",
"enum": [
"requested",
"context",
"generating",
"patch_apply",
"reverify",
"candidate",
"failed",
"approved",
"rejected",
"expired"
]
},
"pipeline_run_id": {
"type": "string",
"pattern": "^pipe_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"patch_evidence": {
"type": "object",
"properties": {
"uri": {
"type": "string"
},
"sha256": {
"type": "string"
},
"size_bytes": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"uri",
"sha256",
"size_bytes"
]
},
"touched_paths": {
"type": "array",
"items": {
"type": "string"
}
},
"reverify": {
"$ref": "#/$defs/__schema0"
},
"model": {
"type": "object",
"properties": {
"binding_id": {
"type": "string",
"pattern": "^bind_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"provider": {
"type": "string"
}
},
"required": [
"binding_id",
"provider"
]
},
"units_used": {
"type": "number",
"minimum": 0
},
"failure": {
"type": "object",
"properties": {
"code": {
"type": "string"
}
},
"required": [
"code"
]
},
"new_revision_id": {
"type": "string",
"pattern": "^rev_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"requested_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"decided_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"issue_class": {
"type": "string"
},
"deterministic_path": {
"type": "boolean"
},
"human_decision": {
"type": "string",
"enum": [
"approved",
"rejected",
"expired"
]
},
"dependencies_removed": {
"type": "array",
"items": {
"type": "string"
}
},
"auto_apply": {
"type": "object",
"properties": {
"eligible": {
"type": "boolean"
},
"reason": {
"type": "string",
"enum": [
"class_not_open",
"mixed_classes",
"unknown_class",
"not_deterministic",
"dependencies_removed",
"eligible"
]
}
},
"required": [
"eligible",
"reason"
]
},
"attempts": {
"type": "array",
"items": {
"type": "object",
"properties": {
"attempt": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"pipeline_run_id": {
"type": "string",
"pattern": "^pipe_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"reverify": {
"$ref": "#/$defs/__schema0"
}
},
"required": [
"attempt"
]
}
}
},
"required": [
"fix_run_id",
"workspace_id",
"product_id",
"revision_id",
"attempt",
"status",
"units_used",
"requested_at",
"deterministic_path",
"attempts"
],
"$defs": {
"__schema0": {
"type": "object",
"properties": {
"pipeline_run_id": {
"type": "string",
"pattern": "^pipe_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"status": {
"type": "string",
"enum": [
"passed",
"failed"
]
},
"residual_advisory_candidate": {
"type": "boolean"
},
"residual_advisory_candidates": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"pipeline_run_id",
"status"
]
}
}
}Readiness
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"ready",
"degraded",
"not_ready"
]
},
"checked_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"checks": {
"type": "object",
"properties": {
"db": {
"$ref": "#/$defs/__schema0"
},
"storage": {
"$ref": "#/$defs/__schema0"
},
"runner": {
"$ref": "#/$defs/__schema0"
},
"oidc": {
"$ref": "#/$defs/__schema0"
},
"intake": {
"$ref": "#/$defs/__schema0"
},
"persistence": {
"$ref": "#/$defs/__schema0"
}
},
"required": [
"db",
"storage",
"runner",
"oidc",
"intake",
"persistence"
]
}
},
"required": [
"status",
"checked_at",
"checks"
],
"$defs": {
"__schema0": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"ok",
"fail",
"skipped"
]
},
"latency_ms": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"detail": {
"type": "string",
"enum": [
"available",
"unavailable",
"timeout",
"not configured",
"bridge_ledger_and_replays_injected"
]
}
},
"required": [
"status"
]
}
}
}DeadLetters
{
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"event_id": {
"type": "string",
"pattern": "^evt_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"consumer": {
"type": "string",
"minLength": 1
},
"attempts": {
"type": "number",
"const": 5
},
"last_error": {
"type": "string",
"maxLength": 64,
"pattern": "^(handler_failed|contract_violation|persistence_error|handler_error:[A-Za-z0-9_]+)$"
},
"failed_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
}
},
"required": [
"event_id",
"consumer",
"attempts",
"last_error",
"failed_at"
]
}
},
"next_cursor": {
"type": [
"string",
"null"
]
}
},
"required": [
"items",
"next_cursor"
]
}WorkspaceServiceIdentityRequest
{
"type": "object",
"properties": {
"kind": {
"default": "bridge",
"type": "string",
"const": "bridge"
},
"product_id": {
"type": "string",
"pattern": "^prod_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"scope": {
"oneOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"const": "ai.generate"
},
"actions": {
"minItems": 1,
"type": "array",
"items": {
"$ref": "#/$defs/__schema0"
}
},
"scope": {
"type": "object",
"properties": {
"models": {
"minItems": 1,
"type": "array",
"items": {
"$ref": "#/$defs/__schema1"
}
},
"max_tokens_per_call": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"models",
"max_tokens_per_call"
]
}
},
"required": [
"id",
"actions",
"scope"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"const": "storage.object"
},
"actions": {
"minItems": 1,
"type": "array",
"items": {
"$ref": "#/$defs/__schema2"
}
},
"scope": {
"type": "object",
"properties": {
"prefix": {
"type": "string",
"pattern": "^\\/(?!.*\\.\\.).*$"
},
"max_object_bytes": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"prefix",
"max_object_bytes"
]
}
},
"required": [
"id",
"actions",
"scope"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"const": "data.kv"
},
"actions": {
"minItems": 1,
"type": "array",
"items": {
"$ref": "#/$defs/__schema3"
}
},
"scope": {
"type": "object",
"properties": {
"prefix": {
"type": "string",
"pattern": "^\\/(?!.*\\.\\.).*$"
},
"max_value_bytes": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 65536
},
"max_keys": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
}
},
"required": [
"prefix",
"max_value_bytes",
"max_keys"
]
}
},
"required": [
"id",
"actions",
"scope"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"const": "email.send"
},
"actions": {
"minItems": 1,
"type": "array",
"items": {
"$ref": "#/$defs/__schema4"
}
},
"scope": {
"type": "object",
"properties": {
"from_addresses": {
"minItems": 1,
"maxItems": 32,
"type": "array",
"items": {
"$ref": "#/$defs/__schema5"
}
},
"recipient_domains": {
"minItems": 1,
"maxItems": 32,
"type": "array",
"items": {
"$ref": "#/$defs/__schema6"
}
},
"max_recipients": {
"type": "integer",
"minimum": 1,
"maximum": 50
},
"max_message_bytes": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 1048576
}
},
"required": [
"from_addresses",
"recipient_domains",
"max_recipients",
"max_message_bytes"
]
}
},
"required": [
"id",
"actions",
"scope"
]
}
]
},
"budget": {
"type": "object",
"properties": {
"units": {
"type": "number",
"minimum": 0
},
"unit": {
"type": "string",
"enum": [
"tokens",
"bytes",
"calls"
]
}
},
"required": [
"units",
"unit"
]
}
},
"required": [
"product_id",
"scope",
"budget"
],
"$defs": {
"__schema0": {
"type": "string",
"enum": [
"generate"
]
},
"__schema1": {
"type": "string",
"enum": [
"text",
"embedding"
]
},
"__schema2": {
"type": "string",
"enum": [
"read",
"write",
"delete",
"list"
]
},
"__schema3": {
"type": "string",
"enum": [
"get",
"set",
"delete",
"list",
"increment"
]
},
"__schema4": {
"type": "string",
"enum": [
"send"
]
},
"__schema5": {
"type": "string",
"maxLength": 254,
"pattern": "^(?!.*[A-Z])(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[ !#-[\\]-~]|\\\\[ -~])*\")@(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)*[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$"
},
"__schema6": {
"type": "string",
"maxLength": 253,
"pattern": "^(?:\\*|(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)*[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)$"
}
}
}PlatformServiceIdentityRequest
{
"oneOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "runner"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"product_id": {
"type": "null"
},
"scope": {
"type": "null"
},
"budget": {
"type": "null"
}
},
"required": [
"kind",
"name",
"product_id",
"scope",
"budget"
]
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "control-plane"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"product_id": {
"type": "null"
},
"scope": {
"type": "null"
},
"budget": {
"type": "null"
}
},
"required": [
"kind",
"name",
"product_id",
"scope",
"budget"
]
}
]
}Workspaces
{
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^ws_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"workspace_role": {
"type": "string",
"enum": [
"owner",
"admin",
"developer"
]
}
},
"required": [
"id",
"workspace_role"
]
}
},
"next_cursor": {
"type": [
"string",
"null"
]
}
},
"required": [
"items",
"next_cursor"
]
}Products
{
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^prod_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"workspace_id": {
"type": "string",
"pattern": "^ws_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"type": {
"type": "string",
"const": "hosted-app"
},
"input_revision_id": {
"type": "string",
"pattern": "^rev_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"created_at": {
"$ref": "#/$defs/__schema0"
},
"updated_at": {
"$ref": "#/$defs/__schema0"
}
},
"required": [
"id",
"workspace_id",
"type",
"input_revision_id",
"created_at",
"updated_at"
]
}
},
"next_cursor": {
"type": [
"string",
"null"
]
}
},
"required": [
"items",
"next_cursor"
],
"$defs": {
"__schema0": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
}
}
}Revisions
{
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"capability_contract": {
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "rejected"
},
"reason": {
"type": "string",
"enum": [
"unknown_capability",
"unknown_action",
"scope_invalid",
"scope_widened",
"owner_not_supported",
"contract_too_large"
]
}
},
"required": [
"status",
"reason"
]
},
"id": {
"type": "string",
"pattern": "^rev_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"workspace_id": {
"type": "string",
"pattern": "^ws_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"product_id": {
"type": "string",
"pattern": "^prod_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"input_revision_id": {
"type": "string",
"pattern": "^rev_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"product_type": {
"type": "string",
"const": "hosted-app"
},
"descriptor": {
"type": "object",
"properties": {
"build_plan": {
"type": "object",
"properties": {
"runtime": {
"$ref": "#/$defs/__schema0"
},
"workdir": {
"$ref": "#/$defs/__schema1"
},
"install": {
"$ref": "#/$defs/__schema2"
},
"build": {
"$ref": "#/$defs/__schema3"
},
"start": {
"$ref": "#/$defs/__schema4"
},
"port": {
"$ref": "#/$defs/__schema5"
},
"health": {
"$ref": "#/$defs/__schema6"
},
"env": {
"$ref": "#/$defs/__schema7"
}
},
"required": [
"runtime",
"workdir",
"install",
"build",
"start",
"port",
"health",
"env"
]
},
"runtime": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"node",
"shell"
]
},
"version": {
"type": [
"string",
"null"
]
}
},
"required": [
"kind",
"version"
]
},
"entrypoint": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"args": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"command",
"args"
]
},
"ports": {
"type": "array",
"items": {
"type": "object",
"properties": {
"port": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"protocol": {
"type": "string",
"const": "http"
}
},
"required": [
"port",
"protocol"
]
}
},
"field_sources": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string",
"enum": [
"detected",
"developer"
]
}
}
},
"required": [
"runtime",
"entrypoint",
"ports",
"field_sources"
]
},
"descriptor_hash": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
},
"confirmed_by": {
"type": "string",
"pattern": "^usr_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"created_at": {
"$ref": "#/$defs/__schema8"
},
"updated_at": {
"$ref": "#/$defs/__schema8"
},
"contract_status": {
"type": "string",
"enum": [
"ready",
"rejected",
"pending"
]
},
"current_verification": {
"anyOf": [
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"verified",
"degraded",
"blocked",
"revoked"
]
},
"computed_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
}
},
"required": [
"status",
"computed_at"
]
},
{
"type": "null"
}
]
},
"pipeline_runs": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"anyOf": [
{
"type": "string",
"pattern": "^pipe_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
{
"type": "null"
}
]
},
"workspace_id": {
"type": "string",
"pattern": "^ws_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"product_id": {
"type": "string",
"pattern": "^prod_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"revision_id": {
"type": "string",
"pattern": "^rev_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"intent": {
"type": "string",
"enum": [
"preview",
"qualification",
"reassessment",
"fix_reverify"
]
},
"status": {
"type": "string",
"enum": [
"pending_snapshot",
"authorization_requested",
"blocked",
"admitted",
"requested",
"reported",
"completed",
"failed",
"passed",
"warning",
"unsafe"
]
},
"reason_code": {
"type": "string"
},
"evidence": {
"default": [],
"type": "array",
"items": {
"type": "object",
"properties": {
"stage": {
"type": "string",
"enum": [
"build",
"scan",
"startup_check"
]
},
"log_evidence": {
"type": "object",
"properties": {
"uri": {
"type": "string",
"minLength": 1
},
"sha256": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
},
"size_bytes": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"uri",
"sha256",
"size_bytes"
]
}
},
"required": [
"stage",
"log_evidence"
]
}
},
"qualification": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"qualified",
"stopped"
]
},
"reason": {
"type": "string",
"enum": [
"missing_evidence",
"blocking_findings",
"verification_blocked"
]
},
"version_id": {
"type": "string",
"pattern": "^ver_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
}
},
"required": [
"status"
]
},
"findings": {
"type": "array",
"items": {
"type": "object",
"properties": {
"kind": {
"type": "string"
},
"severity": {
"type": "string"
},
"code": {
"type": "string"
},
"message": {
"type": "string"
}
},
"required": [
"kind",
"severity",
"code",
"message"
]
}
},
"created_at": {
"$ref": "#/$defs/__schema8"
},
"updated_at": {
"$ref": "#/$defs/__schema8"
}
},
"required": [
"id",
"workspace_id",
"revision_id",
"intent",
"status",
"findings",
"created_at",
"updated_at"
]
}
}
},
"required": [
"id",
"workspace_id",
"product_id",
"input_revision_id",
"product_type",
"descriptor",
"descriptor_hash",
"confirmed_by",
"created_at",
"updated_at",
"contract_status",
"current_verification",
"pipeline_runs"
]
}
},
"next_cursor": {
"type": [
"string",
"null"
]
}
},
"required": [
"items",
"next_cursor"
],
"$defs": {
"__schema0": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"node",
"shell"
]
},
"version": {
"type": [
"string",
"null"
]
}
},
"required": [
"kind",
"version"
]
},
"__schema1": {
"type": "string",
"pattern": "^\\/.*"
},
"__schema2": {
"type": "object",
"properties": {
"package_manager": {
"anyOf": [
{
"type": "string",
"enum": [
"pnpm",
"npm",
"yarn"
]
},
{
"type": "null"
}
]
},
"command": {
"type": [
"string",
"null"
]
}
},
"required": [
"package_manager",
"command"
]
},
"__schema3": {
"type": "object",
"properties": {
"command": {
"type": [
"string",
"null"
]
}
},
"required": [
"command"
]
},
"__schema4": {
"type": "object",
"properties": {
"command": {
"type": "string"
}
},
"required": [
"command"
]
},
"__schema5": {
"type": "integer",
"minimum": 1,
"maximum": 65535
},
"__schema6": {
"type": "object",
"properties": {
"path": {
"type": "string",
"pattern": "^\\/.*"
},
"timeout_ms": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"path",
"timeout_ms"
]
},
"__schema7": {
"type": "array",
"items": {
"type": "string",
"enum": [
"PORT",
"NODE_ENV"
]
}
},
"__schema8": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
}
}
}Releases
{
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"product_id": {
"type": "string",
"pattern": "^prod_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"version_id": {
"type": "string",
"pattern": "^ver_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"channel": {
"type": "string",
"enum": [
"preview_internal",
"staged",
"production"
]
},
"audience": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"internal",
"workspace",
"custom"
]
}
},
"required": [
"kind"
]
},
"window": {
"type": "object",
"properties": {
"starts_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"ends_at": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
}
},
"required": [
"starts_at",
"ends_at"
]
},
"id": {
"type": "string",
"pattern": "^rel_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"workspace_id": {
"type": "string",
"pattern": "^ws_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"status": {
"type": "string",
"enum": [
"draft",
"ready",
"live",
"retired",
"blocked",
"pending_approval"
]
},
"frozen_at": {
"anyOf": [
{
"$ref": "#/$defs/__schema0"
},
{
"type": "null"
}
]
},
"reason_code": {
"type": [
"string",
"null"
]
},
"created_at": {
"$ref": "#/$defs/__schema0"
},
"updated_at": {
"$ref": "#/$defs/__schema0"
}
},
"required": [
"product_id",
"version_id",
"channel",
"audience",
"window",
"id",
"workspace_id",
"status",
"frozen_at",
"reason_code",
"created_at",
"updated_at"
]
}
},
"next_cursor": {
"type": [
"string",
"null"
]
}
},
"required": [
"items",
"next_cursor"
],
"$defs": {
"__schema0": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
}
}
}Deployments
{
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^dep_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"workspace_id": {
"type": "string",
"pattern": "^ws_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"product_id": {
"type": "string",
"pattern": "^prod_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"revision_id": {
"type": "string",
"pattern": "^rev_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"pipeline_run_id": {
"type": "string",
"pattern": "^pipe_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"environment_id": {
"type": "string",
"pattern": "^env_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"environment_type": {
"type": "string",
"enum": [
"preview",
"staging",
"production"
]
},
"slot": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"planned",
"applying",
"active",
"superseded",
"blocked",
"failed"
]
},
"reason_code": {
"type": "string"
},
"required_isolation_profile": {
"type": "string",
"const": "isolated-vm"
},
"egress": {
"type": "string",
"const": "deny"
},
"isolation": {
"type": "object",
"properties": {
"profile": {
"type": "string",
"const": "isolated-vm"
},
"enforced": {
"type": "boolean"
}
},
"required": [
"profile",
"enforced"
]
},
"health": {
"type": "object",
"properties": {
"checked_at": {
"$ref": "#/$defs/__schema0"
},
"attempts": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"latency_ms": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"checked_at",
"attempts",
"latency_ms"
]
},
"endpoint": {
"type": "object",
"properties": {
"address": {
"type": "string",
"minLength": 1
}
},
"required": [
"address"
]
},
"superseded_deployment_id": {
"anyOf": [
{
"type": "string",
"pattern": "^dep_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
{
"type": "null"
}
]
},
"surface_id": {
"type": "string",
"pattern": "^srf_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"findings": {
"type": "array",
"items": {
"type": "object",
"properties": {
"kind": {
"type": "string"
},
"severity": {
"type": "string"
},
"code": {
"type": "string"
},
"message": {
"type": "string"
}
},
"required": [
"kind",
"severity",
"code",
"message"
]
}
},
"created_at": {
"$ref": "#/$defs/__schema0"
},
"updated_at": {
"$ref": "#/$defs/__schema0"
},
"source": {
"anyOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "revision"
}
},
"required": [
"kind"
]
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "release"
},
"release_id": {
"type": "string",
"pattern": "^rel_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"version_id": {
"type": "string",
"pattern": "^ver_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
}
},
"required": [
"kind",
"release_id",
"version_id"
]
}
]
}
},
"required": [
"id",
"workspace_id",
"product_id",
"revision_id",
"environment_type",
"slot",
"status",
"required_isolation_profile",
"egress",
"findings",
"created_at",
"updated_at"
]
}
},
"next_cursor": {
"type": [
"string",
"null"
]
}
},
"required": [
"items",
"next_cursor"
],
"$defs": {
"__schema0": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
}
}
}Surfaces
{
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^srf_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"workspace_id": {
"type": "string",
"pattern": "^ws_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"product_id": {
"type": "string",
"pattern": "^prod_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"deployment_id": {
"type": "string",
"pattern": "^dep_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"environment_id": {
"type": "string",
"pattern": "^env_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"environment_type": {
"type": "string",
"enum": [
"preview",
"staging",
"production"
]
},
"surface_type": {
"type": "string",
"const": "web"
},
"status": {
"type": "string",
"enum": [
"awaiting_expiration_registration",
"validating",
"active",
"expiration_registration_failed",
"configuration_failed",
"expired"
]
},
"reason_code": {
"type": "string"
},
"url": {
"type": "string"
},
"route": {
"type": "object",
"properties": {
"host": {
"type": "string"
},
"path": {
"type": "string"
}
},
"required": [
"host",
"path"
]
},
"identity_requirement": {
"type": "string",
"const": "none"
},
"access_policy": {
"type": "string",
"const": "preview_direct"
},
"expires_at": {
"anyOf": [
{
"$ref": "#/$defs/__schema0"
},
{
"type": "null"
}
]
},
"deadline_id": {
"anyOf": [
{
"type": "string",
"pattern": "^ddl_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
{
"type": "null"
}
]
},
"reachability": {
"type": "object",
"properties": {
"checked_at": {
"$ref": "#/$defs/__schema0"
},
"status_code": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"latency_ms": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"checked_at",
"status_code",
"latency_ms"
]
},
"activated_at": {
"$ref": "#/$defs/__schema0"
},
"created_at": {
"$ref": "#/$defs/__schema0"
},
"updated_at": {
"$ref": "#/$defs/__schema0"
}
},
"required": [
"id",
"workspace_id",
"product_id",
"deployment_id",
"environment_id",
"environment_type",
"surface_type",
"status",
"identity_requirement",
"access_policy",
"expires_at",
"deadline_id",
"created_at",
"updated_at"
]
}
},
"next_cursor": {
"type": [
"string",
"null"
]
}
},
"required": [
"items",
"next_cursor"
],
"$defs": {
"__schema0": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
}
}
}CapabilityInvocations
{
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^cap_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"workspace_id": {
"type": "string",
"pattern": "^ws_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"product_id": {
"type": "string",
"pattern": "^prod_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"revision_id": {
"anyOf": [
{
"type": "string",
"pattern": "^rev_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
{
"type": "null"
}
]
},
"execution_id": {
"anyOf": [
{
"type": "string",
"pattern": "^exe_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
{
"type": "null"
}
]
},
"bridge_invocation_id": {
"anyOf": [
{
"type": "string",
"pattern": "^inv_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
{
"type": "null"
}
]
},
"capability": {
"type": [
"string",
"null"
]
},
"action": {
"type": [
"string",
"null"
]
},
"outcome": {
"type": "string",
"enum": [
"requested",
"completed",
"denied",
"failed"
]
},
"reason": {
"anyOf": [
{
"type": "string",
"enum": [
"outside_contract",
"permission_denied",
"policy_blocked",
"binding_missing",
"binding_revoked",
"usage_denied",
"provider_unavailable",
"provider_rejected",
"output_blocked"
]
},
{
"type": "null"
}
]
},
"provider": {
"type": [
"string",
"null"
]
},
"is_fallback_used": {
"type": "boolean"
},
"usage_units": {
"type": "number",
"minimum": 0
},
"usage_unit": {
"type": "string",
"enum": [
"tokens",
"ms",
"calls",
"bytes"
]
},
"requested_at": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
},
"finished_at": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
},
"created_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"updated_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
}
},
"required": [
"id",
"workspace_id",
"product_id",
"revision_id",
"execution_id",
"bridge_invocation_id",
"capability",
"action",
"outcome",
"reason",
"provider",
"is_fallback_used",
"usage_units",
"usage_unit",
"requested_at",
"finished_at",
"created_at",
"updated_at"
]
}
},
"next_cursor": {
"type": [
"string",
"null"
]
}
},
"required": [
"items",
"next_cursor"
]
}Credentials
{
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^cred_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"workspace_id": {
"anyOf": [
{
"type": "string",
"pattern": "^ws_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
{
"type": "string",
"const": "ws_platform"
}
]
},
"owner_kind": {
"type": "string",
"enum": [
"workspace",
"platform"
]
},
"provider": {
"type": "string"
},
"capability": {
"type": "string"
},
"actions": {
"type": "array",
"items": {
"type": "string"
}
},
"scope": {
"type": "array",
"items": {
"type": "string"
}
},
"expires_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"created_by": {
"type": "string",
"pattern": "^usr_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"created_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"updated_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
}
},
"required": [
"id",
"workspace_id",
"owner_kind",
"provider",
"capability",
"actions",
"scope",
"expires_at",
"created_by",
"created_at",
"updated_at"
]
}
},
"next_cursor": {
"type": [
"string",
"null"
]
}
},
"required": [
"items",
"next_cursor"
]
}ServiceIdentities
{
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"properties": {
"id": {
"$ref": "#/$defs/__schema0"
},
"service_identity_id": {
"$ref": "#/$defs/__schema1"
},
"oidc_client_id": {
"$ref": "#/$defs/__schema2"
},
"status": {
"$ref": "#/$defs/__schema3"
},
"created_at": {
"$ref": "#/$defs/__schema4"
},
"updated_at": {
"$ref": "#/$defs/__schema5"
},
"kind": {
"default": "bridge",
"type": "string",
"const": "bridge"
},
"product_id": {
"type": "string",
"pattern": "^prod_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"scope": {
"oneOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"const": "ai.generate"
},
"actions": {
"minItems": 1,
"type": "array",
"items": {
"$ref": "#/$defs/__schema6"
}
},
"scope": {
"type": "object",
"properties": {
"models": {
"minItems": 1,
"type": "array",
"items": {
"$ref": "#/$defs/__schema7"
}
},
"max_tokens_per_call": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"models",
"max_tokens_per_call"
]
}
},
"required": [
"id",
"actions",
"scope"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"const": "storage.object"
},
"actions": {
"minItems": 1,
"type": "array",
"items": {
"$ref": "#/$defs/__schema8"
}
},
"scope": {
"type": "object",
"properties": {
"prefix": {
"type": "string",
"pattern": "^\\/(?!.*\\.\\.).*$"
},
"max_object_bytes": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"prefix",
"max_object_bytes"
]
}
},
"required": [
"id",
"actions",
"scope"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"const": "data.kv"
},
"actions": {
"minItems": 1,
"type": "array",
"items": {
"$ref": "#/$defs/__schema9"
}
},
"scope": {
"type": "object",
"properties": {
"prefix": {
"type": "string",
"pattern": "^\\/(?!.*\\.\\.).*$"
},
"max_value_bytes": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 65536
},
"max_keys": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
}
},
"required": [
"prefix",
"max_value_bytes",
"max_keys"
]
}
},
"required": [
"id",
"actions",
"scope"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"const": "email.send"
},
"actions": {
"minItems": 1,
"type": "array",
"items": {
"$ref": "#/$defs/__schema10"
}
},
"scope": {
"type": "object",
"properties": {
"from_addresses": {
"minItems": 1,
"maxItems": 32,
"type": "array",
"items": {
"$ref": "#/$defs/__schema11"
}
},
"recipient_domains": {
"minItems": 1,
"maxItems": 32,
"type": "array",
"items": {
"$ref": "#/$defs/__schema12"
}
},
"max_recipients": {
"type": "integer",
"minimum": 1,
"maximum": 50
},
"max_message_bytes": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 1048576
}
},
"required": [
"from_addresses",
"recipient_domains",
"max_recipients",
"max_message_bytes"
]
}
},
"required": [
"id",
"actions",
"scope"
]
}
]
},
"budget": {
"type": "object",
"properties": {
"units": {
"type": "number",
"minimum": 0
},
"unit": {
"type": "string",
"enum": [
"tokens",
"bytes",
"calls"
]
}
},
"required": [
"units",
"unit"
]
},
"workspace_id": {
"type": "string",
"pattern": "^ws_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
}
},
"required": [
"id",
"service_identity_id",
"oidc_client_id",
"status",
"created_at",
"updated_at",
"product_id",
"scope",
"budget",
"workspace_id"
]
},
{
"type": "object",
"properties": {
"id": {
"$ref": "#/$defs/__schema0"
},
"service_identity_id": {
"$ref": "#/$defs/__schema1"
},
"oidc_client_id": {
"$ref": "#/$defs/__schema2"
},
"status": {
"$ref": "#/$defs/__schema3"
},
"created_at": {
"$ref": "#/$defs/__schema4"
},
"updated_at": {
"$ref": "#/$defs/__schema5"
},
"kind": {
"type": "string",
"const": "runner"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"product_id": {
"type": "null"
},
"scope": {
"type": "null"
},
"budget": {
"type": "null"
},
"workspace_id": {
"type": "string",
"const": "ws_platform"
}
},
"required": [
"id",
"service_identity_id",
"oidc_client_id",
"status",
"created_at",
"updated_at",
"kind",
"name",
"product_id",
"scope",
"budget",
"workspace_id"
]
},
{
"type": "object",
"properties": {
"id": {
"$ref": "#/$defs/__schema0"
},
"service_identity_id": {
"$ref": "#/$defs/__schema1"
},
"oidc_client_id": {
"$ref": "#/$defs/__schema2"
},
"status": {
"$ref": "#/$defs/__schema3"
},
"created_at": {
"$ref": "#/$defs/__schema4"
},
"updated_at": {
"$ref": "#/$defs/__schema5"
},
"kind": {
"type": "string",
"const": "control-plane"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"product_id": {
"type": "null"
},
"scope": {
"type": "null"
},
"budget": {
"type": "null"
},
"workspace_id": {
"type": "string",
"const": "ws_platform"
}
},
"required": [
"id",
"service_identity_id",
"oidc_client_id",
"status",
"created_at",
"updated_at",
"kind",
"name",
"product_id",
"scope",
"budget",
"workspace_id"
]
}
]
}
},
"next_cursor": {
"type": [
"string",
"null"
]
}
},
"required": [
"items",
"next_cursor"
],
"$defs": {
"__schema0": {
"type": "string",
"pattern": "^svc_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"__schema1": {
"type": "string",
"pattern": "^svc_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"__schema2": {
"type": "string",
"minLength": 1
},
"__schema3": {
"type": "string",
"enum": [
"active",
"revoked"
]
},
"__schema4": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"__schema5": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"__schema6": {
"type": "string",
"enum": [
"generate"
]
},
"__schema7": {
"type": "string",
"enum": [
"text",
"embedding"
]
},
"__schema8": {
"type": "string",
"enum": [
"read",
"write",
"delete",
"list"
]
},
"__schema9": {
"type": "string",
"enum": [
"get",
"set",
"delete",
"list",
"increment"
]
},
"__schema10": {
"type": "string",
"enum": [
"send"
]
},
"__schema11": {
"type": "string",
"maxLength": 254,
"pattern": "^(?!.*[A-Z])(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[ !#-[\\]-~]|\\\\[ -~])*\")@(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)*[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$"
},
"__schema12": {
"type": "string",
"maxLength": 253,
"pattern": "^(?:\\*|(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)*[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)$"
}
}
}CredentialRequest
{
"type": "object",
"properties": {
"secret": {
"type": "string",
"minLength": 1,
"maxLength": 16384
},
"provider": {
"$ref": "#/$defs/__schema0"
},
"capability": {
"$ref": "#/$defs/__schema0"
},
"actions": {
"minItems": 1,
"maxItems": 64,
"type": "array",
"items": {
"$ref": "#/$defs/__schema0"
}
},
"scope": {
"maxItems": 200,
"type": "array",
"items": {
"$ref": "#/$defs/__schema0"
}
},
"expires_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
}
},
"required": [
"secret",
"provider",
"capability",
"actions",
"scope",
"expires_at"
],
"$defs": {
"__schema0": {
"type": "string",
"minLength": 1,
"maxLength": 128
}
}
}Credential
{
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^cred_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"workspace_id": {
"anyOf": [
{
"type": "string",
"pattern": "^ws_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
{
"type": "string",
"const": "ws_platform"
}
]
},
"owner_kind": {
"type": "string",
"enum": [
"workspace",
"platform"
]
},
"provider": {
"type": "string"
},
"capability": {
"type": "string"
},
"actions": {
"type": "array",
"items": {
"type": "string"
}
},
"scope": {
"type": "array",
"items": {
"type": "string"
}
},
"expires_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"created_by": {
"type": "string",
"pattern": "^usr_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"created_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"updated_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
}
},
"required": [
"id",
"workspace_id",
"owner_kind",
"provider",
"capability",
"actions",
"scope",
"expires_at",
"created_by",
"created_at",
"updated_at"
]
}ProviderBindingRequest
{
"type": "object",
"properties": {
"credential_id": {
"type": "string",
"pattern": "^cred_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"capability": {
"$ref": "#/$defs/__schema0"
},
"actions": {
"minItems": 1,
"maxItems": 64,
"type": "array",
"items": {
"$ref": "#/$defs/__schema0"
}
},
"scope": {
"maxItems": 200,
"type": "array",
"items": {
"$ref": "#/$defs/__schema0"
}
},
"purpose": {
"default": "fix",
"type": "string",
"enum": [
"fix",
"adjudication",
"product"
]
},
"budget": {
"type": "object",
"properties": {
"units": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"unit": {
"type": "string",
"const": "tokens"
}
},
"required": [
"units",
"unit"
]
},
"capability_scope": {
"oneOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"const": "ai.generate"
},
"scope": {
"type": "object",
"properties": {
"models": {
"minItems": 1,
"type": "array",
"items": {
"$ref": "#/$defs/__schema1"
}
},
"max_tokens_per_call": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"models",
"max_tokens_per_call"
]
},
"provider_models": {
"type": "object",
"properties": {
"text": {
"type": "string",
"minLength": 1
},
"embedding": {
"type": "string",
"minLength": 1
}
}
}
},
"required": [
"id",
"scope",
"provider_models"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"const": "storage.object"
},
"scope": {
"type": "object",
"properties": {
"prefix": {
"type": "string",
"pattern": "^\\/(?!.*\\.\\.).*$"
},
"max_object_bytes": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"prefix",
"max_object_bytes"
]
}
},
"required": [
"id",
"scope"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"const": "data.kv"
},
"scope": {
"type": "object",
"properties": {
"prefix": {
"type": "string",
"pattern": "^\\/(?!.*\\.\\.).*$"
},
"max_value_bytes": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 65536
},
"max_keys": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
}
},
"required": [
"prefix",
"max_value_bytes",
"max_keys"
]
}
},
"required": [
"id",
"scope"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"const": "email.send"
},
"scope": {
"type": "object",
"properties": {
"from_addresses": {
"minItems": 1,
"maxItems": 32,
"type": "array",
"items": {
"$ref": "#/$defs/__schema2"
}
},
"recipient_domains": {
"minItems": 1,
"maxItems": 32,
"type": "array",
"items": {
"$ref": "#/$defs/__schema3"
}
},
"max_recipients": {
"type": "integer",
"minimum": 1,
"maximum": 50
},
"max_message_bytes": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 1048576
}
},
"required": [
"from_addresses",
"recipient_domains",
"max_recipients",
"max_message_bytes"
]
}
},
"required": [
"id",
"scope"
]
}
]
},
"expires_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
}
},
"required": [
"credential_id",
"capability",
"actions",
"scope",
"expires_at"
],
"$defs": {
"__schema0": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"__schema1": {
"type": "string",
"enum": [
"text",
"embedding"
]
},
"__schema2": {
"type": "string",
"maxLength": 254,
"pattern": "^(?!.*[A-Z])(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[ !#-[\\]-~]|\\\\[ -~])*\")@(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)*[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$"
},
"__schema3": {
"type": "string",
"maxLength": 253,
"pattern": "^(?:\\*|(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)*[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)$"
}
}
}ProviderBinding
{
"type": "object",
"properties": {
"workspace_id": {
"anyOf": [
{
"type": "string",
"pattern": "^ws_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
{
"type": "string",
"const": "ws_platform"
}
]
},
"owner_kind": {
"type": "string",
"enum": [
"workspace",
"platform"
]
},
"provider": {
"type": "string"
},
"capability": {
"type": "string"
},
"actions": {
"type": "array",
"items": {
"type": "string"
}
},
"scope": {
"type": "array",
"items": {
"type": "string"
}
},
"expires_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"created_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"updated_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"purpose": {
"default": "fix",
"type": "string",
"enum": [
"fix",
"adjudication",
"product"
]
},
"budget": {
"type": "object",
"properties": {
"units": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"unit": {
"type": "string",
"const": "tokens"
}
},
"required": [
"units",
"unit"
]
},
"id": {
"type": "string",
"pattern": "^bind_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"credential_id": {
"type": "string",
"pattern": "^cred_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"requested_by": {
"type": "string",
"pattern": "^usr_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"state": {
"type": "string",
"enum": [
"requested",
"active",
"blocked",
"revoked"
]
},
"reason": {
"type": [
"string",
"null"
]
}
},
"required": [
"workspace_id",
"owner_kind",
"provider",
"capability",
"actions",
"scope",
"expires_at",
"created_at",
"updated_at",
"id",
"credential_id",
"requested_by",
"state",
"reason"
]
}ProviderBindings
{
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"workspace_id": {
"anyOf": [
{
"type": "string",
"pattern": "^ws_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
{
"type": "string",
"const": "ws_platform"
}
]
},
"owner_kind": {
"type": "string",
"enum": [
"workspace",
"platform"
]
},
"provider": {
"type": "string"
},
"capability": {
"type": "string"
},
"actions": {
"type": "array",
"items": {
"type": "string"
}
},
"scope": {
"type": "array",
"items": {
"type": "string"
}
},
"expires_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"created_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"updated_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"purpose": {
"default": "fix",
"type": "string",
"enum": [
"fix",
"adjudication",
"product"
]
},
"budget": {
"type": "object",
"properties": {
"units": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"unit": {
"type": "string",
"const": "tokens"
}
},
"required": [
"units",
"unit"
]
},
"id": {
"type": "string",
"pattern": "^bind_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"credential_id": {
"type": "string",
"pattern": "^cred_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"requested_by": {
"type": "string",
"pattern": "^usr_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"state": {
"type": "string",
"enum": [
"requested",
"active",
"blocked",
"revoked"
]
},
"reason": {
"type": [
"string",
"null"
]
}
},
"required": [
"workspace_id",
"owner_kind",
"provider",
"capability",
"actions",
"scope",
"expires_at",
"created_at",
"updated_at",
"id",
"credential_id",
"requested_by",
"state",
"reason"
]
}
},
"next_cursor": {
"type": [
"string",
"null"
]
}
},
"required": [
"items",
"next_cursor"
]
}BridgeRequest
{
"type": "object",
"properties": {
"request": {
"oneOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"const": "ai.generate"
},
"action": {
"type": "string",
"const": "generate"
},
"model_kind": {
"type": "string",
"enum": [
"text",
"embedding"
]
},
"max_tokens": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"id",
"action",
"model_kind",
"max_tokens"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"const": "storage.object"
},
"action": {
"type": "string",
"enum": [
"read",
"write",
"delete",
"list"
]
},
"key": {
"type": "string",
"pattern": "^\\/(?!.*\\.\\.).*$"
},
"bytes": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"id",
"action",
"key"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"const": "data.kv"
},
"action": {
"type": "string",
"enum": [
"get",
"set",
"delete",
"list",
"increment"
]
},
"key": {
"type": "string",
"pattern": "^\\/(?!.*\\.\\.).*$"
},
"bytes": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"id",
"action",
"key"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"const": "email.send"
},
"action": {
"type": "string",
"const": "send"
},
"from": {
"$ref": "#/$defs/__schema0"
},
"recipients": {
"minItems": 1,
"maxItems": 50,
"type": "array",
"items": {
"$ref": "#/$defs/__schema0"
}
},
"bytes": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"id",
"action",
"from",
"recipients",
"bytes"
]
}
]
},
"input": {
"oneOf": [
{
"$ref": "#/$defs/__schema1"
},
{
"$ref": "#/$defs/__schema2"
}
]
}
},
"required": [
"request",
"input"
],
"$defs": {
"__schema0": {
"type": "string",
"maxLength": 254,
"pattern": "^(?!.*[A-Z])(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[ !#-[\\]-~]|\\\\[ -~])*\")@(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)*[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$"
},
"__schema1": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "inline"
},
"json": {}
},
"required": [
"kind",
"json"
]
},
"__schema2": {
"type": "object",
"properties": {
"uri": {
"type": "string"
},
"sha256": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
},
"size_bytes": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"kind": {
"type": "string",
"const": "evidence"
}
},
"required": [
"uri",
"sha256",
"size_bytes",
"kind"
]
}
}
}BridgeOutput
{
"oneOf": [
{
"$ref": "#/$defs/__schema0"
},
{
"$ref": "#/$defs/__schema1"
}
],
"$defs": {
"__schema0": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "inline"
},
"json": {}
},
"required": [
"kind",
"json"
]
},
"__schema1": {
"type": "object",
"properties": {
"uri": {
"type": "string"
},
"sha256": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
},
"size_bytes": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"kind": {
"type": "string",
"const": "evidence"
}
},
"required": [
"uri",
"sha256",
"size_bytes",
"kind"
]
}
}
}ServiceIdentityRequest
{
"oneOf": [
{
"type": "object",
"properties": {
"kind": {
"default": "bridge",
"type": "string",
"const": "bridge"
},
"product_id": {
"type": "string",
"pattern": "^prod_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"scope": {
"oneOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"const": "ai.generate"
},
"actions": {
"minItems": 1,
"type": "array",
"items": {
"$ref": "#/$defs/__schema0"
}
},
"scope": {
"type": "object",
"properties": {
"models": {
"minItems": 1,
"type": "array",
"items": {
"$ref": "#/$defs/__schema1"
}
},
"max_tokens_per_call": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"models",
"max_tokens_per_call"
]
}
},
"required": [
"id",
"actions",
"scope"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"const": "storage.object"
},
"actions": {
"minItems": 1,
"type": "array",
"items": {
"$ref": "#/$defs/__schema2"
}
},
"scope": {
"type": "object",
"properties": {
"prefix": {
"type": "string",
"pattern": "^\\/(?!.*\\.\\.).*$"
},
"max_object_bytes": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"prefix",
"max_object_bytes"
]
}
},
"required": [
"id",
"actions",
"scope"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"const": "data.kv"
},
"actions": {
"minItems": 1,
"type": "array",
"items": {
"$ref": "#/$defs/__schema3"
}
},
"scope": {
"type": "object",
"properties": {
"prefix": {
"type": "string",
"pattern": "^\\/(?!.*\\.\\.).*$"
},
"max_value_bytes": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 65536
},
"max_keys": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
}
},
"required": [
"prefix",
"max_value_bytes",
"max_keys"
]
}
},
"required": [
"id",
"actions",
"scope"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"const": "email.send"
},
"actions": {
"minItems": 1,
"type": "array",
"items": {
"$ref": "#/$defs/__schema4"
}
},
"scope": {
"type": "object",
"properties": {
"from_addresses": {
"minItems": 1,
"maxItems": 32,
"type": "array",
"items": {
"$ref": "#/$defs/__schema5"
}
},
"recipient_domains": {
"minItems": 1,
"maxItems": 32,
"type": "array",
"items": {
"$ref": "#/$defs/__schema6"
}
},
"max_recipients": {
"type": "integer",
"minimum": 1,
"maximum": 50
},
"max_message_bytes": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 1048576
}
},
"required": [
"from_addresses",
"recipient_domains",
"max_recipients",
"max_message_bytes"
]
}
},
"required": [
"id",
"actions",
"scope"
]
}
]
},
"budget": {
"type": "object",
"properties": {
"units": {
"type": "number",
"minimum": 0
},
"unit": {
"type": "string",
"enum": [
"tokens",
"bytes",
"calls"
]
}
},
"required": [
"units",
"unit"
]
}
},
"required": [
"product_id",
"scope",
"budget"
]
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "runner"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"product_id": {
"type": "null"
},
"scope": {
"type": "null"
},
"budget": {
"type": "null"
}
},
"required": [
"kind",
"name",
"product_id",
"scope",
"budget"
]
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "control-plane"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"product_id": {
"type": "null"
},
"scope": {
"type": "null"
},
"budget": {
"type": "null"
}
},
"required": [
"kind",
"name",
"product_id",
"scope",
"budget"
]
}
],
"$defs": {
"__schema0": {
"type": "string",
"enum": [
"generate"
]
},
"__schema1": {
"type": "string",
"enum": [
"text",
"embedding"
]
},
"__schema2": {
"type": "string",
"enum": [
"read",
"write",
"delete",
"list"
]
},
"__schema3": {
"type": "string",
"enum": [
"get",
"set",
"delete",
"list",
"increment"
]
},
"__schema4": {
"type": "string",
"enum": [
"send"
]
},
"__schema5": {
"type": "string",
"maxLength": 254,
"pattern": "^(?!.*[A-Z])(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[ !#-[\\]-~]|\\\\[ -~])*\")@(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)*[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$"
},
"__schema6": {
"type": "string",
"maxLength": 253,
"pattern": "^(?:\\*|(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)*[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)$"
}
}
}ServiceIdentity
{
"oneOf": [
{
"type": "object",
"properties": {
"id": {
"$ref": "#/$defs/__schema0"
},
"service_identity_id": {
"$ref": "#/$defs/__schema1"
},
"oidc_client_id": {
"$ref": "#/$defs/__schema2"
},
"status": {
"$ref": "#/$defs/__schema3"
},
"created_at": {
"$ref": "#/$defs/__schema4"
},
"updated_at": {
"$ref": "#/$defs/__schema5"
},
"kind": {
"default": "bridge",
"type": "string",
"const": "bridge"
},
"product_id": {
"type": "string",
"pattern": "^prod_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"scope": {
"oneOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"const": "ai.generate"
},
"actions": {
"minItems": 1,
"type": "array",
"items": {
"$ref": "#/$defs/__schema6"
}
},
"scope": {
"type": "object",
"properties": {
"models": {
"minItems": 1,
"type": "array",
"items": {
"$ref": "#/$defs/__schema7"
}
},
"max_tokens_per_call": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"models",
"max_tokens_per_call"
]
}
},
"required": [
"id",
"actions",
"scope"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"const": "storage.object"
},
"actions": {
"minItems": 1,
"type": "array",
"items": {
"$ref": "#/$defs/__schema8"
}
},
"scope": {
"type": "object",
"properties": {
"prefix": {
"type": "string",
"pattern": "^\\/(?!.*\\.\\.).*$"
},
"max_object_bytes": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"prefix",
"max_object_bytes"
]
}
},
"required": [
"id",
"actions",
"scope"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"const": "data.kv"
},
"actions": {
"minItems": 1,
"type": "array",
"items": {
"$ref": "#/$defs/__schema9"
}
},
"scope": {
"type": "object",
"properties": {
"prefix": {
"type": "string",
"pattern": "^\\/(?!.*\\.\\.).*$"
},
"max_value_bytes": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 65536
},
"max_keys": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
}
},
"required": [
"prefix",
"max_value_bytes",
"max_keys"
]
}
},
"required": [
"id",
"actions",
"scope"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"const": "email.send"
},
"actions": {
"minItems": 1,
"type": "array",
"items": {
"$ref": "#/$defs/__schema10"
}
},
"scope": {
"type": "object",
"properties": {
"from_addresses": {
"minItems": 1,
"maxItems": 32,
"type": "array",
"items": {
"$ref": "#/$defs/__schema11"
}
},
"recipient_domains": {
"minItems": 1,
"maxItems": 32,
"type": "array",
"items": {
"$ref": "#/$defs/__schema12"
}
},
"max_recipients": {
"type": "integer",
"minimum": 1,
"maximum": 50
},
"max_message_bytes": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 1048576
}
},
"required": [
"from_addresses",
"recipient_domains",
"max_recipients",
"max_message_bytes"
]
}
},
"required": [
"id",
"actions",
"scope"
]
}
]
},
"budget": {
"type": "object",
"properties": {
"units": {
"type": "number",
"minimum": 0
},
"unit": {
"type": "string",
"enum": [
"tokens",
"bytes",
"calls"
]
}
},
"required": [
"units",
"unit"
]
},
"workspace_id": {
"type": "string",
"pattern": "^ws_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
}
},
"required": [
"id",
"service_identity_id",
"oidc_client_id",
"status",
"created_at",
"updated_at",
"product_id",
"scope",
"budget",
"workspace_id"
]
},
{
"type": "object",
"properties": {
"id": {
"$ref": "#/$defs/__schema0"
},
"service_identity_id": {
"$ref": "#/$defs/__schema1"
},
"oidc_client_id": {
"$ref": "#/$defs/__schema2"
},
"status": {
"$ref": "#/$defs/__schema3"
},
"created_at": {
"$ref": "#/$defs/__schema4"
},
"updated_at": {
"$ref": "#/$defs/__schema5"
},
"kind": {
"type": "string",
"const": "runner"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"product_id": {
"type": "null"
},
"scope": {
"type": "null"
},
"budget": {
"type": "null"
},
"workspace_id": {
"type": "string",
"const": "ws_platform"
}
},
"required": [
"id",
"service_identity_id",
"oidc_client_id",
"status",
"created_at",
"updated_at",
"kind",
"name",
"product_id",
"scope",
"budget",
"workspace_id"
]
},
{
"type": "object",
"properties": {
"id": {
"$ref": "#/$defs/__schema0"
},
"service_identity_id": {
"$ref": "#/$defs/__schema1"
},
"oidc_client_id": {
"$ref": "#/$defs/__schema2"
},
"status": {
"$ref": "#/$defs/__schema3"
},
"created_at": {
"$ref": "#/$defs/__schema4"
},
"updated_at": {
"$ref": "#/$defs/__schema5"
},
"kind": {
"type": "string",
"const": "control-plane"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"product_id": {
"type": "null"
},
"scope": {
"type": "null"
},
"budget": {
"type": "null"
},
"workspace_id": {
"type": "string",
"const": "ws_platform"
}
},
"required": [
"id",
"service_identity_id",
"oidc_client_id",
"status",
"created_at",
"updated_at",
"kind",
"name",
"product_id",
"scope",
"budget",
"workspace_id"
]
}
],
"$defs": {
"__schema0": {
"type": "string",
"pattern": "^svc_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"__schema1": {
"type": "string",
"pattern": "^svc_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"__schema2": {
"type": "string",
"minLength": 1
},
"__schema3": {
"type": "string",
"enum": [
"active",
"revoked"
]
},
"__schema4": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"__schema5": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"__schema6": {
"type": "string",
"enum": [
"generate"
]
},
"__schema7": {
"type": "string",
"enum": [
"text",
"embedding"
]
},
"__schema8": {
"type": "string",
"enum": [
"read",
"write",
"delete",
"list"
]
},
"__schema9": {
"type": "string",
"enum": [
"get",
"set",
"delete",
"list",
"increment"
]
},
"__schema10": {
"type": "string",
"enum": [
"send"
]
},
"__schema11": {
"type": "string",
"maxLength": 254,
"pattern": "^(?!.*[A-Z])(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[ !#-[\\]-~]|\\\\[ -~])*\")@(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)*[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$"
},
"__schema12": {
"type": "string",
"maxLength": 253,
"pattern": "^(?:\\*|(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)*[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)$"
}
}
}ServiceIdentityCreated
{
"oneOf": [
{
"type": "object",
"properties": {
"id": {
"$ref": "#/$defs/__schema0"
},
"service_identity_id": {
"$ref": "#/$defs/__schema1"
},
"oidc_client_id": {
"$ref": "#/$defs/__schema2"
},
"status": {
"$ref": "#/$defs/__schema3"
},
"created_at": {
"$ref": "#/$defs/__schema4"
},
"updated_at": {
"$ref": "#/$defs/__schema5"
},
"kind": {
"default": "bridge",
"type": "string",
"const": "bridge"
},
"product_id": {
"type": "string",
"pattern": "^prod_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"scope": {
"oneOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"const": "ai.generate"
},
"actions": {
"minItems": 1,
"type": "array",
"items": {
"$ref": "#/$defs/__schema6"
}
},
"scope": {
"type": "object",
"properties": {
"models": {
"minItems": 1,
"type": "array",
"items": {
"$ref": "#/$defs/__schema7"
}
},
"max_tokens_per_call": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"models",
"max_tokens_per_call"
]
}
},
"required": [
"id",
"actions",
"scope"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"const": "storage.object"
},
"actions": {
"minItems": 1,
"type": "array",
"items": {
"$ref": "#/$defs/__schema8"
}
},
"scope": {
"type": "object",
"properties": {
"prefix": {
"type": "string",
"pattern": "^\\/(?!.*\\.\\.).*$"
},
"max_object_bytes": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"prefix",
"max_object_bytes"
]
}
},
"required": [
"id",
"actions",
"scope"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"const": "data.kv"
},
"actions": {
"minItems": 1,
"type": "array",
"items": {
"$ref": "#/$defs/__schema9"
}
},
"scope": {
"type": "object",
"properties": {
"prefix": {
"type": "string",
"pattern": "^\\/(?!.*\\.\\.).*$"
},
"max_value_bytes": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 65536
},
"max_keys": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
}
},
"required": [
"prefix",
"max_value_bytes",
"max_keys"
]
}
},
"required": [
"id",
"actions",
"scope"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"const": "email.send"
},
"actions": {
"minItems": 1,
"type": "array",
"items": {
"$ref": "#/$defs/__schema10"
}
},
"scope": {
"type": "object",
"properties": {
"from_addresses": {
"minItems": 1,
"maxItems": 32,
"type": "array",
"items": {
"$ref": "#/$defs/__schema11"
}
},
"recipient_domains": {
"minItems": 1,
"maxItems": 32,
"type": "array",
"items": {
"$ref": "#/$defs/__schema12"
}
},
"max_recipients": {
"type": "integer",
"minimum": 1,
"maximum": 50
},
"max_message_bytes": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 1048576
}
},
"required": [
"from_addresses",
"recipient_domains",
"max_recipients",
"max_message_bytes"
]
}
},
"required": [
"id",
"actions",
"scope"
]
}
]
},
"budget": {
"type": "object",
"properties": {
"units": {
"type": "number",
"minimum": 0
},
"unit": {
"type": "string",
"enum": [
"tokens",
"bytes",
"calls"
]
}
},
"required": [
"units",
"unit"
]
},
"workspace_id": {
"type": "string",
"pattern": "^ws_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"client_secret": {
"type": "string"
}
},
"required": [
"id",
"service_identity_id",
"oidc_client_id",
"status",
"created_at",
"updated_at",
"product_id",
"scope",
"budget",
"workspace_id"
]
},
{
"type": "object",
"properties": {
"id": {
"$ref": "#/$defs/__schema0"
},
"service_identity_id": {
"$ref": "#/$defs/__schema1"
},
"oidc_client_id": {
"$ref": "#/$defs/__schema2"
},
"status": {
"$ref": "#/$defs/__schema3"
},
"created_at": {
"$ref": "#/$defs/__schema4"
},
"updated_at": {
"$ref": "#/$defs/__schema5"
},
"kind": {
"type": "string",
"const": "runner"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"product_id": {
"type": "null"
},
"scope": {
"type": "null"
},
"budget": {
"type": "null"
},
"workspace_id": {
"type": "string",
"const": "ws_platform"
},
"client_secret": {
"type": "string"
}
},
"required": [
"id",
"service_identity_id",
"oidc_client_id",
"status",
"created_at",
"updated_at",
"kind",
"name",
"product_id",
"scope",
"budget",
"workspace_id"
]
},
{
"type": "object",
"properties": {
"id": {
"$ref": "#/$defs/__schema0"
},
"service_identity_id": {
"$ref": "#/$defs/__schema1"
},
"oidc_client_id": {
"$ref": "#/$defs/__schema2"
},
"status": {
"$ref": "#/$defs/__schema3"
},
"created_at": {
"$ref": "#/$defs/__schema4"
},
"updated_at": {
"$ref": "#/$defs/__schema5"
},
"kind": {
"type": "string",
"const": "control-plane"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"product_id": {
"type": "null"
},
"scope": {
"type": "null"
},
"budget": {
"type": "null"
},
"workspace_id": {
"type": "string",
"const": "ws_platform"
},
"client_secret": {
"type": "string"
}
},
"required": [
"id",
"service_identity_id",
"oidc_client_id",
"status",
"created_at",
"updated_at",
"kind",
"name",
"product_id",
"scope",
"budget",
"workspace_id"
]
}
],
"$defs": {
"__schema0": {
"type": "string",
"pattern": "^svc_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"__schema1": {
"type": "string",
"pattern": "^svc_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"__schema2": {
"type": "string",
"minLength": 1
},
"__schema3": {
"type": "string",
"enum": [
"active",
"revoked"
]
},
"__schema4": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"__schema5": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"__schema6": {
"type": "string",
"enum": [
"generate"
]
},
"__schema7": {
"type": "string",
"enum": [
"text",
"embedding"
]
},
"__schema8": {
"type": "string",
"enum": [
"read",
"write",
"delete",
"list"
]
},
"__schema9": {
"type": "string",
"enum": [
"get",
"set",
"delete",
"list",
"increment"
]
},
"__schema10": {
"type": "string",
"enum": [
"send"
]
},
"__schema11": {
"type": "string",
"maxLength": 254,
"pattern": "^(?!.*[A-Z])(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[ !#-[\\]-~]|\\\\[ -~])*\")@(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)*[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$"
},
"__schema12": {
"type": "string",
"maxLength": 253,
"pattern": "^(?:\\*|(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)*[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)$"
}
}
}CapabilityInvocation
{
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^cap_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"workspace_id": {
"type": "string",
"pattern": "^ws_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"product_id": {
"type": "string",
"pattern": "^prod_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"revision_id": {
"anyOf": [
{
"type": "string",
"pattern": "^rev_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
{
"type": "null"
}
]
},
"execution_id": {
"anyOf": [
{
"type": "string",
"pattern": "^exe_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
{
"type": "null"
}
]
},
"bridge_invocation_id": {
"anyOf": [
{
"type": "string",
"pattern": "^inv_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
{
"type": "null"
}
]
},
"capability": {
"type": [
"string",
"null"
]
},
"action": {
"type": [
"string",
"null"
]
},
"outcome": {
"type": "string",
"enum": [
"requested",
"completed",
"denied",
"failed"
]
},
"reason": {
"anyOf": [
{
"type": "string",
"enum": [
"outside_contract",
"permission_denied",
"policy_blocked",
"binding_missing",
"binding_revoked",
"usage_denied",
"provider_unavailable",
"provider_rejected",
"output_blocked"
]
},
{
"type": "null"
}
]
},
"provider": {
"type": [
"string",
"null"
]
},
"is_fallback_used": {
"type": "boolean"
},
"usage_units": {
"type": "number",
"minimum": 0
},
"usage_unit": {
"type": "string",
"enum": [
"tokens",
"ms",
"calls",
"bytes"
]
},
"requested_at": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
},
"finished_at": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
},
"created_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"updated_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
}
},
"required": [
"id",
"workspace_id",
"product_id",
"revision_id",
"execution_id",
"bridge_invocation_id",
"capability",
"action",
"outcome",
"reason",
"provider",
"is_fallback_used",
"usage_units",
"usage_unit",
"requested_at",
"finished_at",
"created_at",
"updated_at"
]
}RunnerCapabilityRequest
{
"type": "object",
"properties": {
"execution_id": {
"type": "string",
"pattern": "^exe_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"request_event_id": {
"type": "string",
"pattern": "^evt_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"correlation_id": {
"type": "string",
"pattern": "^(mres|ws|usr|prod|rev|ver|rel|env|dep|srf|acc|ses|inv|exe|evt|pend|ddl|ntf|pipe|fnd|qual|cred|bind|hdl|cap|svc|frz|adj|fix|upl|dom|wb|ctx|aud|pay|ivc|rfd)_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"request": {
"oneOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"const": "ai.generate"
},
"action": {
"type": "string",
"const": "generate"
},
"model_kind": {
"type": "string",
"enum": [
"text",
"embedding"
]
},
"max_tokens": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"id",
"action",
"model_kind",
"max_tokens"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"const": "storage.object"
},
"action": {
"type": "string",
"enum": [
"read",
"write",
"delete",
"list"
]
},
"key": {
"type": "string",
"pattern": "^\\/(?!.*\\.\\.).*$"
},
"bytes": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"id",
"action",
"key"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"const": "data.kv"
},
"action": {
"type": "string",
"enum": [
"get",
"set",
"delete",
"list",
"increment"
]
},
"key": {
"type": "string",
"pattern": "^\\/(?!.*\\.\\.).*$"
},
"bytes": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"id",
"action",
"key"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"const": "email.send"
},
"action": {
"type": "string",
"const": "send"
},
"from": {
"$ref": "#/$defs/__schema0"
},
"recipients": {
"minItems": 1,
"maxItems": 50,
"type": "array",
"items": {
"$ref": "#/$defs/__schema0"
}
},
"bytes": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"id",
"action",
"from",
"recipients",
"bytes"
]
}
]
},
"input": {
"oneOf": [
{
"$ref": "#/$defs/__schema1"
},
{
"$ref": "#/$defs/__schema2"
}
]
}
},
"required": [
"execution_id",
"request_event_id",
"correlation_id",
"request",
"input"
],
"$defs": {
"__schema0": {
"type": "string",
"maxLength": 254,
"pattern": "^(?!.*[A-Z])(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[ !#-[\\]-~]|\\\\[ -~])*\")@(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)*[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$"
},
"__schema1": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "inline"
},
"json": {}
},
"required": [
"kind",
"json"
]
},
"__schema2": {
"type": "object",
"properties": {
"uri": {
"type": "string"
},
"sha256": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
},
"size_bytes": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"kind": {
"type": "string",
"const": "evidence"
}
},
"required": [
"uri",
"sha256",
"size_bytes",
"kind"
]
}
}
}RunnerCapabilityResult
{
"type": "object",
"properties": {
"event_id": {
"$ref": "#/$defs/__schema0"
},
"event_type": {
"type": "string",
"const": "H-361.capability.invocation_resulted"
},
"schema_version": {
"type": "string",
"const": "1.0.0"
},
"occurred_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"producer": {
"type": "string",
"const": "use"
},
"workspace_id": {
"anyOf": [
{
"type": "string",
"pattern": "^ws_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
{
"type": "string",
"const": "ws_platform"
}
]
},
"correlation_id": {
"type": "string",
"pattern": "^(mres|ws|usr|prod|rev|ver|rel|env|dep|srf|acc|ses|inv|exe|evt|pend|ddl|ntf|pipe|fnd|qual|cred|bind|hdl|cap|svc|frz|adj|fix|upl|dom|wb|ctx|aud|pay|ivc|rfd)_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"causation_id": {
"anyOf": [
{
"$ref": "#/$defs/__schema0"
},
{
"type": "null"
}
]
},
"idempotency_key": {
"type": "string",
"minLength": 1,
"maxLength": 256
},
"payload": {
"type": "object",
"properties": {
"binding_id": {
"$ref": "#/$defs/__schema1"
},
"capability_invocation_id": {
"$ref": "#/$defs/__schema2"
},
"workspace_id": {
"$ref": "#/$defs/__schema3"
},
"product_id": {
"$ref": "#/$defs/__schema4"
},
"outcome": {
"$ref": "#/$defs/__schema5"
},
"reason": {
"$ref": "#/$defs/__schema6"
},
"output": {
"$ref": "#/$defs/__schema7"
},
"provider": {
"$ref": "#/$defs/__schema10"
},
"fallback_used": {
"$ref": "#/$defs/__schema11"
},
"usage": {
"$ref": "#/$defs/__schema12"
},
"finished_at": {
"$ref": "#/$defs/__schema13"
}
},
"required": [
"capability_invocation_id",
"workspace_id",
"product_id",
"outcome",
"reason",
"output",
"provider",
"fallback_used",
"usage",
"finished_at"
]
}
},
"required": [
"event_id",
"event_type",
"schema_version",
"occurred_at",
"producer",
"workspace_id",
"correlation_id",
"causation_id",
"idempotency_key",
"payload"
],
"$defs": {
"__schema0": {
"type": "string",
"pattern": "^evt_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"__schema1": {
"anyOf": [
{
"type": "string",
"pattern": "^bind_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
{
"type": "null"
}
]
},
"__schema2": {
"type": "string",
"pattern": "^cap_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"__schema3": {
"type": "string",
"pattern": "^ws_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"__schema4": {
"type": "string",
"pattern": "^prod_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"__schema5": {
"type": "string",
"enum": [
"completed",
"denied",
"failed"
]
},
"__schema6": {
"anyOf": [
{
"type": "string",
"enum": [
"outside_contract",
"permission_denied",
"policy_blocked",
"binding_missing",
"binding_revoked",
"usage_denied",
"provider_unavailable",
"provider_rejected",
"output_blocked"
]
},
{
"type": "null"
}
]
},
"__schema7": {
"anyOf": [
{
"oneOf": [
{
"$ref": "#/$defs/__schema8"
},
{
"$ref": "#/$defs/__schema9"
}
]
},
{
"type": "null"
}
]
},
"__schema8": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "inline"
},
"json": {}
},
"required": [
"kind",
"json"
]
},
"__schema9": {
"type": "object",
"properties": {
"uri": {
"type": "string"
},
"sha256": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
},
"size_bytes": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"kind": {
"type": "string",
"const": "evidence"
}
},
"required": [
"uri",
"sha256",
"size_bytes",
"kind"
]
},
"__schema10": {
"type": [
"string",
"null"
]
},
"__schema11": {
"type": "boolean"
},
"__schema12": {
"type": "object",
"properties": {
"units": {
"type": "number",
"minimum": 0
},
"unit": {
"type": "string",
"enum": [
"tokens",
"ms",
"calls",
"bytes"
]
}
},
"required": [
"units",
"unit"
]
},
"__schema13": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
}
}
}ManagedResourceRequest
{
"type": "object",
"properties": {
"product_id": {
"type": "string",
"pattern": "^prod_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"environment_type": {
"type": "string",
"enum": [
"preview",
"staging",
"production"
]
},
"kind": {
"type": "string",
"const": "kv"
}
},
"required": [
"product_id",
"environment_type",
"kind"
]
}ManagedResource
{
"type": "object",
"properties": {
"resource_id": {
"type": "string",
"pattern": "^mres_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"workspace_id": {
"anyOf": [
{
"type": "string",
"pattern": "^ws_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
{
"type": "string",
"const": "ws_platform"
}
]
},
"product_id": {
"type": "string",
"pattern": "^prod_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"environment_type": {
"type": "string",
"enum": [
"preview",
"staging",
"production"
]
},
"kind": {
"type": "string",
"enum": [
"kv"
]
},
"provision_model": {
"type": "string",
"enum": [
"platform_pool",
"provider_backed"
]
},
"handle_mode": {
"type": "string",
"enum": [
"capability",
"injected"
]
},
"state": {
"type": "string",
"enum": [
"requested",
"provisioning",
"ready",
"failed",
"detached",
"deleted"
]
},
"detached_at": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
},
"retention_due_at": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
},
"created_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"updated_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
}
},
"required": [
"resource_id",
"workspace_id",
"product_id",
"environment_type",
"kind",
"provision_model",
"handle_mode",
"state",
"detached_at",
"retention_due_at",
"created_at",
"updated_at"
]
}ManagedResources
{
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"resource_id": {
"type": "string",
"pattern": "^mres_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"workspace_id": {
"anyOf": [
{
"type": "string",
"pattern": "^ws_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
{
"type": "string",
"const": "ws_platform"
}
]
},
"product_id": {
"type": "string",
"pattern": "^prod_[0-7][0123456789abcdefghjkmnpqrstvwxyz]{25}$"
},
"environment_type": {
"type": "string",
"enum": [
"preview",
"staging",
"production"
]
},
"kind": {
"type": "string",
"enum": [
"kv"
]
},
"provision_model": {
"type": "string",
"enum": [
"platform_pool",
"provider_backed"
]
},
"handle_mode": {
"type": "string",
"enum": [
"capability",
"injected"
]
},
"state": {
"type": "string",
"enum": [
"requested",
"provisioning",
"ready",
"failed",
"detached",
"deleted"
]
},
"detached_at": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
},
"retention_due_at": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
},
"created_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"updated_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
}
},
"required": [
"resource_id",
"workspace_id",
"product_id",
"environment_type",
"kind",
"provision_model",
"handle_mode",
"state",
"detached_at",
"retention_due_at",
"created_at",
"updated_at"
]
}
},
"next_cursor": {
"type": [
"string",
"null"
]
}
},
"required": [
"items",
"next_cursor"
]
}