{"openapi":"3.1.0","info":{"title":"Appear API","version":"2.0.0","contact":{"email":"support@appear.sh","name":"Appear Support","url":"https://appear.sh"},"license":{"name":"MIT","url":"https://opensource.org/licenses/MIT"},"description":"Appear gives teams a live API catalog for humans and AI agents—indexing services, versions, and security posture in one durable source of truth.\n\nUse this API to publish and retrieve catalog metadata, fetch machine-readable OpenAPI docs, manage project-scoped versions, and sync traffic analyzer insights so clients can discover the right endpoints with the correct authentication."},"servers":[{"url":"https://api.appear.sh","description":"Primary public endpoint"}],"security":[{"projectApiKey":[]},{"personalAccessToken":[]}],"components":{"securitySchemes":{"projectApiKey":{"type":"http","scheme":"bearer","bearerFormat":"API Key","description":"Project API key authentication. Use your project API key as a Bearer token in the Authorization header."},"personalAccessToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Personal access token authentication. Use your personal access token as a Bearer token in the Authorization header. Suitable for MCP integrations, CLI tools, and other OAuth flows."}},"responses":{"BadRequestError":{"description":"Invalid request","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"error":{"type":"string","examples":["Validation failed"]},"details":{"examples":[{"field":"name","message":"Name is required"}]}},"required":["error"],"additionalProperties":false}}}},"UnauthorizedError":{"description":"Unauthorized","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"error":{"type":"string","examples":["Validation failed"]},"details":{"examples":[{"field":"name","message":"Name is required"}]}},"required":["error"],"additionalProperties":false}}}},"ForbiddenError":{"description":"Forbidden","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"error":{"type":"string","examples":["Validation failed"]},"details":{"examples":[{"field":"name","message":"Name is required"}]}},"required":["error"],"additionalProperties":false}}}},"ConflictError":{"description":"Conflict","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"error":{"type":"string","examples":["Validation failed"]},"details":{"examples":[{"field":"name","message":"Name is required"}]}},"required":["error"],"additionalProperties":false}}}},"InternalServerError":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"error":{"type":"string","examples":["Validation failed"]},"details":{"examples":[{"field":"name","message":"Name is required"}]}},"required":["error"],"additionalProperties":false}}}},"NotFoundErrorService":{"description":"Service not found","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"error":{"type":"string","examples":["Validation failed"]},"details":{"examples":[{"field":"name","message":"Name is required"}]}},"required":["error"],"additionalProperties":false}}}},"NotFoundErrorResource":{"description":"Resource not found","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"error":{"type":"string","examples":["Validation failed"]},"details":{"examples":[{"field":"name","message":"Name is required"}]}},"required":["error"],"additionalProperties":false}}}},"NotFoundErrorPath":{"description":"Path not found","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"error":{"type":"string","examples":["Validation failed"]},"details":{"examples":[{"field":"name","message":"Name is required"}]}},"required":["error"],"additionalProperties":false}}}},"NotFoundErrorOperation":{"description":"Operation not found","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"error":{"type":"string","examples":["Validation failed"]},"details":{"examples":[{"field":"name","message":"Name is required"}]}},"required":["error"],"additionalProperties":false}}}},"NotFoundErrorParameter":{"description":"Parameter not found","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"error":{"type":"string","examples":["Validation failed"]},"details":{"examples":[{"field":"name","message":"Name is required"}]}},"required":["error"],"additionalProperties":false}}}},"NotFoundErrorRequest":{"description":"Request not found","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"error":{"type":"string","examples":["Validation failed"]},"details":{"examples":[{"field":"name","message":"Name is required"}]}},"required":["error"],"additionalProperties":false}}}},"NotFoundErrorResponse":{"description":"Response not found","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"error":{"type":"string","examples":["Validation failed"]},"details":{"examples":[{"field":"name","message":"Name is required"}]}},"required":["error"],"additionalProperties":false}}}},"NotFoundErrorServer":{"description":"Server not found","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"error":{"type":"string","examples":["Validation failed"]},"details":{"examples":[{"field":"name","message":"Name is required"}]}},"required":["error"],"additionalProperties":false}}}},"NotFoundErrorSecurityScheme":{"description":"Security Scheme not found","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"error":{"type":"string","examples":["Validation failed"]},"details":{"examples":[{"field":"name","message":"Name is required"}]}},"required":["error"],"additionalProperties":false}}}},"NotFoundErrorHeader":{"description":"Header not found","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"error":{"type":"string","examples":["Validation failed"]},"details":{"examples":[{"field":"name","message":"Name is required"}]}},"required":["error"],"additionalProperties":false}}}},"NotFoundErrorExample":{"description":"Example not found","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"error":{"type":"string","examples":["Validation failed"]},"details":{"examples":[{"field":"name","message":"Name is required"}]}},"required":["error"],"additionalProperties":false}}}}},"schemas":{"versionId":{"type":"string","minLength":30,"maxLength":30,"description":"Catalog version identifier","examples":["ver_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"projectRef":{"anyOf":[{"type":"string","minLength":31,"maxLength":31,"description":"Object ID with prefix \"proj_\"","examples":["proj_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},{"type":"string","minLength":1}],"description":"Project slug or project id (proj_*)"},"versionType":{"type":"string","enum":["branch","environment"],"description":"Version type, can be either 'branch' or 'environment'","examples":["branch","environment"]},"versionSlug":{"type":"string","minLength":1,"description":"Version slug","examples":["main"]},"Service":{"type":"object","properties":{"id":{"type":"string","minLength":30,"maxLength":30,"default":"svc_agpkdswa7f3xxebi5ql3ptnvzm","description":"Object ID with prefix \"svc_\"","examples":["svc_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"name":{"type":"string","default":"","examples":["User Service"]},"slug":{"type":"string","pattern":"^[a-z0-9-]+$","examples":["user-service"]},"summary":{"type":"string","default":"","description":"Short plain-text summary of the service.","examples":["User management services that allows adding, updating, and deleting users."]},"description":{"type":"string","default":"","description":"Service description written in markdown.","examples":["Service for managing users, authentication, and user profiles."]},"descriptionBlocks":{"anyOf":[{"$ref":"#/components/schemas/ProseMirrorContentSchema"},{"type":"array","items":{"$ref":"#/components/schemas/ProseMirrorContentSchema"}}],"description":"Service description as ProseMirror JSON blocks.","examples":[{"type":"paragraph","content":[{"type":"text","text":"Service description in rich text format."}]}]},"tags":{"type":"array","items":{"type":"string"},"default":[],"examples":[["authentication","users"]]},"security":{"type":"array","items":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}},"description":"Authentication requirements shared by every endpoint in the service. Each item maps a security scheme id to the scopes/permissions it needs.","url":"https://swagger.io/specification/#security-requirement-object","examples":[[{"ApiKeyAuth":[]}]]},"previousSlugs":{"type":"array","items":{"type":"string"},"default":[],"examples":[["user-api","users-api"]]},"versionId":{"type":"string","minLength":30,"maxLength":30,"description":"Object ID with prefix \"ver_\"","examples":["ver_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"organizationId":{"type":"string","examples":["org_sample_org"]},"createdAt":{"type":["string","null"],"format":"date-time","default":"2026-06-07T11:14:39.993Z","examples":["2024-01-15T10:30:00.000Z"]},"updatedAt":{"type":["string","null"],"format":"date-time","default":"2026-06-07T11:14:39.993Z","examples":["2024-01-15T10:30:00.000Z"]},"kvStorage":{"type":"object","additionalProperties":{},"default":{},"description":"Custom metadata carried with the service; kept intact when exporting or importing API docs.","examples":[{}]},"lastReportAt":{"type":["string","null"],"format":"date-time","description":"Timestamp of the most recent report received from the service.","examples":["2024-01-15T10:30:00.000Z"]},"lastMentionAt":{"type":["string","null"],"format":"date-time","description":"Timestamp when the service was last mentioned in a report, either directly or via connected services.","examples":["2024-01-15T10:30:00.000Z"]},"lastConnectionAt":{"type":["string","null"],"format":"date-time","description":"Timestamp of the last successful connection observed from the service (ping or report).","examples":["2024-01-15T10:30:00.000Z"]},"hasConnection":{"type":"boolean","default":false,"description":"Indicates that the service maintains a direct connection from which reports are expected.","examples":[false]}},"required":["slug","versionId","organizationId"],"description":"Service is a top-level record representing a product or microservice; owns the collection of endpoints plus shared authentication and metadata."},"ProseMirrorContentSchema":{"type":"object","properties":{"type":{"type":"string"},"attrs":{"type":"object","additionalProperties":{}},"content":{"type":"array","items":{"$ref":"#/components/schemas/ProseMirrorContentSchema"}},"marks":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"attrs":{"type":"object","additionalProperties":{}}},"required":["type"],"additionalProperties":{}}},"text":{"type":"string"}},"additionalProperties":{},"description":"A recursive schema modeling ProseMirror document/node structure. It mirrors the ProseMirror JSON format as described at https://prosemirror.net/docs/guide/#schema.serialization. Each node may contain a `type`, optional `attrs`, children in `content`, formatting `marks`, and inline `text`."},"PaginationMetadata":{"type":"object","properties":{"nextCursor":{"type":["string","null"]},"hasMore":{"type":"boolean"},"limit":{"type":"number"}},"required":["nextCursor","hasMore","limit"],"description":"Pagination metadata"},"Resource":{"type":"object","properties":{"id":{"type":"string","minLength":30,"maxLength":30,"default":"rsc_agpkdswa7f3xxebja3vbwbqrya","description":"Object ID with prefix \"rsc_\"","examples":["rsc_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"name":{"type":"string","default":"","description":"Resource name, typically the same key used when the schema is referenced in API definitions.","examples":["User"]},"description":{"type":"string","description":"Description of what this reusable schema represents (markdown).","examples":["User object schema with id, name, and email fields."]},"versionId":{"type":"string","minLength":30,"maxLength":30,"description":"Object ID with prefix \"ver_\"","examples":["ver_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"schema":{"$ref":"#/components/schemas/AnyJsonSchema","description":"Structured schema describing the reusable object shape.","examples":[{"type":"object","properties":{}}]},"kvStorage":{"type":"object","additionalProperties":{},"default":{},"description":"Custom metadata stored with the schema (such as vendor-specific extensions).","examples":[{}]},"externalDocs":{"type":"object","properties":{"url":{"type":"string"},"description":{"type":"string"}},"required":["url"],"description":"External documentation link related to the resource schema.","examples":[{"url":"https://example.com/docs","description":"Schema documentation"}]},"createdAt":{"type":["string","null"],"format":"date-time","default":"2026-06-07T11:14:39.993Z","examples":["2024-01-15T10:30:00.000Z"]},"updatedAt":{"type":["string","null"],"format":"date-time","default":"2026-06-07T11:14:39.993Z","examples":["2024-01-15T10:30:00.000Z"]}},"required":["versionId","schema"],"description":"Resource is a reusable object schema that can be referenced by requests, responses, and parameters. Resource is also known as an Entity or Object Schema."},"AnyJsonSchema":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["object"]},"properties":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/AnyJsonSchema"}},"required":{"type":"array","items":{"type":"string"}},"default":{"type":"object","properties":{},"additionalProperties":{}},"examples":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{}}},"enum":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{}}},"const":{"type":"object","properties":{},"additionalProperties":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/AnyJsonSchema"}},"additionalProperties":{"anyOf":[{"type":"boolean","enum":[false]},{"$ref":"#/components/schemas/AnyJsonSchema"}]},"unevaluatedProperties":{"anyOf":[{"type":"boolean","enum":[false]},{"$ref":"#/components/schemas/AnyJsonSchema"}]},"propertyNames":{"$ref":"#/components/schemas/AnyJsonSchema"},"minProperties":{"type":"number"},"maxProperties":{"type":"number"},"dependentRequired":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}},"dependentSchemas":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/AnyJsonSchema"}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#/components/schemas/AnyJsonSchema"},{"type":"array","items":{"type":"string"}}]}}},"required":["type"]},{"type":"object","properties":{"$schema":{"type":"string"},"$id":{"type":"string"},"$ref":{"type":"string"},"$comment":{"type":"string"},"$defs":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/AnyJsonSchema"}},"$vocabulary":{"type":"object","additionalProperties":{"type":"boolean"}},"$dynamicRef":{"type":"string"},"$dynamicAnchor":{"type":"string"},"$anchor":{"type":"string"},"if":{"$ref":"#/components/schemas/AnyJsonSchema"},"then":{"$ref":"#/components/schemas/AnyJsonSchema"},"else":{"$ref":"#/components/schemas/AnyJsonSchema"},"allOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"anyOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"oneOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"not":{"$ref":"#/components/schemas/AnyJsonSchema"},"title":{"type":"string"},"description":{"type":"string"},"deprecated":{"type":"boolean"},"readOnly":{"type":"boolean"},"writeOnly":{"type":"boolean"},"type":{"type":"string","enum":["array"]},"items":{"$ref":"#/components/schemas/AnyJsonSchema"},"unevaluatedItems":{"anyOf":[{"$ref":"#/components/schemas/AnyJsonSchema"},{"type":"boolean","enum":[false]}]},"default":{"type":"array","items":{}},"examples":{"type":"array","items":{"type":"array","items":{}}},"enum":{"type":"array","items":{"type":"array","items":{}}},"const":{"type":"array","items":{}},"contains":{"$ref":"#/components/schemas/AnyJsonSchema"},"minContains":{"type":"number"},"maxContains":{"type":"number"},"minItems":{"type":"number"},"maxItems":{"type":"number"},"uniqueItems":{"type":"boolean","enum":[true]},"prefixItems":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}}},"required":["type"]},{"type":"object","properties":{"$schema":{"type":"string"},"$id":{"type":"string"},"$ref":{"type":"string"},"$comment":{"type":"string"},"$defs":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/AnyJsonSchema"}},"$vocabulary":{"type":"object","additionalProperties":{"type":"boolean"}},"$dynamicRef":{"type":"string"},"$dynamicAnchor":{"type":"string"},"$anchor":{"type":"string"},"if":{"$ref":"#/components/schemas/AnyJsonSchema"},"then":{"$ref":"#/components/schemas/AnyJsonSchema"},"else":{"$ref":"#/components/schemas/AnyJsonSchema"},"allOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"anyOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"oneOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"not":{"$ref":"#/components/schemas/AnyJsonSchema"},"title":{"type":"string"},"description":{"type":"string"},"deprecated":{"type":"boolean"},"readOnly":{"type":"boolean"},"writeOnly":{"type":"boolean"},"type":{"type":"string","enum":["number"]},"default":{"type":"number"},"examples":{"type":"array","items":{"type":"number"}},"enum":{"type":"array","items":{"type":"number"}},"const":{"type":"number"},"minimum":{"type":"number"},"maximum":{"type":"number"},"exclusiveMinimum":{"type":"boolean"},"exclusiveMaximum":{"type":"boolean"},"multipleOf":{"type":"number"}},"required":["type"]},{"type":"object","properties":{"$schema":{"type":"string"},"$id":{"type":"string"},"$ref":{"type":"string"},"$comment":{"type":"string"},"$defs":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/AnyJsonSchema"}},"$vocabulary":{"type":"object","additionalProperties":{"type":"boolean"}},"$dynamicRef":{"type":"string"},"$dynamicAnchor":{"type":"string"},"$anchor":{"type":"string"},"if":{"$ref":"#/components/schemas/AnyJsonSchema"},"then":{"$ref":"#/components/schemas/AnyJsonSchema"},"else":{"$ref":"#/components/schemas/AnyJsonSchema"},"allOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"anyOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"oneOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"not":{"$ref":"#/components/schemas/AnyJsonSchema"},"title":{"type":"string"},"description":{"type":"string"},"deprecated":{"type":"boolean"},"readOnly":{"type":"boolean"},"writeOnly":{"type":"boolean"},"type":{"type":"string","enum":["integer"]},"default":{"type":"number"},"examples":{"type":"array","items":{"type":"number"}},"enum":{"type":"array","items":{"type":"number"}},"const":{"type":"number"},"minimum":{"type":"number"},"maximum":{"type":"number"},"exclusiveMinimum":{"type":"boolean"},"exclusiveMaximum":{"type":"boolean"},"multipleOf":{"type":"number"}},"required":["type"]},{"type":"object","properties":{"$schema":{"type":"string"},"$id":{"type":"string"},"$ref":{"type":"string"},"$comment":{"type":"string"},"$defs":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/AnyJsonSchema"}},"$vocabulary":{"type":"object","additionalProperties":{"type":"boolean"}},"$dynamicRef":{"type":"string"},"$dynamicAnchor":{"type":"string"},"$anchor":{"type":"string"},"if":{"$ref":"#/components/schemas/AnyJsonSchema"},"then":{"$ref":"#/components/schemas/AnyJsonSchema"},"else":{"$ref":"#/components/schemas/AnyJsonSchema"},"allOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"anyOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"oneOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"not":{"$ref":"#/components/schemas/AnyJsonSchema"},"title":{"type":"string"},"description":{"type":"string"},"deprecated":{"type":"boolean"},"readOnly":{"type":"boolean"},"writeOnly":{"type":"boolean"},"type":{"type":"string","enum":["string"]},"default":{"type":"string"},"examples":{"type":"array","items":{"type":"string"}},"enum":{"type":"array","items":{"type":"string"}},"const":{"type":"string"},"minLength":{"type":"number"},"maxLength":{"type":"number"},"pattern":{"type":"string"},"format":{"type":"string"}},"required":["type"]},{"type":"object","properties":{"$schema":{"type":"string"},"$id":{"type":"string"},"$ref":{"type":"string"},"$comment":{"type":"string"},"$defs":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/AnyJsonSchema"}},"$vocabulary":{"type":"object","additionalProperties":{"type":"boolean"}},"$dynamicRef":{"type":"string"},"$dynamicAnchor":{"type":"string"},"$anchor":{"type":"string"},"if":{"$ref":"#/components/schemas/AnyJsonSchema"},"then":{"$ref":"#/components/schemas/AnyJsonSchema"},"else":{"$ref":"#/components/schemas/AnyJsonSchema"},"allOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"anyOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"oneOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"not":{"$ref":"#/components/schemas/AnyJsonSchema"},"title":{"type":"string"},"description":{"type":"string"},"deprecated":{"type":"boolean"},"readOnly":{"type":"boolean"},"writeOnly":{"type":"boolean"},"type":{"type":"string","enum":["boolean"]},"default":{"type":"boolean"},"examples":{"type":"array","items":{"type":"boolean"}},"enum":{"type":"array","items":{"type":"boolean"}},"const":{"type":"boolean"}},"required":["type"]},{"type":"object","properties":{"$schema":{"type":"string"},"$id":{"type":"string"},"$ref":{"type":"string"},"$comment":{"type":"string"},"$defs":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/AnyJsonSchema"}},"$vocabulary":{"type":"object","additionalProperties":{"type":"boolean"}},"$dynamicRef":{"type":"string"},"$dynamicAnchor":{"type":"string"},"$anchor":{"type":"string"},"if":{"$ref":"#/components/schemas/AnyJsonSchema"},"then":{"$ref":"#/components/schemas/AnyJsonSchema"},"else":{"$ref":"#/components/schemas/AnyJsonSchema"},"allOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"anyOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"oneOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"not":{"$ref":"#/components/schemas/AnyJsonSchema"},"title":{"type":"string"},"description":{"type":"string"},"deprecated":{"type":"boolean"},"readOnly":{"type":"boolean"},"writeOnly":{"type":"boolean"},"type":{"type":"string","enum":["null"]},"default":{"type":"null"},"examples":{"type":"array","items":{"type":"null"}},"enum":{"type":"array","items":{"type":"null"}},"const":{"type":"null"}},"required":["type"]},{"type":"object","properties":{"$schema":{"type":"string"},"$id":{"type":"string"},"$ref":{"type":"string"},"$comment":{"type":"string"},"$defs":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/AnyJsonSchema"}},"$vocabulary":{"type":"object","additionalProperties":{"type":"boolean"}},"$dynamicRef":{"type":"string"},"$dynamicAnchor":{"type":"string"},"$anchor":{"type":"string"},"if":{"$ref":"#/components/schemas/AnyJsonSchema"},"then":{"$ref":"#/components/schemas/AnyJsonSchema"},"else":{"$ref":"#/components/schemas/AnyJsonSchema"},"allOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"anyOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"oneOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"not":{"$ref":"#/components/schemas/AnyJsonSchema"},"title":{"type":"string"},"description":{"type":"string"},"deprecated":{"type":"boolean"},"readOnly":{"type":"boolean"},"writeOnly":{"type":"boolean"}}}],"description":"JSON Schema for any data type.","examples":[{"type":"string"}]},"Path":{"type":"object","properties":{"id":{"type":"string","minLength":31,"maxLength":31,"default":"path_agpkdswa7f3xxebjd4qlbwt6nu","description":"Object ID with prefix \"path_\"","examples":["path_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"serviceId":{"type":"string","minLength":30,"maxLength":30,"description":"Object ID with prefix \"svc_\"","examples":["svc_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"path":{"type":"string","description":"Concrete API path template (must start with a forward slash).","examples":["/users/{userId}"]},"summary":{"type":"string","description":"Short summary of the path across its operations.","examples":["User management endpoints"]},"description":{"type":"string","description":"Long-form description of the path shared across operations (markdown).","examples":["Operations for managing user resources."]},"kvStorage":{"type":"object","additionalProperties":{},"default":{},"description":"Custom metadata kept with the path (including any x-... style extensions).","examples":[{}]},"versionId":{"type":"string","minLength":30,"maxLength":30,"description":"Object ID with prefix \"ver_\"","examples":["ver_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"updatedAt":{"type":["string","null"],"format":"date-time","default":"2026-06-07T11:14:39.993Z","examples":["2024-01-15T10:30:00.000Z"]}},"required":["serviceId","path","versionId"],"description":"Path is an API path entry representing a templated URL segment and any metadata shared by its operations."},"Operation":{"type":"object","properties":{"id":{"type":"string","minLength":29,"maxLength":29,"default":"op_agpkdswa7f3xxebjg2op6eeflq","description":"Object ID with prefix \"op_\"","examples":["op_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"method":{"type":"string","description":"HTTP method for the operation (e.g., get, post).","examples":["get"]},"pathId":{"type":"string","minLength":31,"maxLength":31,"description":"Object ID with prefix \"path_\"","examples":["path_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"summary":{"type":"string","description":"Short summary of the operation.","examples":["Get user by ID"]},"description":{"type":"string","description":"Markdown description of the operation.","examples":["Retrieves a user by their unique identifier."]},"descriptionBlocks":{"anyOf":[{"$ref":"#/components/schemas/ProseMirrorContentSchema"},{"type":"array","items":{"$ref":"#/components/schemas/ProseMirrorContentSchema"}}],"description":"Operation description represented as ProseMirror JSON.","examples":[{"type":"paragraph","content":[{"type":"text","text":"Operation description in rich text format."}]}]},"deprecated":{"type":"boolean","default":false,"examples":[false]},"operationId":{"type":"string","description":"Stable operation identifier mirroring OpenAPI operationId.","examples":["get-user-by-id"]},"tags":{"type":"array","items":{"type":"string"},"default":[],"description":"Tags applied to the operation for grouping.","examples":[["users","authentication"]]},"kvStorage":{"type":"object","additionalProperties":{},"default":{},"description":"Custom metadata attached to the operation; kept when importing/exporting API definitions.","examples":[{}]},"externalDocs":{"type":"object","properties":{"url":{"type":"string"},"description":{"type":"string"}},"required":["url"],"description":"Additional external documentation reference for the operation.","examples":[{"url":"https://example.com/docs","description":"API documentation"}]},"security":{"type":"array","items":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}},"description":"Authentication requirements for this operation; each entry maps a security scheme id to the scopes/permissions it needs.","url":"https://swagger.io/specification/#security-requirement-object","examples":[[{"ApiKeyAuth":[]}]]},"versionId":{"type":"string","minLength":30,"maxLength":30,"description":"Object ID with prefix \"ver_\"","examples":["ver_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"updatedAt":{"type":["string","null"],"format":"date-time","default":"2026-06-07T11:14:39.993Z","examples":["2024-01-15T10:30:00.000Z"]}},"required":["method","pathId","operationId","versionId"],"description":"Operation is an HTTP operation bound to a path, including documentation, authentication requirements, and optional external docs."},"Parameter":{"type":"object","properties":{"id":{"type":"string","minLength":30,"maxLength":30,"default":"par_agpkdswa7f3xxebjjq6a24foqy","description":"Object ID with prefix \"par_\"","examples":["par_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"name":{"type":"string","minLength":1,"description":"Parameter name as exposed in the API (case-sensitive for header names).","examples":["page"]},"description":{"type":"string","description":"Human-readable description of what the parameter controls (markdown).","examples":["Page number for pagination."]},"pathId":{"type":"string","minLength":31,"maxLength":31,"description":"Set when the parameter applies to every operation on a path.","examples":["path_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"operationId":{"type":"string","minLength":29,"maxLength":29,"description":"Set when the parameter is specific to a single operation.","examples":["op_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"deprecated":{"type":"boolean","default":false,"examples":[false]},"required":{"type":"boolean","default":false,"examples":[false]},"in":{"type":"string","enum":["query","header","path","cookie"],"description":"Location of the parameter (query, header, path, or cookie).","examples":["query"]},"schema":{"$ref":"#/components/schemas/AnyJsonSchema","description":"Structured shape of the parameter value (type, format, constraints).","examples":[{"type":"string"}]},"allowEmptyValue":{"type":"boolean","default":false,"description":"Allows sending an empty string for query parameters (legacy OpenAPI flag; generally avoid).","deprecated":true,"examples":[false]},"examples":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#/components/schemas/ExternalExample"},{"$ref":"#/components/schemas/EmbeddedExample"}]},"default":{},"description":"Inline examples for the parameter value, keyed by name.","examples":[{}]},"kvStorage":{"type":"object","additionalProperties":{},"default":{},"description":"Custom metadata carried through from imported/published API definitions.","examples":[{}]},"versionId":{"type":"string","minLength":30,"maxLength":30,"description":"Object ID with prefix \"ver_\"","examples":["ver_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"updatedAt":{"type":["string","null"],"format":"date-time","default":"2026-06-07T11:14:39.993Z","examples":["2024-01-15T10:30:00.000Z"]}},"required":["name","in","schema","versionId"],"description":"Parameter is a reusable request parameter definition scoped to a path or a single operation."},"ExternalExample":{"type":"object","properties":{"summary":{"type":"string"},"description":{"type":"string"},"externalValue":{"type":"string"}},"required":["externalValue"],"description":"Example that points to an external payload instead of embedding it."},"EmbeddedExample":{"type":"object","properties":{"summary":{"type":"string"},"description":{"type":"string"},"value":{}},"description":"Example with an embedded payload for a specific content type."},"Request":{"type":"object","properties":{"id":{"type":"string","minLength":30,"maxLength":30,"default":"req_agpkdswa7f3xxebjmvvsu2duvm","description":"Object ID with prefix \"req_\"","examples":["req_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"operationId":{"type":"string","minLength":29,"maxLength":29,"description":"Object ID with prefix \"op_\"","examples":["op_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"description":{"type":"string","description":"Markdown description of the request.","examples":["Request body for creating a new user."]},"descriptionBlocks":{"anyOf":[{"$ref":"#/components/schemas/ProseMirrorContentSchema"},{"type":"array","items":{"$ref":"#/components/schemas/ProseMirrorContentSchema"}}],"description":"Request description in ProseMirror JSON.","examples":[{"type":"paragraph","content":[{"type":"text","text":"Request description in rich text format."}]}]},"contentMediaType":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"MIME type of the request body (for example, application/json); null means the request has no body.","examples":["application/json"]},"headers":{"$ref":"#/components/schemas/RequestHeaders"},"schema":{"$ref":"#/components/schemas/AnyJsonSchema","description":"Structured shape of the request payload (types, required fields, constraints).","examples":[{"type":"object","properties":{}}]},"kvStorage":{"type":"object","additionalProperties":{},"default":{},"description":"Custom metadata carried with the request body, including encoding details.","examples":[{}]},"examples":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#/components/schemas/ExternalExample"},{"$ref":"#/components/schemas/EmbeddedExample"}]},"default":{},"description":"Inline request examples keyed by content type or example name.","examples":[{}]},"versionId":{"type":"string","minLength":30,"maxLength":30,"description":"Object ID with prefix \"ver_\"","examples":["ver_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"updatedAt":{"type":["string","null"],"format":"date-time","default":"2026-06-07T11:14:39.993Z","examples":["2024-01-15T10:30:00.000Z"]}},"required":["operationId","versionId"],"description":"Request is an operation request body definition including MIME type, payload shape, headers, and examples."},"RequestHeaders":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#/components/schemas/InlineHeader"},{"$ref":"#/components/schemas/RequestHeaderRef"}]},"default":{},"description":"Headers expected on the request. Presence here documents expectations and does not imply they are required or change server behavior (e.g., X-Correlation-Id for traceability).","examples":[{}]},"InlineHeader":{"type":"object","properties":{"description":{"type":"string","description":"Header description when defined inline on a request/response.","examples":["Bearer token for authentication."]},"required":{"type":"boolean","default":false,"examples":[false]},"deprecated":{"type":"boolean","default":false,"examples":[false]},"schema":{"$ref":"#/components/schemas/AnyJsonSchema"},"examples":{"$ref":"#/components/schemas/InlineExamples"}},"description":"Inline header definition used inside requests or responses."},"InlineExamples":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#/components/schemas/ExternalExample"},{"$ref":"#/components/schemas/EmbeddedExample"}]},"description":"Map of example definitions keyed by name, matching how examples are referenced in API specs."},"RequestHeaderRef":{"type":"object","properties":{"$ref":{"type":"string"}},"required":["$ref"],"description":"Reference to a reusable header component."},"Response":{"type":"object","properties":{"id":{"type":"string","minLength":30,"maxLength":30,"default":"res_agpkdswa7f3xxebjptwtdbdgam","description":"Object ID with prefix \"res_\"","examples":["res_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"operationId":{"type":"string","minLength":29,"maxLength":29,"description":"Object ID with prefix \"op_\"","examples":["op_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"statusCode":{"anyOf":[{"type":"null"},{"type":["number","null"]}],"description":"HTTP status code; null denotes the default response.","examples":[200]},"description":{"type":"string","description":"Markdown description of the response.","examples":["Successful response with user data."]},"descriptionBlocks":{"anyOf":[{"$ref":"#/components/schemas/ProseMirrorContentSchema"},{"type":"array","items":{"$ref":"#/components/schemas/ProseMirrorContentSchema"}}],"description":"Response description in ProseMirror JSON format.","examples":[{"type":"paragraph","content":[{"type":"text","text":"Response description in rich text format."}]}]},"contentMediaType":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"MIME type of the response body (for example, application/json); null means the response has no body.","examples":["application/json"]},"schema":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["object"]},"properties":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/AnyJsonSchema"}},"required":{"type":"array","items":{"type":"string"}},"default":{"type":"object","properties":{},"additionalProperties":{}},"examples":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{}}},"enum":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{}}},"const":{"type":"object","properties":{},"additionalProperties":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/AnyJsonSchema"}},"additionalProperties":{"anyOf":[{"type":"boolean","enum":[false]},{"$ref":"#/components/schemas/AnyJsonSchema"}]},"unevaluatedProperties":{"anyOf":[{"type":"boolean","enum":[false]},{"$ref":"#/components/schemas/AnyJsonSchema"}]},"propertyNames":{"$ref":"#/components/schemas/AnyJsonSchema"},"minProperties":{"type":"number"},"maxProperties":{"type":"number"},"dependentRequired":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}},"dependentSchemas":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/AnyJsonSchema"}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#/components/schemas/AnyJsonSchema"},{"type":"array","items":{"type":"string"}}]}}},"required":["type"]},{"type":"object","properties":{"$schema":{"type":"string"},"$id":{"type":"string"},"$ref":{"type":"string"},"$comment":{"type":"string"},"$defs":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/AnyJsonSchema"}},"$vocabulary":{"type":"object","additionalProperties":{"type":"boolean"}},"$dynamicRef":{"type":"string"},"$dynamicAnchor":{"type":"string"},"$anchor":{"type":"string"},"if":{"$ref":"#/components/schemas/AnyJsonSchema"},"then":{"$ref":"#/components/schemas/AnyJsonSchema"},"else":{"$ref":"#/components/schemas/AnyJsonSchema"},"allOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"anyOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"oneOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"not":{"$ref":"#/components/schemas/AnyJsonSchema"},"title":{"type":"string"},"description":{"type":"string"},"deprecated":{"type":"boolean"},"readOnly":{"type":"boolean"},"writeOnly":{"type":"boolean"},"type":{"type":"string","enum":["array"]},"items":{"$ref":"#/components/schemas/AnyJsonSchema"},"unevaluatedItems":{"anyOf":[{"$ref":"#/components/schemas/AnyJsonSchema"},{"type":"boolean","enum":[false]}]},"default":{"type":"array","items":{}},"examples":{"type":"array","items":{"type":"array","items":{}}},"enum":{"type":"array","items":{"type":"array","items":{}}},"const":{"type":"array","items":{}},"contains":{"$ref":"#/components/schemas/AnyJsonSchema"},"minContains":{"type":"number"},"maxContains":{"type":"number"},"minItems":{"type":"number"},"maxItems":{"type":"number"},"uniqueItems":{"type":"boolean","enum":[true]},"prefixItems":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}}},"required":["type"]},{"type":"object","properties":{"$schema":{"type":"string"},"$id":{"type":"string"},"$ref":{"type":"string"},"$comment":{"type":"string"},"$defs":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/AnyJsonSchema"}},"$vocabulary":{"type":"object","additionalProperties":{"type":"boolean"}},"$dynamicRef":{"type":"string"},"$dynamicAnchor":{"type":"string"},"$anchor":{"type":"string"},"if":{"$ref":"#/components/schemas/AnyJsonSchema"},"then":{"$ref":"#/components/schemas/AnyJsonSchema"},"else":{"$ref":"#/components/schemas/AnyJsonSchema"},"allOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"anyOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"oneOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"not":{"$ref":"#/components/schemas/AnyJsonSchema"},"title":{"type":"string"},"description":{"type":"string"},"deprecated":{"type":"boolean"},"readOnly":{"type":"boolean"},"writeOnly":{"type":"boolean"},"type":{"type":"string","enum":["number"]},"default":{"type":"number"},"examples":{"type":"array","items":{"type":"number"}},"enum":{"type":"array","items":{"type":"number"}},"const":{"type":"number"},"minimum":{"type":"number"},"maximum":{"type":"number"},"exclusiveMinimum":{"type":"boolean"},"exclusiveMaximum":{"type":"boolean"},"multipleOf":{"type":"number"}},"required":["type"]},{"type":"object","properties":{"$schema":{"type":"string"},"$id":{"type":"string"},"$ref":{"type":"string"},"$comment":{"type":"string"},"$defs":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/AnyJsonSchema"}},"$vocabulary":{"type":"object","additionalProperties":{"type":"boolean"}},"$dynamicRef":{"type":"string"},"$dynamicAnchor":{"type":"string"},"$anchor":{"type":"string"},"if":{"$ref":"#/components/schemas/AnyJsonSchema"},"then":{"$ref":"#/components/schemas/AnyJsonSchema"},"else":{"$ref":"#/components/schemas/AnyJsonSchema"},"allOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"anyOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"oneOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"not":{"$ref":"#/components/schemas/AnyJsonSchema"},"title":{"type":"string"},"description":{"type":"string"},"deprecated":{"type":"boolean"},"readOnly":{"type":"boolean"},"writeOnly":{"type":"boolean"},"type":{"type":"string","enum":["integer"]},"default":{"type":"number"},"examples":{"type":"array","items":{"type":"number"}},"enum":{"type":"array","items":{"type":"number"}},"const":{"type":"number"},"minimum":{"type":"number"},"maximum":{"type":"number"},"exclusiveMinimum":{"type":"boolean"},"exclusiveMaximum":{"type":"boolean"},"multipleOf":{"type":"number"}},"required":["type"]},{"type":"object","properties":{"$schema":{"type":"string"},"$id":{"type":"string"},"$ref":{"type":"string"},"$comment":{"type":"string"},"$defs":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/AnyJsonSchema"}},"$vocabulary":{"type":"object","additionalProperties":{"type":"boolean"}},"$dynamicRef":{"type":"string"},"$dynamicAnchor":{"type":"string"},"$anchor":{"type":"string"},"if":{"$ref":"#/components/schemas/AnyJsonSchema"},"then":{"$ref":"#/components/schemas/AnyJsonSchema"},"else":{"$ref":"#/components/schemas/AnyJsonSchema"},"allOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"anyOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"oneOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"not":{"$ref":"#/components/schemas/AnyJsonSchema"},"title":{"type":"string"},"description":{"type":"string"},"deprecated":{"type":"boolean"},"readOnly":{"type":"boolean"},"writeOnly":{"type":"boolean"},"type":{"type":"string","enum":["string"]},"default":{"type":"string"},"examples":{"type":"array","items":{"type":"string"}},"enum":{"type":"array","items":{"type":"string"}},"const":{"type":"string"},"minLength":{"type":"number"},"maxLength":{"type":"number"},"pattern":{"type":"string"},"format":{"type":"string"}},"required":["type"]},{"type":"object","properties":{"$schema":{"type":"string"},"$id":{"type":"string"},"$ref":{"type":"string"},"$comment":{"type":"string"},"$defs":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/AnyJsonSchema"}},"$vocabulary":{"type":"object","additionalProperties":{"type":"boolean"}},"$dynamicRef":{"type":"string"},"$dynamicAnchor":{"type":"string"},"$anchor":{"type":"string"},"if":{"$ref":"#/components/schemas/AnyJsonSchema"},"then":{"$ref":"#/components/schemas/AnyJsonSchema"},"else":{"$ref":"#/components/schemas/AnyJsonSchema"},"allOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"anyOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"oneOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"not":{"$ref":"#/components/schemas/AnyJsonSchema"},"title":{"type":"string"},"description":{"type":"string"},"deprecated":{"type":"boolean"},"readOnly":{"type":"boolean"},"writeOnly":{"type":"boolean"},"type":{"type":"string","enum":["boolean"]},"default":{"type":"boolean"},"examples":{"type":"array","items":{"type":"boolean"}},"enum":{"type":"array","items":{"type":"boolean"}},"const":{"type":"boolean"}},"required":["type"]},{"type":"object","properties":{"$schema":{"type":"string"},"$id":{"type":"string"},"$ref":{"type":"string"},"$comment":{"type":"string"},"$defs":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/AnyJsonSchema"}},"$vocabulary":{"type":"object","additionalProperties":{"type":"boolean"}},"$dynamicRef":{"type":"string"},"$dynamicAnchor":{"type":"string"},"$anchor":{"type":"string"},"if":{"$ref":"#/components/schemas/AnyJsonSchema"},"then":{"$ref":"#/components/schemas/AnyJsonSchema"},"else":{"$ref":"#/components/schemas/AnyJsonSchema"},"allOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"anyOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"oneOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"not":{"$ref":"#/components/schemas/AnyJsonSchema"},"title":{"type":"string"},"description":{"type":"string"},"deprecated":{"type":"boolean"},"readOnly":{"type":"boolean"},"writeOnly":{"type":"boolean"},"type":{"type":"string","enum":["null"]},"default":{"type":"null"},"examples":{"type":"array","items":{"type":"null"}},"enum":{"type":"array","items":{"type":"null"}},"const":{"type":"null"}},"required":["type"]},{"type":"object","properties":{"$schema":{"type":"string"},"$id":{"type":"string"},"$ref":{"type":"string"},"$comment":{"type":"string"},"$defs":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/AnyJsonSchema"}},"$vocabulary":{"type":"object","additionalProperties":{"type":"boolean"}},"$dynamicRef":{"type":"string"},"$dynamicAnchor":{"type":"string"},"$anchor":{"type":"string"},"if":{"$ref":"#/components/schemas/AnyJsonSchema"},"then":{"$ref":"#/components/schemas/AnyJsonSchema"},"else":{"$ref":"#/components/schemas/AnyJsonSchema"},"allOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"anyOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"oneOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"not":{"$ref":"#/components/schemas/AnyJsonSchema"},"title":{"type":"string"},"description":{"type":"string"},"deprecated":{"type":"boolean"},"readOnly":{"type":"boolean"},"writeOnly":{"type":"boolean"}}}],"description":"Structured shape of the response payload (types, required fields, constraints).","examples":[{"type":"object","properties":{}}]},"examples":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#/components/schemas/ExternalExample"},{"$ref":"#/components/schemas/EmbeddedExample"}]},"default":{},"description":"Inline examples keyed by content type for the response payload.","examples":[{}]},"kvStorage":{"type":"object","additionalProperties":{},"default":{},"description":"Custom metadata captured from the response definition.","examples":[{}]},"headers":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#/components/schemas/InlineHeader"},{"$ref":"#/components/schemas/ResponseHeaderRef"}]},"default":{},"description":"Headers returned with the response, keyed by header name.","examples":[{}]},"versionId":{"type":"string","minLength":30,"maxLength":30,"description":"Object ID with prefix \"ver_\"","examples":["ver_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"updatedAt":{"type":["string","null"],"format":"date-time","default":"2026-06-07T11:14:39.993Z","examples":["2024-01-15T10:30:00.000Z"]}},"required":["operationId","versionId"],"description":"Response is an operation response entry including status code, MIME type, payload shape, examples, and headers."},"ResponseHeaderRef":{"type":"object","properties":{"$ref":{"type":"string"}},"required":["$ref"],"description":"Reference to a reusable header component."},"Server":{"type":"object","properties":{"id":{"type":"string","minLength":30,"maxLength":30,"default":"srv_agpkdswa7f3xxebjsyyxnvnaf4","description":"Object ID with prefix \"srv_\"","examples":["srv_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"serviceId":{"type":"string","minLength":30,"maxLength":30,"description":"Server scoped to a service; cannot be combined with pathId or operationId.","examples":["svc_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"pathId":{"type":"string","minLength":31,"maxLength":31,"description":"Server scoped to a specific path; cannot be combined with serviceId or operationId.","examples":["path_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"operationId":{"type":"string","minLength":29,"maxLength":29,"description":"Server scoped to a single operation; cannot be combined with serviceId or pathId.","examples":["op_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"url":{"type":"string","description":"Base URL template for calling the API (may include `{variable}` placeholders).","examples":["https://api.example.com/v1"]},"description":{"type":"string","description":"Markdown description of the server.","examples":["Production API server"]},"variables":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/ServerVariable"},"default":{},"description":"Map of variables that the server URL template expects.","examples":[{"environment":{"default":"production","enum":["production","staging"]}}]},"kvStorage":{"type":"object","additionalProperties":{},"default":{},"description":"Custom metadata preserved with the server definition.","examples":[{}]},"versionId":{"type":"string","minLength":30,"maxLength":30,"description":"Object ID with prefix \"ver_\"","examples":["ver_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"updatedAt":{"type":["string","null"],"format":"date-time","default":"2026-06-07T11:14:39.993Z","examples":["2024-01-15T10:30:00.000Z"]}},"required":["url","versionId"],"description":"Server is an URL endpoint template attached to a service, path, or operation, including variables when needed."},"ServerVariable":{"type":"object","properties":{"enum":{"type":"array","items":{"type":"string"},"minItems":1},"default":{"type":"string"},"description":{"type":"string"}},"required":["default"],"description":"Variable in the server URL, with a default value and optional allowed values."},"SecurityScheme":{"type":"object","properties":{"id":{"type":"string","minLength":34,"maxLength":34,"default":"sec_sch_agpkdswa7f3xxebjvx7ymuzmpu","description":"Object ID with prefix \"sec_sch_\"","examples":["sec_sch_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"type":{"type":"string","enum":["apiKey","http","mutualTls","oauth2","openIdConnect"],"description":"Kind of authentication mechanism (API key, HTTP auth/bearer, mutual TLS, OAuth 2.0, or OpenID Connect).","examples":["http"]},"in":{"type":"string","enum":["query","header","cookie"],"description":"Location of the API key for apiKey schemes (query, header, or cookie).","examples":["header"]},"name":{"type":"string","description":"Identifier for the security scheme; matches the name used when publishing or importing API definitions.","examples":["ApiKeyAuth"]},"description":{"type":"string","description":"Security scheme description in markdown.","examples":["Bearer token authentication using JWT."]},"descriptionBlocks":{"anyOf":[{"$ref":"#/components/schemas/ProseMirrorContentSchema"},{"type":"array","items":{"$ref":"#/components/schemas/ProseMirrorContentSchema"}}],"description":"Security scheme description in ProseMirror JSON blocks.","examples":[{"type":"paragraph","content":[{"type":"text","text":"Security scheme description in rich text format."}]}]},"scheme":{"type":"string","description":"HTTP auth scheme label (for example: basic, bearer, digest).","examples":["bearer"]},"bearerFormat":{"type":"string","description":"Optional hint about the bearer token format (for example: JWT).","examples":["JWT"]},"flows":{"description":"OAuth 2.0 flow configuration (e.g., auth code, client credentials) detailing token and authorization URLs.","examples":[{"clientCredentials":{"tokenUrl":"https://example.com/oauth/token","scopes":{}}}]},"openIdConnectUrl":{"type":"string","description":"OpenID Connect discovery endpoint when type is openIdConnect.","examples":["https://example.com/.well-known/openid-configuration"]},"versionId":{"type":"string","minLength":30,"maxLength":30,"description":"Object ID with prefix \"ver_\"","examples":["ver_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"updatedAt":{"type":["string","null"],"format":"date-time","default":"2026-06-07T11:14:39.993Z","examples":["2024-01-15T10:30:00.000Z"]}},"required":["type","name","versionId"],"description":"SecurityScheme is an authentication scheme definition covering API keys, HTTP auth (including bearer), mutual TLS, OAuth 2.0, and OpenID Connect that callers must satisfy."},"Header":{"type":"object","properties":{"id":{"type":"string","minLength":31,"maxLength":31,"default":"head_agpkdswa7f3xxebjyyrz2hydrm","description":"Object ID with prefix \"head_\"","examples":["head_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"name":{"type":"string","description":"Header name; case-insensitive when serialized in HTTP.","examples":["Authorization"]},"versionId":{"type":"string","minLength":30,"maxLength":30,"description":"Object ID with prefix \"ver_\"","examples":["ver_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"updatedAt":{"type":["string","null"],"format":"date-time","default":"2026-06-07T11:14:39.993Z","examples":["2024-01-15T10:30:00.000Z"]},"description":{"type":"string","description":"Plain description of what the header conveys.","examples":["Bearer token for authentication."]},"required":{"type":"boolean","description":"Marks the header as required for the request or response.","examples":[false]},"deprecated":{"type":"boolean","examples":[false]},"style":{"type":"string","enum":["simple"],"description":"Serialization style for the header (simple = comma-separated).","examples":["simple"]},"explode":{"type":"boolean","description":"Controls whether arrays/objects are split into separate values instead of a single combined string.","examples":[false]},"schema":{"$ref":"#/components/schemas/AnyJsonSchema","description":"JSON Schema describing the header value.","examples":[{"type":"string"}]},"examples":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#/components/schemas/ExternalExample"},{"$ref":"#/components/schemas/EmbeddedExample"}]},"default":{},"description":"Examples for the header value keyed by name or content type.","examples":[{}]},"kvStorage":{"type":"object","additionalProperties":{},"default":{},"description":"Custom metadata preserved with the header definition.","examples":[{}]},"content":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/HeaderContent"},"description":"Map of content types to header definitions when the header carries structured content.","examples":[{}]}},"required":["name","versionId"],"description":"Header is a reusable HTTP header definition with schema, examples, and optional structured content."},"HeaderContent":{"type":"object","properties":{"schema":{"$ref":"#/components/schemas/AnyJsonSchema"},"examples":{"$ref":"#/components/schemas/InlineExamples"}},"required":["schema"],"description":"Alternate structured content for the header keyed by content type."},"Example":{"type":"object","properties":{"id":{"type":"string","minLength":31,"maxLength":31,"default":"expl_agpkdswa7f3xxebj37ogcgnjte","description":"Object ID with prefix \"expl_\"","examples":["expl_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"name":{"type":"string","description":"Non-unique name of a reusable example; matches how it is referenced in API definitions.","examples":["default"]},"value":{"description":"Inline example payload for the referenced content type.","examples":[{"id":"123","name":"Example"}]},"externalValue":{"type":"string","description":"URL pointing to an external example payload.","examples":["https://example.com/sample.json"]},"summary":{"type":"string","examples":["Example user object"]},"description":{"type":"string","description":"Example description in markdown.","examples":["A sample user object demonstrating the expected structure."]},"descriptionBlocks":{"anyOf":[{"$ref":"#/components/schemas/ProseMirrorContentSchema"},{"type":"array","items":{"$ref":"#/components/schemas/ProseMirrorContentSchema"}}],"description":"Example description in ProseMirror JSON blocks.","examples":[{"type":"paragraph","content":[{"type":"text","text":"Example description in rich text format."}]}]},"kvStorage":{"type":"object","additionalProperties":{},"default":{},"description":"Custom metadata carried with the example (e.g., vendor-specific extensions).","examples":[{}]},"versionId":{"type":"string","minLength":30,"maxLength":30,"description":"Object ID with prefix \"ver_\"","examples":["ver_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"updatedAt":{"type":["string","null"],"format":"date-time","default":"2026-06-07T11:14:39.993Z","examples":["2024-01-15T10:30:00.000Z"]}},"required":["versionId"],"description":"Example is a reusable example that holds either an inline payload or an external reference for request or response bodies."},"AssistantMessagesSchema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"role":{"type":"string","enum":["system","user","assistant"]},"parts":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"state":{"type":"string","enum":["streaming","done"]},"providerMetadata":{"type":"object","additionalProperties":{}}},"required":["type","text"]},{"type":"object","properties":{"type":{"type":"string","enum":["reasoning"]},"text":{"type":"string"},"state":{"type":"string","enum":["streaming","done"]},"providerMetadata":{"type":"object","additionalProperties":{}}},"required":["type","text"]},{"type":"object","properties":{"type":{"type":"string","enum":["file"]},"mediaType":{"type":"string"},"url":{"type":"string"},"filename":{"type":"string"},"providerMetadata":{"type":"object","additionalProperties":{}}},"required":["type","mediaType","url"]},{"type":"object","properties":{"type":{"type":"string","minLength":1}},"required":["type"],"additionalProperties":{}}]}},"metadata":{"type":"object","additionalProperties":{}}},"required":["role","parts"]},"description":"Conversation messages for the AI assistant"}},"required":["messages"],"description":"AI-sdk structured conversation payload for the AI assistant"}},"parameters":{"versionId":{"schema":{"$ref":"#/components/schemas/versionId"},"required":true,"description":"Catalog version identifier","in":"path","name":"versionId"},"projectRef":{"schema":{"$ref":"#/components/schemas/projectRef"},"required":true,"description":"Project slug or project id (proj_*)","in":"path","name":"projectRef"},"versionType":{"schema":{"$ref":"#/components/schemas/versionType"},"required":true,"description":"Version type, can be either 'branch' or 'environment'","in":"path","name":"versionType"},"versionSlug":{"schema":{"$ref":"#/components/schemas/versionSlug"},"required":true,"description":"Version slug","in":"path","name":"versionSlug"}}},"paths":{"/v2/catalog/versions/{versionId}/services":{"get":{"summary":"List Services","description":"List all Services items.\n\nService is a top-level record representing a product or microservice; owns the collection of endpoints plus shared authentication and metadata.","operationId":"list-services","tags":["Services"],"parameters":[{"$ref":"#/components/parameters/versionId"},{"schema":{"type":"string","description":"Cursor for pagination (item ID)"},"required":false,"description":"Cursor for pagination (item ID)","name":"after","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":1000,"default":50,"description":"Maximum number of items to return (default: 50, max: 1000)"},"required":false,"description":"Maximum number of items to return (default: 50, max: 1000)","name":"limit","in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Sort order. Use 'prop' for ascending, '-prop' for descending. Multiple params supported (e.g. sort=name&sort=-createdAt)"},"required":false,"description":"Sort order. Use 'prop' for ascending, '-prop' for descending. Multiple params supported (e.g. sort=name&sort=-createdAt)","name":"sort","in":"query"}],"responses":{"200":{"description":"List of Services","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Service"},"examples":[[]]},"pagination":{"$ref":"#/components/schemas/PaginationMetadata"}},"required":["items","pagination"],"description":"Services collection"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"post":{"summary":"Create Service","description":"Create a new Service item.\n\nService is a top-level record representing a product or microservice; owns the collection of endpoints plus shared authentication and metadata.","operationId":"create-service","tags":["Services"],"parameters":[{"$ref":"#/components/parameters/versionId"}],"requestBody":{"description":"Payload to create a new Service item","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Service"}}}},"responses":{"201":{"description":"Service created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Service"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"409":{"$ref":"#/components/responses/ConflictError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v2/catalog/versions/{versionId}/services/{id}":{"get":{"summary":"Get Service","description":"Get a Service item by its id.\n\nService is a top-level record representing a product or microservice; owns the collection of endpoints plus shared authentication and metadata.","operationId":"get-service-by-id","tags":["Services"],"parameters":[{"$ref":"#/components/parameters/versionId"},{"schema":{"type":"string","minLength":30,"maxLength":30,"description":"Service identifier","examples":["svc_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Service identifier","name":"id","in":"path"}],"responses":{"200":{"description":"Service details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Service"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorService"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"post":{"summary":"Replace Service","description":"Completely replaces a Service item by its id.\n\nService is a top-level record representing a product or microservice; owns the collection of endpoints plus shared authentication and metadata.","operationId":"replace-service-by-id","tags":["Services"],"parameters":[{"$ref":"#/components/parameters/versionId"},{"schema":{"type":"string","minLength":30,"maxLength":30,"description":"Service identifier","examples":["svc_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Service identifier","name":"id","in":"path"}],"requestBody":{"description":"Payload to replace the Service item by its id","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Service"}}}},"responses":{"200":{"description":"Service replaced","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Service"}}}},"201":{"description":"Service created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Service"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorService"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"patch":{"summary":"Update Service","description":"Partially updates a Service item by its id.\n\nService is a top-level record representing a product or microservice; owns the collection of endpoints plus shared authentication and metadata.","operationId":"update-service-by-id","tags":["Services"],"parameters":[{"$ref":"#/components/parameters/versionId"},{"schema":{"type":"string","minLength":30,"maxLength":30,"description":"Service identifier","examples":["svc_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Service identifier","name":"id","in":"path"}],"requestBody":{"description":"Partial payload to update the Service item by its id","required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","minLength":30,"maxLength":30,"default":"svc_agpkdswa7f3xxebi65jopqd66y","description":"Object ID with prefix \"svc_\"","examples":["svc_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"name":{"type":"string","default":"","examples":["User Service"]},"slug":{"type":"string","pattern":"^[a-z0-9-]+$","examples":["user-service"]},"summary":{"type":"string","default":"","description":"Short plain-text summary of the service.","examples":["User management services that allows adding, updating, and deleting users."]},"description":{"type":"string","default":"","description":"Service description written in markdown.","examples":["Service for managing users, authentication, and user profiles."]},"descriptionBlocks":{"anyOf":[{"$ref":"#/components/schemas/ProseMirrorContentSchema"},{"type":"array","items":{"$ref":"#/components/schemas/ProseMirrorContentSchema"}}],"description":"Service description as ProseMirror JSON blocks.","examples":[{"type":"paragraph","content":[{"type":"text","text":"Service description in rich text format."}]}]},"tags":{"type":"array","items":{"type":"string"},"default":[],"examples":[["authentication","users"]]},"security":{"type":"array","items":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}},"description":"Authentication requirements shared by every endpoint in the service. Each item maps a security scheme id to the scopes/permissions it needs.","url":"https://swagger.io/specification/#security-requirement-object","examples":[[{"ApiKeyAuth":[]}]]},"previousSlugs":{"type":"array","items":{"type":"string"},"default":[],"examples":[["user-api","users-api"]]},"versionId":{"type":"string","minLength":30,"maxLength":30,"description":"Object ID with prefix \"ver_\"","examples":["ver_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"organizationId":{"type":"string","examples":["org_sample_org"]},"createdAt":{"type":["string","null"],"format":"date-time","default":"2026-06-07T11:14:39.993Z","examples":["2024-01-15T10:30:00.000Z"]},"updatedAt":{"type":["string","null"],"format":"date-time","default":"2026-06-07T11:14:39.993Z","examples":["2024-01-15T10:30:00.000Z"]},"kvStorage":{"type":"object","additionalProperties":{},"default":{},"description":"Custom metadata carried with the service; kept intact when exporting or importing API docs.","examples":[{}]},"lastReportAt":{"type":["string","null"],"format":"date-time","description":"Timestamp of the most recent report received from the service.","examples":["2024-01-15T10:30:00.000Z"]},"lastMentionAt":{"type":["string","null"],"format":"date-time","description":"Timestamp when the service was last mentioned in a report, either directly or via connected services.","examples":["2024-01-15T10:30:00.000Z"]},"lastConnectionAt":{"type":["string","null"],"format":"date-time","description":"Timestamp of the last successful connection observed from the service (ping or report).","examples":["2024-01-15T10:30:00.000Z"]},"hasConnection":{"type":"boolean","default":false,"description":"Indicates that the service maintains a direct connection from which reports are expected.","examples":[false]}}}}}},"responses":{"200":{"description":"Service updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Service"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorService"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"delete":{"summary":"Delete Service","description":"Delete a Service item by its id.\n\nService is a top-level record representing a product or microservice; owns the collection of endpoints plus shared authentication and metadata.","operationId":"delete-service-by-id","tags":["Services"],"parameters":[{"$ref":"#/components/parameters/versionId"},{"schema":{"type":"string","minLength":30,"maxLength":30,"description":"Service identifier","examples":["svc_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Service identifier","name":"id","in":"path"}],"responses":{"204":{"description":"Service deleted"},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorService"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v2/catalog/projects/{projectRef}/{versionType}/{versionSlug}/services":{"get":{"summary":"List Services","description":"List all Services items.\n\nService is a top-level record representing a product or microservice; owns the collection of endpoints plus shared authentication and metadata.","operationId":"list-services1","tags":["Services"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"},{"schema":{"type":"string","description":"Cursor for pagination (item ID)"},"required":false,"description":"Cursor for pagination (item ID)","name":"after","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":1000,"default":50,"description":"Maximum number of items to return (default: 50, max: 1000)"},"required":false,"description":"Maximum number of items to return (default: 50, max: 1000)","name":"limit","in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Sort order. Use 'prop' for ascending, '-prop' for descending. Multiple params supported (e.g. sort=name&sort=-createdAt)"},"required":false,"description":"Sort order. Use 'prop' for ascending, '-prop' for descending. Multiple params supported (e.g. sort=name&sort=-createdAt)","name":"sort","in":"query"}],"responses":{"200":{"description":"List of Services","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Service"},"examples":[[]]},"pagination":{"$ref":"#/components/schemas/PaginationMetadata"}},"required":["items","pagination"],"description":"Services collection"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"post":{"summary":"Create Service","description":"Create a new Service item.\n\nService is a top-level record representing a product or microservice; owns the collection of endpoints plus shared authentication and metadata.","operationId":"create-service1","tags":["Services"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"}],"requestBody":{"description":"Payload to create a new Service item","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Service"}}}},"responses":{"201":{"description":"Service created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Service"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"409":{"$ref":"#/components/responses/ConflictError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v2/catalog/projects/{projectRef}/{versionType}/{versionSlug}/services/{id}":{"get":{"summary":"Get Service","description":"Get a Service item by its id.\n\nService is a top-level record representing a product or microservice; owns the collection of endpoints plus shared authentication and metadata.","operationId":"get-service-by-id1","tags":["Services"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"},{"schema":{"type":"string","minLength":30,"maxLength":30,"description":"Service identifier","examples":["svc_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Service identifier","name":"id","in":"path"}],"responses":{"200":{"description":"Service details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Service"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorService"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"post":{"summary":"Replace Service","description":"Completely replaces a Service item by its id.\n\nService is a top-level record representing a product or microservice; owns the collection of endpoints plus shared authentication and metadata.","operationId":"replace-service-by-id1","tags":["Services"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"},{"schema":{"type":"string","minLength":30,"maxLength":30,"description":"Service identifier","examples":["svc_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Service identifier","name":"id","in":"path"}],"requestBody":{"description":"Payload to replace the Service item by its id","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Service"}}}},"responses":{"200":{"description":"Service replaced","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Service"}}}},"201":{"description":"Service created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Service"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorService"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"patch":{"summary":"Update Service","description":"Partially updates a Service item by its id.\n\nService is a top-level record representing a product or microservice; owns the collection of endpoints plus shared authentication and metadata.","operationId":"update-service-by-id1","tags":["Services"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"},{"schema":{"type":"string","minLength":30,"maxLength":30,"description":"Service identifier","examples":["svc_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Service identifier","name":"id","in":"path"}],"requestBody":{"description":"Partial payload to update the Service item by its id","required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","minLength":30,"maxLength":30,"default":"svc_agpkdswa7f3xxebi77kc76ucz4","description":"Object ID with prefix \"svc_\"","examples":["svc_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"name":{"type":"string","default":"","examples":["User Service"]},"slug":{"type":"string","pattern":"^[a-z0-9-]+$","examples":["user-service"]},"summary":{"type":"string","default":"","description":"Short plain-text summary of the service.","examples":["User management services that allows adding, updating, and deleting users."]},"description":{"type":"string","default":"","description":"Service description written in markdown.","examples":["Service for managing users, authentication, and user profiles."]},"descriptionBlocks":{"anyOf":[{"$ref":"#/components/schemas/ProseMirrorContentSchema"},{"type":"array","items":{"$ref":"#/components/schemas/ProseMirrorContentSchema"}}],"description":"Service description as ProseMirror JSON blocks.","examples":[{"type":"paragraph","content":[{"type":"text","text":"Service description in rich text format."}]}]},"tags":{"type":"array","items":{"type":"string"},"default":[],"examples":[["authentication","users"]]},"security":{"type":"array","items":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}},"description":"Authentication requirements shared by every endpoint in the service. Each item maps a security scheme id to the scopes/permissions it needs.","url":"https://swagger.io/specification/#security-requirement-object","examples":[[{"ApiKeyAuth":[]}]]},"previousSlugs":{"type":"array","items":{"type":"string"},"default":[],"examples":[["user-api","users-api"]]},"versionId":{"type":"string","minLength":30,"maxLength":30,"description":"Object ID with prefix \"ver_\"","examples":["ver_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"organizationId":{"type":"string","examples":["org_sample_org"]},"createdAt":{"type":["string","null"],"format":"date-time","default":"2026-06-07T11:14:39.993Z","examples":["2024-01-15T10:30:00.000Z"]},"updatedAt":{"type":["string","null"],"format":"date-time","default":"2026-06-07T11:14:39.993Z","examples":["2024-01-15T10:30:00.000Z"]},"kvStorage":{"type":"object","additionalProperties":{},"default":{},"description":"Custom metadata carried with the service; kept intact when exporting or importing API docs.","examples":[{}]},"lastReportAt":{"type":["string","null"],"format":"date-time","description":"Timestamp of the most recent report received from the service.","examples":["2024-01-15T10:30:00.000Z"]},"lastMentionAt":{"type":["string","null"],"format":"date-time","description":"Timestamp when the service was last mentioned in a report, either directly or via connected services.","examples":["2024-01-15T10:30:00.000Z"]},"lastConnectionAt":{"type":["string","null"],"format":"date-time","description":"Timestamp of the last successful connection observed from the service (ping or report).","examples":["2024-01-15T10:30:00.000Z"]},"hasConnection":{"type":"boolean","default":false,"description":"Indicates that the service maintains a direct connection from which reports are expected.","examples":[false]}}}}}},"responses":{"200":{"description":"Service updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Service"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorService"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"delete":{"summary":"Delete Service","description":"Delete a Service item by its id.\n\nService is a top-level record representing a product or microservice; owns the collection of endpoints plus shared authentication and metadata.","operationId":"delete-service-by-id1","tags":["Services"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"},{"schema":{"type":"string","minLength":30,"maxLength":30,"description":"Service identifier","examples":["svc_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Service identifier","name":"id","in":"path"}],"responses":{"204":{"description":"Service deleted"},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorService"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v2/catalog/versions/{versionId}/resources":{"get":{"summary":"List Resources","description":"List all Resources items.\n\nResource is a reusable object schema that can be referenced by requests, responses, and parameters. Resource is also known as an Entity or Object Schema.","operationId":"list-resources","tags":["Resources"],"parameters":[{"$ref":"#/components/parameters/versionId"},{"schema":{"type":"string","description":"Cursor for pagination (item ID)"},"required":false,"description":"Cursor for pagination (item ID)","name":"after","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":1000,"default":50,"description":"Maximum number of items to return (default: 50, max: 1000)"},"required":false,"description":"Maximum number of items to return (default: 50, max: 1000)","name":"limit","in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Sort order. Use 'prop' for ascending, '-prop' for descending. Multiple params supported (e.g. sort=name&sort=-createdAt)"},"required":false,"description":"Sort order. Use 'prop' for ascending, '-prop' for descending. Multiple params supported (e.g. sort=name&sort=-createdAt)","name":"sort","in":"query"}],"responses":{"200":{"description":"List of Resources","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Resource"},"examples":[[]]},"pagination":{"$ref":"#/components/schemas/PaginationMetadata"}},"required":["items","pagination"],"description":"Resources collection"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"post":{"summary":"Create Resource","description":"Create a new Resource item.\n\nResource is a reusable object schema that can be referenced by requests, responses, and parameters. Resource is also known as an Entity or Object Schema.","operationId":"create-resource","tags":["Resources"],"parameters":[{"$ref":"#/components/parameters/versionId"}],"requestBody":{"description":"Payload to create a new Resource item","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resource"}}}},"responses":{"201":{"description":"Resource created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resource"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"409":{"$ref":"#/components/responses/ConflictError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v2/catalog/versions/{versionId}/resources/{id}":{"get":{"summary":"Get Resource","description":"Get a Resource item by its id.\n\nResource is a reusable object schema that can be referenced by requests, responses, and parameters. Resource is also known as an Entity or Object Schema.","operationId":"get-resource-by-id","tags":["Resources"],"parameters":[{"$ref":"#/components/parameters/versionId"},{"schema":{"type":"string","minLength":30,"maxLength":30,"description":"Resource identifier","examples":["rsc_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Resource identifier","name":"id","in":"path"}],"responses":{"200":{"description":"Resource details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resource"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorResource"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"post":{"summary":"Replace Resource","description":"Completely replaces a Resource item by its id.\n\nResource is a reusable object schema that can be referenced by requests, responses, and parameters. Resource is also known as an Entity or Object Schema.","operationId":"replace-resource-by-id","tags":["Resources"],"parameters":[{"$ref":"#/components/parameters/versionId"},{"schema":{"type":"string","minLength":30,"maxLength":30,"description":"Resource identifier","examples":["rsc_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Resource identifier","name":"id","in":"path"}],"requestBody":{"description":"Payload to replace the Resource item by its id","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resource"}}}},"responses":{"200":{"description":"Resource replaced","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resource"}}}},"201":{"description":"Resource created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resource"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorResource"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"patch":{"summary":"Update Resource","description":"Partially updates a Resource item by its id.\n\nResource is a reusable object schema that can be referenced by requests, responses, and parameters. Resource is also known as an Entity or Object Schema.","operationId":"update-resource-by-id","tags":["Resources"],"parameters":[{"$ref":"#/components/parameters/versionId"},{"schema":{"type":"string","minLength":30,"maxLength":30,"description":"Resource identifier","examples":["rsc_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Resource identifier","name":"id","in":"path"}],"requestBody":{"description":"Partial payload to update the Resource item by its id","required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","minLength":30,"maxLength":30,"default":"rsc_agpkdswa7f3xxebjbtbhpqc3qu","description":"Object ID with prefix \"rsc_\"","examples":["rsc_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"name":{"type":"string","default":"","description":"Resource name, typically the same key used when the schema is referenced in API definitions.","examples":["User"]},"description":{"type":"string","description":"Description of what this reusable schema represents (markdown).","examples":["User object schema with id, name, and email fields."]},"versionId":{"type":"string","minLength":30,"maxLength":30,"description":"Object ID with prefix \"ver_\"","examples":["ver_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"schema":{"$ref":"#/components/schemas/AnyJsonSchema","description":"Structured schema describing the reusable object shape.","examples":[{"type":"object","properties":{}}]},"kvStorage":{"type":"object","additionalProperties":{},"default":{},"description":"Custom metadata stored with the schema (such as vendor-specific extensions).","examples":[{}]},"externalDocs":{"type":"object","properties":{"url":{"type":"string"},"description":{"type":"string"}},"required":["url"],"description":"External documentation link related to the resource schema.","examples":[{"url":"https://example.com/docs","description":"Schema documentation"}]},"createdAt":{"type":["string","null"],"format":"date-time","default":"2026-06-07T11:14:39.993Z","examples":["2024-01-15T10:30:00.000Z"]},"updatedAt":{"type":["string","null"],"format":"date-time","default":"2026-06-07T11:14:39.993Z","examples":["2024-01-15T10:30:00.000Z"]}}}}}},"responses":{"200":{"description":"Resource updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resource"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorResource"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"delete":{"summary":"Delete Resource","description":"Delete a Resource item by its id.\n\nResource is a reusable object schema that can be referenced by requests, responses, and parameters. Resource is also known as an Entity or Object Schema.","operationId":"delete-resource-by-id","tags":["Resources"],"parameters":[{"$ref":"#/components/parameters/versionId"},{"schema":{"type":"string","minLength":30,"maxLength":30,"description":"Resource identifier","examples":["rsc_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Resource identifier","name":"id","in":"path"}],"responses":{"204":{"description":"Resource deleted"},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorResource"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v2/catalog/projects/{projectRef}/{versionType}/{versionSlug}/resources":{"get":{"summary":"List Resources","description":"List all Resources items.\n\nResource is a reusable object schema that can be referenced by requests, responses, and parameters. Resource is also known as an Entity or Object Schema.","operationId":"list-resources1","tags":["Resources"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"},{"schema":{"type":"string","description":"Cursor for pagination (item ID)"},"required":false,"description":"Cursor for pagination (item ID)","name":"after","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":1000,"default":50,"description":"Maximum number of items to return (default: 50, max: 1000)"},"required":false,"description":"Maximum number of items to return (default: 50, max: 1000)","name":"limit","in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Sort order. Use 'prop' for ascending, '-prop' for descending. Multiple params supported (e.g. sort=name&sort=-createdAt)"},"required":false,"description":"Sort order. Use 'prop' for ascending, '-prop' for descending. Multiple params supported (e.g. sort=name&sort=-createdAt)","name":"sort","in":"query"}],"responses":{"200":{"description":"List of Resources","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Resource"},"examples":[[]]},"pagination":{"$ref":"#/components/schemas/PaginationMetadata"}},"required":["items","pagination"],"description":"Resources collection"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"post":{"summary":"Create Resource","description":"Create a new Resource item.\n\nResource is a reusable object schema that can be referenced by requests, responses, and parameters. Resource is also known as an Entity or Object Schema.","operationId":"create-resource1","tags":["Resources"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"}],"requestBody":{"description":"Payload to create a new Resource item","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resource"}}}},"responses":{"201":{"description":"Resource created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resource"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"409":{"$ref":"#/components/responses/ConflictError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v2/catalog/projects/{projectRef}/{versionType}/{versionSlug}/resources/{id}":{"get":{"summary":"Get Resource","description":"Get a Resource item by its id.\n\nResource is a reusable object schema that can be referenced by requests, responses, and parameters. Resource is also known as an Entity or Object Schema.","operationId":"get-resource-by-id1","tags":["Resources"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"},{"schema":{"type":"string","minLength":30,"maxLength":30,"description":"Resource identifier","examples":["rsc_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Resource identifier","name":"id","in":"path"}],"responses":{"200":{"description":"Resource details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resource"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorResource"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"post":{"summary":"Replace Resource","description":"Completely replaces a Resource item by its id.\n\nResource is a reusable object schema that can be referenced by requests, responses, and parameters. Resource is also known as an Entity or Object Schema.","operationId":"replace-resource-by-id1","tags":["Resources"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"},{"schema":{"type":"string","minLength":30,"maxLength":30,"description":"Resource identifier","examples":["rsc_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Resource identifier","name":"id","in":"path"}],"requestBody":{"description":"Payload to replace the Resource item by its id","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resource"}}}},"responses":{"200":{"description":"Resource replaced","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resource"}}}},"201":{"description":"Resource created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resource"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorResource"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"patch":{"summary":"Update Resource","description":"Partially updates a Resource item by its id.\n\nResource is a reusable object schema that can be referenced by requests, responses, and parameters. Resource is also known as an Entity or Object Schema.","operationId":"update-resource-by-id1","tags":["Resources"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"},{"schema":{"type":"string","minLength":30,"maxLength":30,"description":"Resource identifier","examples":["rsc_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Resource identifier","name":"id","in":"path"}],"requestBody":{"description":"Partial payload to update the Resource item by its id","required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","minLength":30,"maxLength":30,"default":"rsc_agpkdswa7f3xxebjcuaohxtolu","description":"Object ID with prefix \"rsc_\"","examples":["rsc_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"name":{"type":"string","default":"","description":"Resource name, typically the same key used when the schema is referenced in API definitions.","examples":["User"]},"description":{"type":"string","description":"Description of what this reusable schema represents (markdown).","examples":["User object schema with id, name, and email fields."]},"versionId":{"type":"string","minLength":30,"maxLength":30,"description":"Object ID with prefix \"ver_\"","examples":["ver_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"schema":{"$ref":"#/components/schemas/AnyJsonSchema","description":"Structured schema describing the reusable object shape.","examples":[{"type":"object","properties":{}}]},"kvStorage":{"type":"object","additionalProperties":{},"default":{},"description":"Custom metadata stored with the schema (such as vendor-specific extensions).","examples":[{}]},"externalDocs":{"type":"object","properties":{"url":{"type":"string"},"description":{"type":"string"}},"required":["url"],"description":"External documentation link related to the resource schema.","examples":[{"url":"https://example.com/docs","description":"Schema documentation"}]},"createdAt":{"type":["string","null"],"format":"date-time","default":"2026-06-07T11:14:39.993Z","examples":["2024-01-15T10:30:00.000Z"]},"updatedAt":{"type":["string","null"],"format":"date-time","default":"2026-06-07T11:14:39.993Z","examples":["2024-01-15T10:30:00.000Z"]}}}}}},"responses":{"200":{"description":"Resource updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resource"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorResource"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"delete":{"summary":"Delete Resource","description":"Delete a Resource item by its id.\n\nResource is a reusable object schema that can be referenced by requests, responses, and parameters. Resource is also known as an Entity or Object Schema.","operationId":"delete-resource-by-id1","tags":["Resources"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"},{"schema":{"type":"string","minLength":30,"maxLength":30,"description":"Resource identifier","examples":["rsc_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Resource identifier","name":"id","in":"path"}],"responses":{"204":{"description":"Resource deleted"},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorResource"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v2/catalog/versions/{versionId}/paths":{"get":{"summary":"List Paths","description":"List all Paths items.\n\nPath is an API path entry representing a templated URL segment and any metadata shared by its operations.","operationId":"list-paths","tags":["Paths"],"parameters":[{"$ref":"#/components/parameters/versionId"},{"schema":{"type":"string","description":"Cursor for pagination (item ID)"},"required":false,"description":"Cursor for pagination (item ID)","name":"after","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":1000,"default":50,"description":"Maximum number of items to return (default: 50, max: 1000)"},"required":false,"description":"Maximum number of items to return (default: 50, max: 1000)","name":"limit","in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Sort order. Use 'prop' for ascending, '-prop' for descending. Multiple params supported (e.g. sort=name&sort=-createdAt)"},"required":false,"description":"Sort order. Use 'prop' for ascending, '-prop' for descending. Multiple params supported (e.g. sort=name&sort=-createdAt)","name":"sort","in":"query"}],"responses":{"200":{"description":"List of Paths","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Path"},"examples":[[]]},"pagination":{"$ref":"#/components/schemas/PaginationMetadata"}},"required":["items","pagination"],"description":"Paths collection"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"post":{"summary":"Create Path","description":"Create a new Path item.\n\nPath is an API path entry representing a templated URL segment and any metadata shared by its operations.","operationId":"create-path","tags":["Paths"],"parameters":[{"$ref":"#/components/parameters/versionId"}],"requestBody":{"description":"Payload to create a new Path item","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Path"}}}},"responses":{"201":{"description":"Path created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Path"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"409":{"$ref":"#/components/responses/ConflictError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v2/catalog/versions/{versionId}/paths/{id}":{"get":{"summary":"Get Path","description":"Get a Path item by its id.\n\nPath is an API path entry representing a templated URL segment and any metadata shared by its operations.","operationId":"get-path-by-id","tags":["Paths"],"parameters":[{"$ref":"#/components/parameters/versionId"},{"schema":{"type":"string","minLength":31,"maxLength":31,"description":"Path identifier","examples":["path_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Path identifier","name":"id","in":"path"}],"responses":{"200":{"description":"Path details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Path"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorPath"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"post":{"summary":"Replace Path","description":"Completely replaces a Path item by its id.\n\nPath is an API path entry representing a templated URL segment and any metadata shared by its operations.","operationId":"replace-path-by-id","tags":["Paths"],"parameters":[{"$ref":"#/components/parameters/versionId"},{"schema":{"type":"string","minLength":31,"maxLength":31,"description":"Path identifier","examples":["path_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Path identifier","name":"id","in":"path"}],"requestBody":{"description":"Payload to replace the Path item by its id","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Path"}}}},"responses":{"200":{"description":"Path replaced","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Path"}}}},"201":{"description":"Path created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Path"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorPath"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"patch":{"summary":"Update Path","description":"Partially updates a Path item by its id.\n\nPath is an API path entry representing a templated URL segment and any metadata shared by its operations.","operationId":"update-path-by-id","tags":["Paths"],"parameters":[{"$ref":"#/components/parameters/versionId"},{"schema":{"type":"string","minLength":31,"maxLength":31,"description":"Path identifier","examples":["path_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Path identifier","name":"id","in":"path"}],"requestBody":{"description":"Partial payload to update the Path item by its id","required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","minLength":31,"maxLength":31,"default":"path_agpkdswa7f3xxebjez5kb6i3ry","description":"Object ID with prefix \"path_\"","examples":["path_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"serviceId":{"type":"string","minLength":30,"maxLength":30,"description":"Object ID with prefix \"svc_\"","examples":["svc_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"path":{"type":"string","description":"Concrete API path template (must start with a forward slash).","examples":["/users/{userId}"]},"summary":{"type":"string","description":"Short summary of the path across its operations.","examples":["User management endpoints"]},"description":{"type":"string","description":"Long-form description of the path shared across operations (markdown).","examples":["Operations for managing user resources."]},"kvStorage":{"type":"object","additionalProperties":{},"default":{},"description":"Custom metadata kept with the path (including any x-... style extensions).","examples":[{}]},"versionId":{"type":"string","minLength":30,"maxLength":30,"description":"Object ID with prefix \"ver_\"","examples":["ver_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"updatedAt":{"type":["string","null"],"format":"date-time","default":"2026-06-07T11:14:39.993Z","examples":["2024-01-15T10:30:00.000Z"]}}}}}},"responses":{"200":{"description":"Path updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Path"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorPath"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"delete":{"summary":"Delete Path","description":"Delete a Path item by its id.\n\nPath is an API path entry representing a templated URL segment and any metadata shared by its operations.","operationId":"delete-path-by-id","tags":["Paths"],"parameters":[{"$ref":"#/components/parameters/versionId"},{"schema":{"type":"string","minLength":31,"maxLength":31,"description":"Path identifier","examples":["path_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Path identifier","name":"id","in":"path"}],"responses":{"204":{"description":"Path deleted"},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorPath"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v2/catalog/projects/{projectRef}/{versionType}/{versionSlug}/paths":{"get":{"summary":"List Paths","description":"List all Paths items.\n\nPath is an API path entry representing a templated URL segment and any metadata shared by its operations.","operationId":"list-paths1","tags":["Paths"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"},{"schema":{"type":"string","description":"Cursor for pagination (item ID)"},"required":false,"description":"Cursor for pagination (item ID)","name":"after","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":1000,"default":50,"description":"Maximum number of items to return (default: 50, max: 1000)"},"required":false,"description":"Maximum number of items to return (default: 50, max: 1000)","name":"limit","in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Sort order. Use 'prop' for ascending, '-prop' for descending. Multiple params supported (e.g. sort=name&sort=-createdAt)"},"required":false,"description":"Sort order. Use 'prop' for ascending, '-prop' for descending. Multiple params supported (e.g. sort=name&sort=-createdAt)","name":"sort","in":"query"}],"responses":{"200":{"description":"List of Paths","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Path"},"examples":[[]]},"pagination":{"$ref":"#/components/schemas/PaginationMetadata"}},"required":["items","pagination"],"description":"Paths collection"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"post":{"summary":"Create Path","description":"Create a new Path item.\n\nPath is an API path entry representing a templated URL segment and any metadata shared by its operations.","operationId":"create-path1","tags":["Paths"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"}],"requestBody":{"description":"Payload to create a new Path item","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Path"}}}},"responses":{"201":{"description":"Path created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Path"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"409":{"$ref":"#/components/responses/ConflictError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v2/catalog/projects/{projectRef}/{versionType}/{versionSlug}/paths/{id}":{"get":{"summary":"Get Path","description":"Get a Path item by its id.\n\nPath is an API path entry representing a templated URL segment and any metadata shared by its operations.","operationId":"get-path-by-id1","tags":["Paths"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"},{"schema":{"type":"string","minLength":31,"maxLength":31,"description":"Path identifier","examples":["path_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Path identifier","name":"id","in":"path"}],"responses":{"200":{"description":"Path details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Path"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorPath"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"post":{"summary":"Replace Path","description":"Completely replaces a Path item by its id.\n\nPath is an API path entry representing a templated URL segment and any metadata shared by its operations.","operationId":"replace-path-by-id1","tags":["Paths"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"},{"schema":{"type":"string","minLength":31,"maxLength":31,"description":"Path identifier","examples":["path_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Path identifier","name":"id","in":"path"}],"requestBody":{"description":"Payload to replace the Path item by its id","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Path"}}}},"responses":{"200":{"description":"Path replaced","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Path"}}}},"201":{"description":"Path created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Path"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorPath"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"patch":{"summary":"Update Path","description":"Partially updates a Path item by its id.\n\nPath is an API path entry representing a templated URL segment and any metadata shared by its operations.","operationId":"update-path-by-id1","tags":["Paths"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"},{"schema":{"type":"string","minLength":31,"maxLength":31,"description":"Path identifier","examples":["path_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Path identifier","name":"id","in":"path"}],"requestBody":{"description":"Partial payload to update the Path item by its id","required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","minLength":31,"maxLength":31,"default":"path_agpkdswa7f3xxebjfrcpmjb7j4","description":"Object ID with prefix \"path_\"","examples":["path_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"serviceId":{"type":"string","minLength":30,"maxLength":30,"description":"Object ID with prefix \"svc_\"","examples":["svc_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"path":{"type":"string","description":"Concrete API path template (must start with a forward slash).","examples":["/users/{userId}"]},"summary":{"type":"string","description":"Short summary of the path across its operations.","examples":["User management endpoints"]},"description":{"type":"string","description":"Long-form description of the path shared across operations (markdown).","examples":["Operations for managing user resources."]},"kvStorage":{"type":"object","additionalProperties":{},"default":{},"description":"Custom metadata kept with the path (including any x-... style extensions).","examples":[{}]},"versionId":{"type":"string","minLength":30,"maxLength":30,"description":"Object ID with prefix \"ver_\"","examples":["ver_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"updatedAt":{"type":["string","null"],"format":"date-time","default":"2026-06-07T11:14:39.993Z","examples":["2024-01-15T10:30:00.000Z"]}}}}}},"responses":{"200":{"description":"Path updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Path"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorPath"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"delete":{"summary":"Delete Path","description":"Delete a Path item by its id.\n\nPath is an API path entry representing a templated URL segment and any metadata shared by its operations.","operationId":"delete-path-by-id1","tags":["Paths"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"},{"schema":{"type":"string","minLength":31,"maxLength":31,"description":"Path identifier","examples":["path_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Path identifier","name":"id","in":"path"}],"responses":{"204":{"description":"Path deleted"},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorPath"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v2/catalog/versions/{versionId}/operations":{"get":{"summary":"List Operations","description":"List all Operations items.\n\nOperation is an HTTP operation bound to a path, including documentation, authentication requirements, and optional external docs.","operationId":"list-operations","tags":["Operations"],"parameters":[{"$ref":"#/components/parameters/versionId"},{"schema":{"type":"string","description":"Cursor for pagination (item ID)"},"required":false,"description":"Cursor for pagination (item ID)","name":"after","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":1000,"default":50,"description":"Maximum number of items to return (default: 50, max: 1000)"},"required":false,"description":"Maximum number of items to return (default: 50, max: 1000)","name":"limit","in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Sort order. Use 'prop' for ascending, '-prop' for descending. Multiple params supported (e.g. sort=name&sort=-createdAt)"},"required":false,"description":"Sort order. Use 'prop' for ascending, '-prop' for descending. Multiple params supported (e.g. sort=name&sort=-createdAt)","name":"sort","in":"query"}],"responses":{"200":{"description":"List of Operations","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Operation"},"examples":[[]]},"pagination":{"$ref":"#/components/schemas/PaginationMetadata"}},"required":["items","pagination"],"description":"Operations collection"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"post":{"summary":"Create Operation","description":"Create a new Operation item.\n\nOperation is an HTTP operation bound to a path, including documentation, authentication requirements, and optional external docs.","operationId":"create-operation","tags":["Operations"],"parameters":[{"$ref":"#/components/parameters/versionId"}],"requestBody":{"description":"Payload to create a new Operation item","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Operation"}}}},"responses":{"201":{"description":"Operation created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Operation"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"409":{"$ref":"#/components/responses/ConflictError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v2/catalog/versions/{versionId}/operations/{id}":{"get":{"summary":"Get Operation","description":"Get a Operation item by its id.\n\nOperation is an HTTP operation bound to a path, including documentation, authentication requirements, and optional external docs.","operationId":"get-operation-by-id","tags":["Operations"],"parameters":[{"$ref":"#/components/parameters/versionId"},{"schema":{"type":"string","minLength":29,"maxLength":29,"description":"Operation identifier","examples":["op_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Operation identifier","name":"id","in":"path"}],"responses":{"200":{"description":"Operation details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Operation"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorOperation"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"post":{"summary":"Replace Operation","description":"Completely replaces a Operation item by its id.\n\nOperation is an HTTP operation bound to a path, including documentation, authentication requirements, and optional external docs.","operationId":"replace-operation-by-id","tags":["Operations"],"parameters":[{"$ref":"#/components/parameters/versionId"},{"schema":{"type":"string","minLength":29,"maxLength":29,"description":"Operation identifier","examples":["op_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Operation identifier","name":"id","in":"path"}],"requestBody":{"description":"Payload to replace the Operation item by its id","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Operation"}}}},"responses":{"200":{"description":"Operation replaced","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Operation"}}}},"201":{"description":"Operation created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Operation"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorOperation"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"patch":{"summary":"Update Operation","description":"Partially updates a Operation item by its id.\n\nOperation is an HTTP operation bound to a path, including documentation, authentication requirements, and optional external docs.","operationId":"update-operation-by-id","tags":["Operations"],"parameters":[{"$ref":"#/components/parameters/versionId"},{"schema":{"type":"string","minLength":29,"maxLength":29,"description":"Operation identifier","examples":["op_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Operation identifier","name":"id","in":"path"}],"requestBody":{"description":"Partial payload to update the Operation item by its id","required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","minLength":29,"maxLength":29,"default":"op_agpkdswa7f3xxebjhsu5mq2ieu","description":"Object ID with prefix \"op_\"","examples":["op_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"method":{"type":"string","description":"HTTP method for the operation (e.g., get, post).","examples":["get"]},"pathId":{"type":"string","minLength":31,"maxLength":31,"description":"Object ID with prefix \"path_\"","examples":["path_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"summary":{"type":"string","description":"Short summary of the operation.","examples":["Get user by ID"]},"description":{"type":"string","description":"Markdown description of the operation.","examples":["Retrieves a user by their unique identifier."]},"descriptionBlocks":{"anyOf":[{"$ref":"#/components/schemas/ProseMirrorContentSchema"},{"type":"array","items":{"$ref":"#/components/schemas/ProseMirrorContentSchema"}}],"description":"Operation description represented as ProseMirror JSON.","examples":[{"type":"paragraph","content":[{"type":"text","text":"Operation description in rich text format."}]}]},"deprecated":{"type":"boolean","default":false,"examples":[false]},"operationId":{"type":"string","description":"Stable operation identifier mirroring OpenAPI operationId.","examples":["get-user-by-id"]},"tags":{"type":"array","items":{"type":"string"},"default":[],"description":"Tags applied to the operation for grouping.","examples":[["users","authentication"]]},"kvStorage":{"type":"object","additionalProperties":{},"default":{},"description":"Custom metadata attached to the operation; kept when importing/exporting API definitions.","examples":[{}]},"externalDocs":{"type":"object","properties":{"url":{"type":"string"},"description":{"type":"string"}},"required":["url"],"description":"Additional external documentation reference for the operation.","examples":[{"url":"https://example.com/docs","description":"API documentation"}]},"security":{"type":"array","items":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}},"description":"Authentication requirements for this operation; each entry maps a security scheme id to the scopes/permissions it needs.","url":"https://swagger.io/specification/#security-requirement-object","examples":[[{"ApiKeyAuth":[]}]]},"versionId":{"type":"string","minLength":30,"maxLength":30,"description":"Object ID with prefix \"ver_\"","examples":["ver_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"updatedAt":{"type":["string","null"],"format":"date-time","default":"2026-06-07T11:14:39.993Z","examples":["2024-01-15T10:30:00.000Z"]}}}}}},"responses":{"200":{"description":"Operation updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Operation"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorOperation"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"delete":{"summary":"Delete Operation","description":"Delete a Operation item by its id.\n\nOperation is an HTTP operation bound to a path, including documentation, authentication requirements, and optional external docs.","operationId":"delete-operation-by-id","tags":["Operations"],"parameters":[{"$ref":"#/components/parameters/versionId"},{"schema":{"type":"string","minLength":29,"maxLength":29,"description":"Operation identifier","examples":["op_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Operation identifier","name":"id","in":"path"}],"responses":{"204":{"description":"Operation deleted"},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorOperation"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v2/catalog/projects/{projectRef}/{versionType}/{versionSlug}/operations":{"get":{"summary":"List Operations","description":"List all Operations items.\n\nOperation is an HTTP operation bound to a path, including documentation, authentication requirements, and optional external docs.","operationId":"list-operations1","tags":["Operations"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"},{"schema":{"type":"string","description":"Cursor for pagination (item ID)"},"required":false,"description":"Cursor for pagination (item ID)","name":"after","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":1000,"default":50,"description":"Maximum number of items to return (default: 50, max: 1000)"},"required":false,"description":"Maximum number of items to return (default: 50, max: 1000)","name":"limit","in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Sort order. Use 'prop' for ascending, '-prop' for descending. Multiple params supported (e.g. sort=name&sort=-createdAt)"},"required":false,"description":"Sort order. Use 'prop' for ascending, '-prop' for descending. Multiple params supported (e.g. sort=name&sort=-createdAt)","name":"sort","in":"query"}],"responses":{"200":{"description":"List of Operations","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Operation"},"examples":[[]]},"pagination":{"$ref":"#/components/schemas/PaginationMetadata"}},"required":["items","pagination"],"description":"Operations collection"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"post":{"summary":"Create Operation","description":"Create a new Operation item.\n\nOperation is an HTTP operation bound to a path, including documentation, authentication requirements, and optional external docs.","operationId":"create-operation1","tags":["Operations"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"}],"requestBody":{"description":"Payload to create a new Operation item","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Operation"}}}},"responses":{"201":{"description":"Operation created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Operation"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"409":{"$ref":"#/components/responses/ConflictError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v2/catalog/projects/{projectRef}/{versionType}/{versionSlug}/operations/{id}":{"get":{"summary":"Get Operation","description":"Get a Operation item by its id.\n\nOperation is an HTTP operation bound to a path, including documentation, authentication requirements, and optional external docs.","operationId":"get-operation-by-id1","tags":["Operations"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"},{"schema":{"type":"string","minLength":29,"maxLength":29,"description":"Operation identifier","examples":["op_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Operation identifier","name":"id","in":"path"}],"responses":{"200":{"description":"Operation details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Operation"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorOperation"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"post":{"summary":"Replace Operation","description":"Completely replaces a Operation item by its id.\n\nOperation is an HTTP operation bound to a path, including documentation, authentication requirements, and optional external docs.","operationId":"replace-operation-by-id1","tags":["Operations"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"},{"schema":{"type":"string","minLength":29,"maxLength":29,"description":"Operation identifier","examples":["op_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Operation identifier","name":"id","in":"path"}],"requestBody":{"description":"Payload to replace the Operation item by its id","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Operation"}}}},"responses":{"200":{"description":"Operation replaced","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Operation"}}}},"201":{"description":"Operation created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Operation"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorOperation"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"patch":{"summary":"Update Operation","description":"Partially updates a Operation item by its id.\n\nOperation is an HTTP operation bound to a path, including documentation, authentication requirements, and optional external docs.","operationId":"update-operation-by-id1","tags":["Operations"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"},{"schema":{"type":"string","minLength":29,"maxLength":29,"description":"Operation identifier","examples":["op_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Operation identifier","name":"id","in":"path"}],"requestBody":{"description":"Partial payload to update the Operation item by its id","required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","minLength":29,"maxLength":29,"default":"op_agpkdswa7f3xxebji4ykzsewpe","description":"Object ID with prefix \"op_\"","examples":["op_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"method":{"type":"string","description":"HTTP method for the operation (e.g., get, post).","examples":["get"]},"pathId":{"type":"string","minLength":31,"maxLength":31,"description":"Object ID with prefix \"path_\"","examples":["path_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"summary":{"type":"string","description":"Short summary of the operation.","examples":["Get user by ID"]},"description":{"type":"string","description":"Markdown description of the operation.","examples":["Retrieves a user by their unique identifier."]},"descriptionBlocks":{"anyOf":[{"$ref":"#/components/schemas/ProseMirrorContentSchema"},{"type":"array","items":{"$ref":"#/components/schemas/ProseMirrorContentSchema"}}],"description":"Operation description represented as ProseMirror JSON.","examples":[{"type":"paragraph","content":[{"type":"text","text":"Operation description in rich text format."}]}]},"deprecated":{"type":"boolean","default":false,"examples":[false]},"operationId":{"type":"string","description":"Stable operation identifier mirroring OpenAPI operationId.","examples":["get-user-by-id"]},"tags":{"type":"array","items":{"type":"string"},"default":[],"description":"Tags applied to the operation for grouping.","examples":[["users","authentication"]]},"kvStorage":{"type":"object","additionalProperties":{},"default":{},"description":"Custom metadata attached to the operation; kept when importing/exporting API definitions.","examples":[{}]},"externalDocs":{"type":"object","properties":{"url":{"type":"string"},"description":{"type":"string"}},"required":["url"],"description":"Additional external documentation reference for the operation.","examples":[{"url":"https://example.com/docs","description":"API documentation"}]},"security":{"type":"array","items":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}},"description":"Authentication requirements for this operation; each entry maps a security scheme id to the scopes/permissions it needs.","url":"https://swagger.io/specification/#security-requirement-object","examples":[[{"ApiKeyAuth":[]}]]},"versionId":{"type":"string","minLength":30,"maxLength":30,"description":"Object ID with prefix \"ver_\"","examples":["ver_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"updatedAt":{"type":["string","null"],"format":"date-time","default":"2026-06-07T11:14:39.993Z","examples":["2024-01-15T10:30:00.000Z"]}}}}}},"responses":{"200":{"description":"Operation updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Operation"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorOperation"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"delete":{"summary":"Delete Operation","description":"Delete a Operation item by its id.\n\nOperation is an HTTP operation bound to a path, including documentation, authentication requirements, and optional external docs.","operationId":"delete-operation-by-id1","tags":["Operations"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"},{"schema":{"type":"string","minLength":29,"maxLength":29,"description":"Operation identifier","examples":["op_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Operation identifier","name":"id","in":"path"}],"responses":{"204":{"description":"Operation deleted"},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorOperation"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v2/catalog/versions/{versionId}/parameters":{"get":{"summary":"List Parameters","description":"List all Parameters items.\n\nParameter is a reusable request parameter definition scoped to a path or a single operation.","operationId":"list-parameters","tags":["Parameters"],"parameters":[{"$ref":"#/components/parameters/versionId"},{"schema":{"type":"string","description":"Cursor for pagination (item ID)"},"required":false,"description":"Cursor for pagination (item ID)","name":"after","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":1000,"default":50,"description":"Maximum number of items to return (default: 50, max: 1000)"},"required":false,"description":"Maximum number of items to return (default: 50, max: 1000)","name":"limit","in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Sort order. Use 'prop' for ascending, '-prop' for descending. Multiple params supported (e.g. sort=name&sort=-createdAt)"},"required":false,"description":"Sort order. Use 'prop' for ascending, '-prop' for descending. Multiple params supported (e.g. sort=name&sort=-createdAt)","name":"sort","in":"query"}],"responses":{"200":{"description":"List of Parameters","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Parameter"},"examples":[[]]},"pagination":{"$ref":"#/components/schemas/PaginationMetadata"}},"required":["items","pagination"],"description":"Parameters collection"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"post":{"summary":"Create Parameter","description":"Create a new Parameter item.\n\nParameter is a reusable request parameter definition scoped to a path or a single operation.","operationId":"create-parameter","tags":["Parameters"],"parameters":[{"$ref":"#/components/parameters/versionId"}],"requestBody":{"description":"Payload to create a new Parameter item","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Parameter"}}}},"responses":{"201":{"description":"Parameter created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Parameter"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"409":{"$ref":"#/components/responses/ConflictError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v2/catalog/versions/{versionId}/parameters/{id}":{"get":{"summary":"Get Parameter","description":"Get a Parameter item by its id.\n\nParameter is a reusable request parameter definition scoped to a path or a single operation.","operationId":"get-parameter-by-id","tags":["Parameters"],"parameters":[{"$ref":"#/components/parameters/versionId"},{"schema":{"type":"string","minLength":30,"maxLength":30,"description":"Parameter identifier","examples":["par_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Parameter identifier","name":"id","in":"path"}],"responses":{"200":{"description":"Parameter details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Parameter"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorParameter"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"post":{"summary":"Replace Parameter","description":"Completely replaces a Parameter item by its id.\n\nParameter is a reusable request parameter definition scoped to a path or a single operation.","operationId":"replace-parameter-by-id","tags":["Parameters"],"parameters":[{"$ref":"#/components/parameters/versionId"},{"schema":{"type":"string","minLength":30,"maxLength":30,"description":"Parameter identifier","examples":["par_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Parameter identifier","name":"id","in":"path"}],"requestBody":{"description":"Payload to replace the Parameter item by its id","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Parameter"}}}},"responses":{"200":{"description":"Parameter replaced","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Parameter"}}}},"201":{"description":"Parameter created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Parameter"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorParameter"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"patch":{"summary":"Update Parameter","description":"Partially updates a Parameter item by its id.\n\nParameter is a reusable request parameter definition scoped to a path or a single operation.","operationId":"update-parameter-by-id","tags":["Parameters"],"parameters":[{"$ref":"#/components/parameters/versionId"},{"schema":{"type":"string","minLength":30,"maxLength":30,"description":"Parameter identifier","examples":["par_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Parameter identifier","name":"id","in":"path"}],"requestBody":{"description":"Partial payload to update the Parameter item by its id","required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","minLength":30,"maxLength":30,"default":"par_agpkdswa7f3xxebjk74ehx3zni","description":"Object ID with prefix \"par_\"","examples":["par_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"name":{"type":"string","minLength":1,"description":"Parameter name as exposed in the API (case-sensitive for header names).","examples":["page"]},"description":{"type":"string","description":"Human-readable description of what the parameter controls (markdown).","examples":["Page number for pagination."]},"pathId":{"type":"string","minLength":31,"maxLength":31,"description":"Set when the parameter applies to every operation on a path.","examples":["path_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"operationId":{"type":"string","minLength":29,"maxLength":29,"description":"Set when the parameter is specific to a single operation.","examples":["op_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"deprecated":{"type":"boolean","default":false,"examples":[false]},"required":{"type":"boolean","default":false,"examples":[false]},"in":{"type":"string","enum":["query","header","path","cookie"],"description":"Location of the parameter (query, header, path, or cookie).","examples":["query"]},"schema":{"$ref":"#/components/schemas/AnyJsonSchema","description":"Structured shape of the parameter value (type, format, constraints).","examples":[{"type":"string"}]},"allowEmptyValue":{"type":"boolean","default":false,"description":"Allows sending an empty string for query parameters (legacy OpenAPI flag; generally avoid).","deprecated":true,"examples":[false]},"examples":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#/components/schemas/ExternalExample"},{"$ref":"#/components/schemas/EmbeddedExample"}]},"default":{},"description":"Inline examples for the parameter value, keyed by name.","examples":[{}]},"kvStorage":{"type":"object","additionalProperties":{},"default":{},"description":"Custom metadata carried through from imported/published API definitions.","examples":[{}]},"versionId":{"type":"string","minLength":30,"maxLength":30,"description":"Object ID with prefix \"ver_\"","examples":["ver_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"updatedAt":{"type":["string","null"],"format":"date-time","default":"2026-06-07T11:14:39.993Z","examples":["2024-01-15T10:30:00.000Z"]}}}}}},"responses":{"200":{"description":"Parameter updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Parameter"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorParameter"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"delete":{"summary":"Delete Parameter","description":"Delete a Parameter item by its id.\n\nParameter is a reusable request parameter definition scoped to a path or a single operation.","operationId":"delete-parameter-by-id","tags":["Parameters"],"parameters":[{"$ref":"#/components/parameters/versionId"},{"schema":{"type":"string","minLength":30,"maxLength":30,"description":"Parameter identifier","examples":["par_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Parameter identifier","name":"id","in":"path"}],"responses":{"204":{"description":"Parameter deleted"},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorParameter"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v2/catalog/projects/{projectRef}/{versionType}/{versionSlug}/parameters":{"get":{"summary":"List Parameters","description":"List all Parameters items.\n\nParameter is a reusable request parameter definition scoped to a path or a single operation.","operationId":"list-parameters1","tags":["Parameters"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"},{"schema":{"type":"string","description":"Cursor for pagination (item ID)"},"required":false,"description":"Cursor for pagination (item ID)","name":"after","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":1000,"default":50,"description":"Maximum number of items to return (default: 50, max: 1000)"},"required":false,"description":"Maximum number of items to return (default: 50, max: 1000)","name":"limit","in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Sort order. Use 'prop' for ascending, '-prop' for descending. Multiple params supported (e.g. sort=name&sort=-createdAt)"},"required":false,"description":"Sort order. Use 'prop' for ascending, '-prop' for descending. Multiple params supported (e.g. sort=name&sort=-createdAt)","name":"sort","in":"query"}],"responses":{"200":{"description":"List of Parameters","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Parameter"},"examples":[[]]},"pagination":{"$ref":"#/components/schemas/PaginationMetadata"}},"required":["items","pagination"],"description":"Parameters collection"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"post":{"summary":"Create Parameter","description":"Create a new Parameter item.\n\nParameter is a reusable request parameter definition scoped to a path or a single operation.","operationId":"create-parameter1","tags":["Parameters"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"}],"requestBody":{"description":"Payload to create a new Parameter item","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Parameter"}}}},"responses":{"201":{"description":"Parameter created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Parameter"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"409":{"$ref":"#/components/responses/ConflictError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v2/catalog/projects/{projectRef}/{versionType}/{versionSlug}/parameters/{id}":{"get":{"summary":"Get Parameter","description":"Get a Parameter item by its id.\n\nParameter is a reusable request parameter definition scoped to a path or a single operation.","operationId":"get-parameter-by-id1","tags":["Parameters"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"},{"schema":{"type":"string","minLength":30,"maxLength":30,"description":"Parameter identifier","examples":["par_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Parameter identifier","name":"id","in":"path"}],"responses":{"200":{"description":"Parameter details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Parameter"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorParameter"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"post":{"summary":"Replace Parameter","description":"Completely replaces a Parameter item by its id.\n\nParameter is a reusable request parameter definition scoped to a path or a single operation.","operationId":"replace-parameter-by-id1","tags":["Parameters"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"},{"schema":{"type":"string","minLength":30,"maxLength":30,"description":"Parameter identifier","examples":["par_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Parameter identifier","name":"id","in":"path"}],"requestBody":{"description":"Payload to replace the Parameter item by its id","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Parameter"}}}},"responses":{"200":{"description":"Parameter replaced","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Parameter"}}}},"201":{"description":"Parameter created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Parameter"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorParameter"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"patch":{"summary":"Update Parameter","description":"Partially updates a Parameter item by its id.\n\nParameter is a reusable request parameter definition scoped to a path or a single operation.","operationId":"update-parameter-by-id1","tags":["Parameters"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"},{"schema":{"type":"string","minLength":30,"maxLength":30,"description":"Parameter identifier","examples":["par_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Parameter identifier","name":"id","in":"path"}],"requestBody":{"description":"Partial payload to update the Parameter item by its id","required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","minLength":30,"maxLength":30,"default":"par_agpkdswa7f3xxebjl3wwf7cgwm","description":"Object ID with prefix \"par_\"","examples":["par_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"name":{"type":"string","minLength":1,"description":"Parameter name as exposed in the API (case-sensitive for header names).","examples":["page"]},"description":{"type":"string","description":"Human-readable description of what the parameter controls (markdown).","examples":["Page number for pagination."]},"pathId":{"type":"string","minLength":31,"maxLength":31,"description":"Set when the parameter applies to every operation on a path.","examples":["path_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"operationId":{"type":"string","minLength":29,"maxLength":29,"description":"Set when the parameter is specific to a single operation.","examples":["op_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"deprecated":{"type":"boolean","default":false,"examples":[false]},"required":{"type":"boolean","default":false,"examples":[false]},"in":{"type":"string","enum":["query","header","path","cookie"],"description":"Location of the parameter (query, header, path, or cookie).","examples":["query"]},"schema":{"$ref":"#/components/schemas/AnyJsonSchema","description":"Structured shape of the parameter value (type, format, constraints).","examples":[{"type":"string"}]},"allowEmptyValue":{"type":"boolean","default":false,"description":"Allows sending an empty string for query parameters (legacy OpenAPI flag; generally avoid).","deprecated":true,"examples":[false]},"examples":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#/components/schemas/ExternalExample"},{"$ref":"#/components/schemas/EmbeddedExample"}]},"default":{},"description":"Inline examples for the parameter value, keyed by name.","examples":[{}]},"kvStorage":{"type":"object","additionalProperties":{},"default":{},"description":"Custom metadata carried through from imported/published API definitions.","examples":[{}]},"versionId":{"type":"string","minLength":30,"maxLength":30,"description":"Object ID with prefix \"ver_\"","examples":["ver_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"updatedAt":{"type":["string","null"],"format":"date-time","default":"2026-06-07T11:14:39.993Z","examples":["2024-01-15T10:30:00.000Z"]}}}}}},"responses":{"200":{"description":"Parameter updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Parameter"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorParameter"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"delete":{"summary":"Delete Parameter","description":"Delete a Parameter item by its id.\n\nParameter is a reusable request parameter definition scoped to a path or a single operation.","operationId":"delete-parameter-by-id1","tags":["Parameters"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"},{"schema":{"type":"string","minLength":30,"maxLength":30,"description":"Parameter identifier","examples":["par_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Parameter identifier","name":"id","in":"path"}],"responses":{"204":{"description":"Parameter deleted"},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorParameter"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v2/catalog/versions/{versionId}/requests":{"get":{"summary":"List Requests","description":"List all Requests items.\n\nRequest is an operation request body definition including MIME type, payload shape, headers, and examples.","operationId":"list-requests","tags":["Requests"],"parameters":[{"$ref":"#/components/parameters/versionId"},{"schema":{"type":"string","description":"Cursor for pagination (item ID)"},"required":false,"description":"Cursor for pagination (item ID)","name":"after","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":1000,"default":50,"description":"Maximum number of items to return (default: 50, max: 1000)"},"required":false,"description":"Maximum number of items to return (default: 50, max: 1000)","name":"limit","in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Sort order. Use 'prop' for ascending, '-prop' for descending. Multiple params supported (e.g. sort=name&sort=-createdAt)"},"required":false,"description":"Sort order. Use 'prop' for ascending, '-prop' for descending. Multiple params supported (e.g. sort=name&sort=-createdAt)","name":"sort","in":"query"}],"responses":{"200":{"description":"List of Requests","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Request"},"examples":[[]]},"pagination":{"$ref":"#/components/schemas/PaginationMetadata"}},"required":["items","pagination"],"description":"Requests collection"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"post":{"summary":"Create Request","description":"Create a new Request item.\n\nRequest is an operation request body definition including MIME type, payload shape, headers, and examples.","operationId":"create-request","tags":["Requests"],"parameters":[{"$ref":"#/components/parameters/versionId"}],"requestBody":{"description":"Payload to create a new Request item","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Request"}}}},"responses":{"201":{"description":"Request created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Request"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"409":{"$ref":"#/components/responses/ConflictError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v2/catalog/versions/{versionId}/requests/{id}":{"get":{"summary":"Get Request","description":"Get a Request item by its id.\n\nRequest is an operation request body definition including MIME type, payload shape, headers, and examples.","operationId":"get-request-by-id","tags":["Requests"],"parameters":[{"$ref":"#/components/parameters/versionId"},{"schema":{"type":"string","minLength":30,"maxLength":30,"description":"Request identifier","examples":["req_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Request identifier","name":"id","in":"path"}],"responses":{"200":{"description":"Request details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Request"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorRequest"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"post":{"summary":"Replace Request","description":"Completely replaces a Request item by its id.\n\nRequest is an operation request body definition including MIME type, payload shape, headers, and examples.","operationId":"replace-request-by-id","tags":["Requests"],"parameters":[{"$ref":"#/components/parameters/versionId"},{"schema":{"type":"string","minLength":30,"maxLength":30,"description":"Request identifier","examples":["req_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Request identifier","name":"id","in":"path"}],"requestBody":{"description":"Payload to replace the Request item by its id","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Request"}}}},"responses":{"200":{"description":"Request replaced","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Request"}}}},"201":{"description":"Request created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Request"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorRequest"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"patch":{"summary":"Update Request","description":"Partially updates a Request item by its id.\n\nRequest is an operation request body definition including MIME type, payload shape, headers, and examples.","operationId":"update-request-by-id","tags":["Requests"],"parameters":[{"$ref":"#/components/parameters/versionId"},{"schema":{"type":"string","minLength":30,"maxLength":30,"description":"Request identifier","examples":["req_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Request identifier","name":"id","in":"path"}],"requestBody":{"description":"Partial payload to update the Request item by its id","required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","minLength":30,"maxLength":30,"default":"req_agpkdswa7f3xxebjnyg2tpmcge","description":"Object ID with prefix \"req_\"","examples":["req_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"operationId":{"type":"string","minLength":29,"maxLength":29,"description":"Object ID with prefix \"op_\"","examples":["op_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"description":{"type":"string","description":"Markdown description of the request.","examples":["Request body for creating a new user."]},"descriptionBlocks":{"anyOf":[{"$ref":"#/components/schemas/ProseMirrorContentSchema"},{"type":"array","items":{"$ref":"#/components/schemas/ProseMirrorContentSchema"}}],"description":"Request description in ProseMirror JSON.","examples":[{"type":"paragraph","content":[{"type":"text","text":"Request description in rich text format."}]}]},"contentMediaType":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"MIME type of the request body (for example, application/json); null means the request has no body.","examples":["application/json"]},"headers":{"$ref":"#/components/schemas/RequestHeaders"},"schema":{"$ref":"#/components/schemas/AnyJsonSchema","description":"Structured shape of the request payload (types, required fields, constraints).","examples":[{"type":"object","properties":{}}]},"kvStorage":{"type":"object","additionalProperties":{},"default":{},"description":"Custom metadata carried with the request body, including encoding details.","examples":[{}]},"examples":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#/components/schemas/ExternalExample"},{"$ref":"#/components/schemas/EmbeddedExample"}]},"default":{},"description":"Inline request examples keyed by content type or example name.","examples":[{}]},"versionId":{"type":"string","minLength":30,"maxLength":30,"description":"Object ID with prefix \"ver_\"","examples":["ver_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"updatedAt":{"type":["string","null"],"format":"date-time","default":"2026-06-07T11:14:39.993Z","examples":["2024-01-15T10:30:00.000Z"]}}}}}},"responses":{"200":{"description":"Request updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Request"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorRequest"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"delete":{"summary":"Delete Request","description":"Delete a Request item by its id.\n\nRequest is an operation request body definition including MIME type, payload shape, headers, and examples.","operationId":"delete-request-by-id","tags":["Requests"],"parameters":[{"$ref":"#/components/parameters/versionId"},{"schema":{"type":"string","minLength":30,"maxLength":30,"description":"Request identifier","examples":["req_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Request identifier","name":"id","in":"path"}],"responses":{"204":{"description":"Request deleted"},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorRequest"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v2/catalog/projects/{projectRef}/{versionType}/{versionSlug}/requests":{"get":{"summary":"List Requests","description":"List all Requests items.\n\nRequest is an operation request body definition including MIME type, payload shape, headers, and examples.","operationId":"list-requests1","tags":["Requests"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"},{"schema":{"type":"string","description":"Cursor for pagination (item ID)"},"required":false,"description":"Cursor for pagination (item ID)","name":"after","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":1000,"default":50,"description":"Maximum number of items to return (default: 50, max: 1000)"},"required":false,"description":"Maximum number of items to return (default: 50, max: 1000)","name":"limit","in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Sort order. Use 'prop' for ascending, '-prop' for descending. Multiple params supported (e.g. sort=name&sort=-createdAt)"},"required":false,"description":"Sort order. Use 'prop' for ascending, '-prop' for descending. Multiple params supported (e.g. sort=name&sort=-createdAt)","name":"sort","in":"query"}],"responses":{"200":{"description":"List of Requests","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Request"},"examples":[[]]},"pagination":{"$ref":"#/components/schemas/PaginationMetadata"}},"required":["items","pagination"],"description":"Requests collection"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"post":{"summary":"Create Request","description":"Create a new Request item.\n\nRequest is an operation request body definition including MIME type, payload shape, headers, and examples.","operationId":"create-request1","tags":["Requests"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"}],"requestBody":{"description":"Payload to create a new Request item","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Request"}}}},"responses":{"201":{"description":"Request created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Request"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"409":{"$ref":"#/components/responses/ConflictError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v2/catalog/projects/{projectRef}/{versionType}/{versionSlug}/requests/{id}":{"get":{"summary":"Get Request","description":"Get a Request item by its id.\n\nRequest is an operation request body definition including MIME type, payload shape, headers, and examples.","operationId":"get-request-by-id1","tags":["Requests"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"},{"schema":{"type":"string","minLength":30,"maxLength":30,"description":"Request identifier","examples":["req_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Request identifier","name":"id","in":"path"}],"responses":{"200":{"description":"Request details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Request"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorRequest"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"post":{"summary":"Replace Request","description":"Completely replaces a Request item by its id.\n\nRequest is an operation request body definition including MIME type, payload shape, headers, and examples.","operationId":"replace-request-by-id1","tags":["Requests"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"},{"schema":{"type":"string","minLength":30,"maxLength":30,"description":"Request identifier","examples":["req_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Request identifier","name":"id","in":"path"}],"requestBody":{"description":"Payload to replace the Request item by its id","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Request"}}}},"responses":{"200":{"description":"Request replaced","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Request"}}}},"201":{"description":"Request created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Request"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorRequest"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"patch":{"summary":"Update Request","description":"Partially updates a Request item by its id.\n\nRequest is an operation request body definition including MIME type, payload shape, headers, and examples.","operationId":"update-request-by-id1","tags":["Requests"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"},{"schema":{"type":"string","minLength":30,"maxLength":30,"description":"Request identifier","examples":["req_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Request identifier","name":"id","in":"path"}],"requestBody":{"description":"Partial payload to update the Request item by its id","required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","minLength":30,"maxLength":30,"default":"req_agpkdswa7f3xxebjo6yrefjlwa","description":"Object ID with prefix \"req_\"","examples":["req_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"operationId":{"type":"string","minLength":29,"maxLength":29,"description":"Object ID with prefix \"op_\"","examples":["op_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"description":{"type":"string","description":"Markdown description of the request.","examples":["Request body for creating a new user."]},"descriptionBlocks":{"anyOf":[{"$ref":"#/components/schemas/ProseMirrorContentSchema"},{"type":"array","items":{"$ref":"#/components/schemas/ProseMirrorContentSchema"}}],"description":"Request description in ProseMirror JSON.","examples":[{"type":"paragraph","content":[{"type":"text","text":"Request description in rich text format."}]}]},"contentMediaType":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"MIME type of the request body (for example, application/json); null means the request has no body.","examples":["application/json"]},"headers":{"$ref":"#/components/schemas/RequestHeaders"},"schema":{"$ref":"#/components/schemas/AnyJsonSchema","description":"Structured shape of the request payload (types, required fields, constraints).","examples":[{"type":"object","properties":{}}]},"kvStorage":{"type":"object","additionalProperties":{},"default":{},"description":"Custom metadata carried with the request body, including encoding details.","examples":[{}]},"examples":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#/components/schemas/ExternalExample"},{"$ref":"#/components/schemas/EmbeddedExample"}]},"default":{},"description":"Inline request examples keyed by content type or example name.","examples":[{}]},"versionId":{"type":"string","minLength":30,"maxLength":30,"description":"Object ID with prefix \"ver_\"","examples":["ver_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"updatedAt":{"type":["string","null"],"format":"date-time","default":"2026-06-07T11:14:39.993Z","examples":["2024-01-15T10:30:00.000Z"]}}}}}},"responses":{"200":{"description":"Request updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Request"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorRequest"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"delete":{"summary":"Delete Request","description":"Delete a Request item by its id.\n\nRequest is an operation request body definition including MIME type, payload shape, headers, and examples.","operationId":"delete-request-by-id1","tags":["Requests"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"},{"schema":{"type":"string","minLength":30,"maxLength":30,"description":"Request identifier","examples":["req_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Request identifier","name":"id","in":"path"}],"responses":{"204":{"description":"Request deleted"},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorRequest"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v2/catalog/versions/{versionId}/responses":{"get":{"summary":"List Responses","description":"List all Responses items.\n\nResponse is an operation response entry including status code, MIME type, payload shape, examples, and headers.","operationId":"list-responses","tags":["Responses"],"parameters":[{"$ref":"#/components/parameters/versionId"},{"schema":{"type":"string","description":"Cursor for pagination (item ID)"},"required":false,"description":"Cursor for pagination (item ID)","name":"after","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":1000,"default":50,"description":"Maximum number of items to return (default: 50, max: 1000)"},"required":false,"description":"Maximum number of items to return (default: 50, max: 1000)","name":"limit","in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Sort order. Use 'prop' for ascending, '-prop' for descending. Multiple params supported (e.g. sort=name&sort=-createdAt)"},"required":false,"description":"Sort order. Use 'prop' for ascending, '-prop' for descending. Multiple params supported (e.g. sort=name&sort=-createdAt)","name":"sort","in":"query"}],"responses":{"200":{"description":"List of Responses","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Response"},"examples":[[]]},"pagination":{"$ref":"#/components/schemas/PaginationMetadata"}},"required":["items","pagination"],"description":"Responses collection"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"post":{"summary":"Create Response","description":"Create a new Response item.\n\nResponse is an operation response entry including status code, MIME type, payload shape, examples, and headers.","operationId":"create-response","tags":["Responses"],"parameters":[{"$ref":"#/components/parameters/versionId"}],"requestBody":{"description":"Payload to create a new Response item","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}}}},"responses":{"201":{"description":"Response created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"409":{"$ref":"#/components/responses/ConflictError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v2/catalog/versions/{versionId}/responses/{id}":{"get":{"summary":"Get Response","description":"Get a Response item by its id.\n\nResponse is an operation response entry including status code, MIME type, payload shape, examples, and headers.","operationId":"get-response-by-id","tags":["Responses"],"parameters":[{"$ref":"#/components/parameters/versionId"},{"schema":{"type":"string","minLength":30,"maxLength":30,"description":"Response identifier","examples":["res_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Response identifier","name":"id","in":"path"}],"responses":{"200":{"description":"Response details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorResponse"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"post":{"summary":"Replace Response","description":"Completely replaces a Response item by its id.\n\nResponse is an operation response entry including status code, MIME type, payload shape, examples, and headers.","operationId":"replace-response-by-id","tags":["Responses"],"parameters":[{"$ref":"#/components/parameters/versionId"},{"schema":{"type":"string","minLength":30,"maxLength":30,"description":"Response identifier","examples":["res_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Response identifier","name":"id","in":"path"}],"requestBody":{"description":"Payload to replace the Response item by its id","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}}}},"responses":{"200":{"description":"Response replaced","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}}}},"201":{"description":"Response created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorResponse"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"patch":{"summary":"Update Response","description":"Partially updates a Response item by its id.\n\nResponse is an operation response entry including status code, MIME type, payload shape, examples, and headers.","operationId":"update-response-by-id","tags":["Responses"],"parameters":[{"$ref":"#/components/parameters/versionId"},{"schema":{"type":"string","minLength":30,"maxLength":30,"description":"Response identifier","examples":["res_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Response identifier","name":"id","in":"path"}],"requestBody":{"description":"Partial payload to update the Response item by its id","required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","minLength":30,"maxLength":30,"default":"res_agpkdswa7f3xxebjq6t3bdvqve","description":"Object ID with prefix \"res_\"","examples":["res_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"operationId":{"type":"string","minLength":29,"maxLength":29,"description":"Object ID with prefix \"op_\"","examples":["op_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"statusCode":{"anyOf":[{"type":"null"},{"type":["number","null"]}],"description":"HTTP status code; null denotes the default response.","examples":[200]},"description":{"type":"string","description":"Markdown description of the response.","examples":["Successful response with user data."]},"descriptionBlocks":{"anyOf":[{"$ref":"#/components/schemas/ProseMirrorContentSchema"},{"type":"array","items":{"$ref":"#/components/schemas/ProseMirrorContentSchema"}}],"description":"Response description in ProseMirror JSON format.","examples":[{"type":"paragraph","content":[{"type":"text","text":"Response description in rich text format."}]}]},"contentMediaType":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"MIME type of the response body (for example, application/json); null means the response has no body.","examples":["application/json"]},"schema":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["object"]},"properties":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/AnyJsonSchema"}},"required":{"type":"array","items":{"type":"string"}},"default":{"type":"object","properties":{},"additionalProperties":{}},"examples":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{}}},"enum":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{}}},"const":{"type":"object","properties":{},"additionalProperties":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/AnyJsonSchema"}},"additionalProperties":{"anyOf":[{"type":"boolean","enum":[false]},{"$ref":"#/components/schemas/AnyJsonSchema"}]},"unevaluatedProperties":{"anyOf":[{"type":"boolean","enum":[false]},{"$ref":"#/components/schemas/AnyJsonSchema"}]},"propertyNames":{"$ref":"#/components/schemas/AnyJsonSchema"},"minProperties":{"type":"number"},"maxProperties":{"type":"number"},"dependentRequired":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}},"dependentSchemas":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/AnyJsonSchema"}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#/components/schemas/AnyJsonSchema"},{"type":"array","items":{"type":"string"}}]}}},"required":["type"]},{"type":"object","properties":{"$schema":{"type":"string"},"$id":{"type":"string"},"$ref":{"type":"string"},"$comment":{"type":"string"},"$defs":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/AnyJsonSchema"}},"$vocabulary":{"type":"object","additionalProperties":{"type":"boolean"}},"$dynamicRef":{"type":"string"},"$dynamicAnchor":{"type":"string"},"$anchor":{"type":"string"},"if":{"$ref":"#/components/schemas/AnyJsonSchema"},"then":{"$ref":"#/components/schemas/AnyJsonSchema"},"else":{"$ref":"#/components/schemas/AnyJsonSchema"},"allOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"anyOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"oneOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"not":{"$ref":"#/components/schemas/AnyJsonSchema"},"title":{"type":"string"},"description":{"type":"string"},"deprecated":{"type":"boolean"},"readOnly":{"type":"boolean"},"writeOnly":{"type":"boolean"},"type":{"type":"string","enum":["array"]},"items":{"$ref":"#/components/schemas/AnyJsonSchema"},"unevaluatedItems":{"anyOf":[{"$ref":"#/components/schemas/AnyJsonSchema"},{"type":"boolean","enum":[false]}]},"default":{"type":"array","items":{}},"examples":{"type":"array","items":{"type":"array","items":{}}},"enum":{"type":"array","items":{"type":"array","items":{}}},"const":{"type":"array","items":{}},"contains":{"$ref":"#/components/schemas/AnyJsonSchema"},"minContains":{"type":"number"},"maxContains":{"type":"number"},"minItems":{"type":"number"},"maxItems":{"type":"number"},"uniqueItems":{"type":"boolean","enum":[true]},"prefixItems":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}}},"required":["type"]},{"type":"object","properties":{"$schema":{"type":"string"},"$id":{"type":"string"},"$ref":{"type":"string"},"$comment":{"type":"string"},"$defs":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/AnyJsonSchema"}},"$vocabulary":{"type":"object","additionalProperties":{"type":"boolean"}},"$dynamicRef":{"type":"string"},"$dynamicAnchor":{"type":"string"},"$anchor":{"type":"string"},"if":{"$ref":"#/components/schemas/AnyJsonSchema"},"then":{"$ref":"#/components/schemas/AnyJsonSchema"},"else":{"$ref":"#/components/schemas/AnyJsonSchema"},"allOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"anyOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"oneOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"not":{"$ref":"#/components/schemas/AnyJsonSchema"},"title":{"type":"string"},"description":{"type":"string"},"deprecated":{"type":"boolean"},"readOnly":{"type":"boolean"},"writeOnly":{"type":"boolean"},"type":{"type":"string","enum":["number"]},"default":{"type":"number"},"examples":{"type":"array","items":{"type":"number"}},"enum":{"type":"array","items":{"type":"number"}},"const":{"type":"number"},"minimum":{"type":"number"},"maximum":{"type":"number"},"exclusiveMinimum":{"type":"boolean"},"exclusiveMaximum":{"type":"boolean"},"multipleOf":{"type":"number"}},"required":["type"]},{"type":"object","properties":{"$schema":{"type":"string"},"$id":{"type":"string"},"$ref":{"type":"string"},"$comment":{"type":"string"},"$defs":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/AnyJsonSchema"}},"$vocabulary":{"type":"object","additionalProperties":{"type":"boolean"}},"$dynamicRef":{"type":"string"},"$dynamicAnchor":{"type":"string"},"$anchor":{"type":"string"},"if":{"$ref":"#/components/schemas/AnyJsonSchema"},"then":{"$ref":"#/components/schemas/AnyJsonSchema"},"else":{"$ref":"#/components/schemas/AnyJsonSchema"},"allOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"anyOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"oneOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"not":{"$ref":"#/components/schemas/AnyJsonSchema"},"title":{"type":"string"},"description":{"type":"string"},"deprecated":{"type":"boolean"},"readOnly":{"type":"boolean"},"writeOnly":{"type":"boolean"},"type":{"type":"string","enum":["integer"]},"default":{"type":"number"},"examples":{"type":"array","items":{"type":"number"}},"enum":{"type":"array","items":{"type":"number"}},"const":{"type":"number"},"minimum":{"type":"number"},"maximum":{"type":"number"},"exclusiveMinimum":{"type":"boolean"},"exclusiveMaximum":{"type":"boolean"},"multipleOf":{"type":"number"}},"required":["type"]},{"type":"object","properties":{"$schema":{"type":"string"},"$id":{"type":"string"},"$ref":{"type":"string"},"$comment":{"type":"string"},"$defs":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/AnyJsonSchema"}},"$vocabulary":{"type":"object","additionalProperties":{"type":"boolean"}},"$dynamicRef":{"type":"string"},"$dynamicAnchor":{"type":"string"},"$anchor":{"type":"string"},"if":{"$ref":"#/components/schemas/AnyJsonSchema"},"then":{"$ref":"#/components/schemas/AnyJsonSchema"},"else":{"$ref":"#/components/schemas/AnyJsonSchema"},"allOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"anyOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"oneOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"not":{"$ref":"#/components/schemas/AnyJsonSchema"},"title":{"type":"string"},"description":{"type":"string"},"deprecated":{"type":"boolean"},"readOnly":{"type":"boolean"},"writeOnly":{"type":"boolean"},"type":{"type":"string","enum":["string"]},"default":{"type":"string"},"examples":{"type":"array","items":{"type":"string"}},"enum":{"type":"array","items":{"type":"string"}},"const":{"type":"string"},"minLength":{"type":"number"},"maxLength":{"type":"number"},"pattern":{"type":"string"},"format":{"type":"string"}},"required":["type"]},{"type":"object","properties":{"$schema":{"type":"string"},"$id":{"type":"string"},"$ref":{"type":"string"},"$comment":{"type":"string"},"$defs":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/AnyJsonSchema"}},"$vocabulary":{"type":"object","additionalProperties":{"type":"boolean"}},"$dynamicRef":{"type":"string"},"$dynamicAnchor":{"type":"string"},"$anchor":{"type":"string"},"if":{"$ref":"#/components/schemas/AnyJsonSchema"},"then":{"$ref":"#/components/schemas/AnyJsonSchema"},"else":{"$ref":"#/components/schemas/AnyJsonSchema"},"allOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"anyOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"oneOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"not":{"$ref":"#/components/schemas/AnyJsonSchema"},"title":{"type":"string"},"description":{"type":"string"},"deprecated":{"type":"boolean"},"readOnly":{"type":"boolean"},"writeOnly":{"type":"boolean"},"type":{"type":"string","enum":["boolean"]},"default":{"type":"boolean"},"examples":{"type":"array","items":{"type":"boolean"}},"enum":{"type":"array","items":{"type":"boolean"}},"const":{"type":"boolean"}},"required":["type"]},{"type":"object","properties":{"$schema":{"type":"string"},"$id":{"type":"string"},"$ref":{"type":"string"},"$comment":{"type":"string"},"$defs":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/AnyJsonSchema"}},"$vocabulary":{"type":"object","additionalProperties":{"type":"boolean"}},"$dynamicRef":{"type":"string"},"$dynamicAnchor":{"type":"string"},"$anchor":{"type":"string"},"if":{"$ref":"#/components/schemas/AnyJsonSchema"},"then":{"$ref":"#/components/schemas/AnyJsonSchema"},"else":{"$ref":"#/components/schemas/AnyJsonSchema"},"allOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"anyOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"oneOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"not":{"$ref":"#/components/schemas/AnyJsonSchema"},"title":{"type":"string"},"description":{"type":"string"},"deprecated":{"type":"boolean"},"readOnly":{"type":"boolean"},"writeOnly":{"type":"boolean"},"type":{"type":"string","enum":["null"]},"default":{"type":"null"},"examples":{"type":"array","items":{"type":"null"}},"enum":{"type":"array","items":{"type":"null"}},"const":{"type":"null"}},"required":["type"]},{"type":"object","properties":{"$schema":{"type":"string"},"$id":{"type":"string"},"$ref":{"type":"string"},"$comment":{"type":"string"},"$defs":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/AnyJsonSchema"}},"$vocabulary":{"type":"object","additionalProperties":{"type":"boolean"}},"$dynamicRef":{"type":"string"},"$dynamicAnchor":{"type":"string"},"$anchor":{"type":"string"},"if":{"$ref":"#/components/schemas/AnyJsonSchema"},"then":{"$ref":"#/components/schemas/AnyJsonSchema"},"else":{"$ref":"#/components/schemas/AnyJsonSchema"},"allOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"anyOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"oneOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"not":{"$ref":"#/components/schemas/AnyJsonSchema"},"title":{"type":"string"},"description":{"type":"string"},"deprecated":{"type":"boolean"},"readOnly":{"type":"boolean"},"writeOnly":{"type":"boolean"}}}],"description":"Structured shape of the response payload (types, required fields, constraints).","examples":[{"type":"object","properties":{}}]},"examples":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#/components/schemas/ExternalExample"},{"$ref":"#/components/schemas/EmbeddedExample"}]},"default":{},"description":"Inline examples keyed by content type for the response payload.","examples":[{}]},"kvStorage":{"type":"object","additionalProperties":{},"default":{},"description":"Custom metadata captured from the response definition.","examples":[{}]},"headers":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#/components/schemas/InlineHeader"},{"$ref":"#/components/schemas/ResponseHeaderRef"}]},"default":{},"description":"Headers returned with the response, keyed by header name.","examples":[{}]},"versionId":{"type":"string","minLength":30,"maxLength":30,"description":"Object ID with prefix \"ver_\"","examples":["ver_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"updatedAt":{"type":["string","null"],"format":"date-time","default":"2026-06-07T11:14:39.993Z","examples":["2024-01-15T10:30:00.000Z"]}}}}}},"responses":{"200":{"description":"Response updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorResponse"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"delete":{"summary":"Delete Response","description":"Delete a Response item by its id.\n\nResponse is an operation response entry including status code, MIME type, payload shape, examples, and headers.","operationId":"delete-response-by-id","tags":["Responses"],"parameters":[{"$ref":"#/components/parameters/versionId"},{"schema":{"type":"string","minLength":30,"maxLength":30,"description":"Response identifier","examples":["res_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Response identifier","name":"id","in":"path"}],"responses":{"204":{"description":"Response deleted"},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorResponse"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v2/catalog/projects/{projectRef}/{versionType}/{versionSlug}/responses":{"get":{"summary":"List Responses","description":"List all Responses items.\n\nResponse is an operation response entry including status code, MIME type, payload shape, examples, and headers.","operationId":"list-responses1","tags":["Responses"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"},{"schema":{"type":"string","description":"Cursor for pagination (item ID)"},"required":false,"description":"Cursor for pagination (item ID)","name":"after","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":1000,"default":50,"description":"Maximum number of items to return (default: 50, max: 1000)"},"required":false,"description":"Maximum number of items to return (default: 50, max: 1000)","name":"limit","in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Sort order. Use 'prop' for ascending, '-prop' for descending. Multiple params supported (e.g. sort=name&sort=-createdAt)"},"required":false,"description":"Sort order. Use 'prop' for ascending, '-prop' for descending. Multiple params supported (e.g. sort=name&sort=-createdAt)","name":"sort","in":"query"}],"responses":{"200":{"description":"List of Responses","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Response"},"examples":[[]]},"pagination":{"$ref":"#/components/schemas/PaginationMetadata"}},"required":["items","pagination"],"description":"Responses collection"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"post":{"summary":"Create Response","description":"Create a new Response item.\n\nResponse is an operation response entry including status code, MIME type, payload shape, examples, and headers.","operationId":"create-response1","tags":["Responses"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"}],"requestBody":{"description":"Payload to create a new Response item","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}}}},"responses":{"201":{"description":"Response created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"409":{"$ref":"#/components/responses/ConflictError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v2/catalog/projects/{projectRef}/{versionType}/{versionSlug}/responses/{id}":{"get":{"summary":"Get Response","description":"Get a Response item by its id.\n\nResponse is an operation response entry including status code, MIME type, payload shape, examples, and headers.","operationId":"get-response-by-id1","tags":["Responses"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"},{"schema":{"type":"string","minLength":30,"maxLength":30,"description":"Response identifier","examples":["res_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Response identifier","name":"id","in":"path"}],"responses":{"200":{"description":"Response details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorResponse"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"post":{"summary":"Replace Response","description":"Completely replaces a Response item by its id.\n\nResponse is an operation response entry including status code, MIME type, payload shape, examples, and headers.","operationId":"replace-response-by-id1","tags":["Responses"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"},{"schema":{"type":"string","minLength":30,"maxLength":30,"description":"Response identifier","examples":["res_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Response identifier","name":"id","in":"path"}],"requestBody":{"description":"Payload to replace the Response item by its id","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}}}},"responses":{"200":{"description":"Response replaced","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}}}},"201":{"description":"Response created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorResponse"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"patch":{"summary":"Update Response","description":"Partially updates a Response item by its id.\n\nResponse is an operation response entry including status code, MIME type, payload shape, examples, and headers.","operationId":"update-response-by-id1","tags":["Responses"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"},{"schema":{"type":"string","minLength":30,"maxLength":30,"description":"Response identifier","examples":["res_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Response identifier","name":"id","in":"path"}],"requestBody":{"description":"Partial payload to update the Response item by its id","required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","minLength":30,"maxLength":30,"default":"res_agpkdswa7f3xxebjrypdkuytt4","description":"Object ID with prefix \"res_\"","examples":["res_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"operationId":{"type":"string","minLength":29,"maxLength":29,"description":"Object ID with prefix \"op_\"","examples":["op_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"statusCode":{"anyOf":[{"type":"null"},{"type":["number","null"]}],"description":"HTTP status code; null denotes the default response.","examples":[200]},"description":{"type":"string","description":"Markdown description of the response.","examples":["Successful response with user data."]},"descriptionBlocks":{"anyOf":[{"$ref":"#/components/schemas/ProseMirrorContentSchema"},{"type":"array","items":{"$ref":"#/components/schemas/ProseMirrorContentSchema"}}],"description":"Response description in ProseMirror JSON format.","examples":[{"type":"paragraph","content":[{"type":"text","text":"Response description in rich text format."}]}]},"contentMediaType":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"MIME type of the response body (for example, application/json); null means the response has no body.","examples":["application/json"]},"schema":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["object"]},"properties":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/AnyJsonSchema"}},"required":{"type":"array","items":{"type":"string"}},"default":{"type":"object","properties":{},"additionalProperties":{}},"examples":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{}}},"enum":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{}}},"const":{"type":"object","properties":{},"additionalProperties":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/AnyJsonSchema"}},"additionalProperties":{"anyOf":[{"type":"boolean","enum":[false]},{"$ref":"#/components/schemas/AnyJsonSchema"}]},"unevaluatedProperties":{"anyOf":[{"type":"boolean","enum":[false]},{"$ref":"#/components/schemas/AnyJsonSchema"}]},"propertyNames":{"$ref":"#/components/schemas/AnyJsonSchema"},"minProperties":{"type":"number"},"maxProperties":{"type":"number"},"dependentRequired":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}},"dependentSchemas":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/AnyJsonSchema"}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#/components/schemas/AnyJsonSchema"},{"type":"array","items":{"type":"string"}}]}}},"required":["type"]},{"type":"object","properties":{"$schema":{"type":"string"},"$id":{"type":"string"},"$ref":{"type":"string"},"$comment":{"type":"string"},"$defs":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/AnyJsonSchema"}},"$vocabulary":{"type":"object","additionalProperties":{"type":"boolean"}},"$dynamicRef":{"type":"string"},"$dynamicAnchor":{"type":"string"},"$anchor":{"type":"string"},"if":{"$ref":"#/components/schemas/AnyJsonSchema"},"then":{"$ref":"#/components/schemas/AnyJsonSchema"},"else":{"$ref":"#/components/schemas/AnyJsonSchema"},"allOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"anyOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"oneOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"not":{"$ref":"#/components/schemas/AnyJsonSchema"},"title":{"type":"string"},"description":{"type":"string"},"deprecated":{"type":"boolean"},"readOnly":{"type":"boolean"},"writeOnly":{"type":"boolean"},"type":{"type":"string","enum":["array"]},"items":{"$ref":"#/components/schemas/AnyJsonSchema"},"unevaluatedItems":{"anyOf":[{"$ref":"#/components/schemas/AnyJsonSchema"},{"type":"boolean","enum":[false]}]},"default":{"type":"array","items":{}},"examples":{"type":"array","items":{"type":"array","items":{}}},"enum":{"type":"array","items":{"type":"array","items":{}}},"const":{"type":"array","items":{}},"contains":{"$ref":"#/components/schemas/AnyJsonSchema"},"minContains":{"type":"number"},"maxContains":{"type":"number"},"minItems":{"type":"number"},"maxItems":{"type":"number"},"uniqueItems":{"type":"boolean","enum":[true]},"prefixItems":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}}},"required":["type"]},{"type":"object","properties":{"$schema":{"type":"string"},"$id":{"type":"string"},"$ref":{"type":"string"},"$comment":{"type":"string"},"$defs":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/AnyJsonSchema"}},"$vocabulary":{"type":"object","additionalProperties":{"type":"boolean"}},"$dynamicRef":{"type":"string"},"$dynamicAnchor":{"type":"string"},"$anchor":{"type":"string"},"if":{"$ref":"#/components/schemas/AnyJsonSchema"},"then":{"$ref":"#/components/schemas/AnyJsonSchema"},"else":{"$ref":"#/components/schemas/AnyJsonSchema"},"allOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"anyOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"oneOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"not":{"$ref":"#/components/schemas/AnyJsonSchema"},"title":{"type":"string"},"description":{"type":"string"},"deprecated":{"type":"boolean"},"readOnly":{"type":"boolean"},"writeOnly":{"type":"boolean"},"type":{"type":"string","enum":["number"]},"default":{"type":"number"},"examples":{"type":"array","items":{"type":"number"}},"enum":{"type":"array","items":{"type":"number"}},"const":{"type":"number"},"minimum":{"type":"number"},"maximum":{"type":"number"},"exclusiveMinimum":{"type":"boolean"},"exclusiveMaximum":{"type":"boolean"},"multipleOf":{"type":"number"}},"required":["type"]},{"type":"object","properties":{"$schema":{"type":"string"},"$id":{"type":"string"},"$ref":{"type":"string"},"$comment":{"type":"string"},"$defs":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/AnyJsonSchema"}},"$vocabulary":{"type":"object","additionalProperties":{"type":"boolean"}},"$dynamicRef":{"type":"string"},"$dynamicAnchor":{"type":"string"},"$anchor":{"type":"string"},"if":{"$ref":"#/components/schemas/AnyJsonSchema"},"then":{"$ref":"#/components/schemas/AnyJsonSchema"},"else":{"$ref":"#/components/schemas/AnyJsonSchema"},"allOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"anyOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"oneOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"not":{"$ref":"#/components/schemas/AnyJsonSchema"},"title":{"type":"string"},"description":{"type":"string"},"deprecated":{"type":"boolean"},"readOnly":{"type":"boolean"},"writeOnly":{"type":"boolean"},"type":{"type":"string","enum":["integer"]},"default":{"type":"number"},"examples":{"type":"array","items":{"type":"number"}},"enum":{"type":"array","items":{"type":"number"}},"const":{"type":"number"},"minimum":{"type":"number"},"maximum":{"type":"number"},"exclusiveMinimum":{"type":"boolean"},"exclusiveMaximum":{"type":"boolean"},"multipleOf":{"type":"number"}},"required":["type"]},{"type":"object","properties":{"$schema":{"type":"string"},"$id":{"type":"string"},"$ref":{"type":"string"},"$comment":{"type":"string"},"$defs":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/AnyJsonSchema"}},"$vocabulary":{"type":"object","additionalProperties":{"type":"boolean"}},"$dynamicRef":{"type":"string"},"$dynamicAnchor":{"type":"string"},"$anchor":{"type":"string"},"if":{"$ref":"#/components/schemas/AnyJsonSchema"},"then":{"$ref":"#/components/schemas/AnyJsonSchema"},"else":{"$ref":"#/components/schemas/AnyJsonSchema"},"allOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"anyOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"oneOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"not":{"$ref":"#/components/schemas/AnyJsonSchema"},"title":{"type":"string"},"description":{"type":"string"},"deprecated":{"type":"boolean"},"readOnly":{"type":"boolean"},"writeOnly":{"type":"boolean"},"type":{"type":"string","enum":["string"]},"default":{"type":"string"},"examples":{"type":"array","items":{"type":"string"}},"enum":{"type":"array","items":{"type":"string"}},"const":{"type":"string"},"minLength":{"type":"number"},"maxLength":{"type":"number"},"pattern":{"type":"string"},"format":{"type":"string"}},"required":["type"]},{"type":"object","properties":{"$schema":{"type":"string"},"$id":{"type":"string"},"$ref":{"type":"string"},"$comment":{"type":"string"},"$defs":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/AnyJsonSchema"}},"$vocabulary":{"type":"object","additionalProperties":{"type":"boolean"}},"$dynamicRef":{"type":"string"},"$dynamicAnchor":{"type":"string"},"$anchor":{"type":"string"},"if":{"$ref":"#/components/schemas/AnyJsonSchema"},"then":{"$ref":"#/components/schemas/AnyJsonSchema"},"else":{"$ref":"#/components/schemas/AnyJsonSchema"},"allOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"anyOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"oneOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"not":{"$ref":"#/components/schemas/AnyJsonSchema"},"title":{"type":"string"},"description":{"type":"string"},"deprecated":{"type":"boolean"},"readOnly":{"type":"boolean"},"writeOnly":{"type":"boolean"},"type":{"type":"string","enum":["boolean"]},"default":{"type":"boolean"},"examples":{"type":"array","items":{"type":"boolean"}},"enum":{"type":"array","items":{"type":"boolean"}},"const":{"type":"boolean"}},"required":["type"]},{"type":"object","properties":{"$schema":{"type":"string"},"$id":{"type":"string"},"$ref":{"type":"string"},"$comment":{"type":"string"},"$defs":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/AnyJsonSchema"}},"$vocabulary":{"type":"object","additionalProperties":{"type":"boolean"}},"$dynamicRef":{"type":"string"},"$dynamicAnchor":{"type":"string"},"$anchor":{"type":"string"},"if":{"$ref":"#/components/schemas/AnyJsonSchema"},"then":{"$ref":"#/components/schemas/AnyJsonSchema"},"else":{"$ref":"#/components/schemas/AnyJsonSchema"},"allOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"anyOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"oneOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"not":{"$ref":"#/components/schemas/AnyJsonSchema"},"title":{"type":"string"},"description":{"type":"string"},"deprecated":{"type":"boolean"},"readOnly":{"type":"boolean"},"writeOnly":{"type":"boolean"},"type":{"type":"string","enum":["null"]},"default":{"type":"null"},"examples":{"type":"array","items":{"type":"null"}},"enum":{"type":"array","items":{"type":"null"}},"const":{"type":"null"}},"required":["type"]},{"type":"object","properties":{"$schema":{"type":"string"},"$id":{"type":"string"},"$ref":{"type":"string"},"$comment":{"type":"string"},"$defs":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/AnyJsonSchema"}},"$vocabulary":{"type":"object","additionalProperties":{"type":"boolean"}},"$dynamicRef":{"type":"string"},"$dynamicAnchor":{"type":"string"},"$anchor":{"type":"string"},"if":{"$ref":"#/components/schemas/AnyJsonSchema"},"then":{"$ref":"#/components/schemas/AnyJsonSchema"},"else":{"$ref":"#/components/schemas/AnyJsonSchema"},"allOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"anyOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"oneOf":{"type":"array","items":{"$ref":"#/components/schemas/AnyJsonSchema"}},"not":{"$ref":"#/components/schemas/AnyJsonSchema"},"title":{"type":"string"},"description":{"type":"string"},"deprecated":{"type":"boolean"},"readOnly":{"type":"boolean"},"writeOnly":{"type":"boolean"}}}],"description":"Structured shape of the response payload (types, required fields, constraints).","examples":[{"type":"object","properties":{}}]},"examples":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#/components/schemas/ExternalExample"},{"$ref":"#/components/schemas/EmbeddedExample"}]},"default":{},"description":"Inline examples keyed by content type for the response payload.","examples":[{}]},"kvStorage":{"type":"object","additionalProperties":{},"default":{},"description":"Custom metadata captured from the response definition.","examples":[{}]},"headers":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#/components/schemas/InlineHeader"},{"$ref":"#/components/schemas/ResponseHeaderRef"}]},"default":{},"description":"Headers returned with the response, keyed by header name.","examples":[{}]},"versionId":{"type":"string","minLength":30,"maxLength":30,"description":"Object ID with prefix \"ver_\"","examples":["ver_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"updatedAt":{"type":["string","null"],"format":"date-time","default":"2026-06-07T11:14:39.993Z","examples":["2024-01-15T10:30:00.000Z"]}}}}}},"responses":{"200":{"description":"Response updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorResponse"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"delete":{"summary":"Delete Response","description":"Delete a Response item by its id.\n\nResponse is an operation response entry including status code, MIME type, payload shape, examples, and headers.","operationId":"delete-response-by-id1","tags":["Responses"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"},{"schema":{"type":"string","minLength":30,"maxLength":30,"description":"Response identifier","examples":["res_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Response identifier","name":"id","in":"path"}],"responses":{"204":{"description":"Response deleted"},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorResponse"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v2/catalog/versions/{versionId}/servers":{"get":{"summary":"List Servers","description":"List all Servers items.\n\nServer is an URL endpoint template attached to a service, path, or operation, including variables when needed.","operationId":"list-servers","tags":["Servers"],"parameters":[{"$ref":"#/components/parameters/versionId"},{"schema":{"type":"string","description":"Cursor for pagination (item ID)"},"required":false,"description":"Cursor for pagination (item ID)","name":"after","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":1000,"default":50,"description":"Maximum number of items to return (default: 50, max: 1000)"},"required":false,"description":"Maximum number of items to return (default: 50, max: 1000)","name":"limit","in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Sort order. Use 'prop' for ascending, '-prop' for descending. Multiple params supported (e.g. sort=name&sort=-createdAt)"},"required":false,"description":"Sort order. Use 'prop' for ascending, '-prop' for descending. Multiple params supported (e.g. sort=name&sort=-createdAt)","name":"sort","in":"query"}],"responses":{"200":{"description":"List of Servers","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Server"},"examples":[[]]},"pagination":{"$ref":"#/components/schemas/PaginationMetadata"}},"required":["items","pagination"],"description":"Servers collection"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"post":{"summary":"Create Server","description":"Create a new Server item.\n\nServer is an URL endpoint template attached to a service, path, or operation, including variables when needed.","operationId":"create-server","tags":["Servers"],"parameters":[{"$ref":"#/components/parameters/versionId"}],"requestBody":{"description":"Payload to create a new Server item","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Server"}}}},"responses":{"201":{"description":"Server created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Server"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"409":{"$ref":"#/components/responses/ConflictError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v2/catalog/versions/{versionId}/servers/{id}":{"get":{"summary":"Get Server","description":"Get a Server item by its id.\n\nServer is an URL endpoint template attached to a service, path, or operation, including variables when needed.","operationId":"get-server-by-id","tags":["Servers"],"parameters":[{"$ref":"#/components/parameters/versionId"},{"schema":{"type":"string","minLength":30,"maxLength":30,"description":"Server identifier","examples":["srv_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Server identifier","name":"id","in":"path"}],"responses":{"200":{"description":"Server details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Server"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorServer"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"post":{"summary":"Replace Server","description":"Completely replaces a Server item by its id.\n\nServer is an URL endpoint template attached to a service, path, or operation, including variables when needed.","operationId":"replace-server-by-id","tags":["Servers"],"parameters":[{"$ref":"#/components/parameters/versionId"},{"schema":{"type":"string","minLength":30,"maxLength":30,"description":"Server identifier","examples":["srv_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Server identifier","name":"id","in":"path"}],"requestBody":{"description":"Payload to replace the Server item by its id","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Server"}}}},"responses":{"200":{"description":"Server replaced","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Server"}}}},"201":{"description":"Server created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Server"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorServer"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"patch":{"summary":"Update Server","description":"Partially updates a Server item by its id.\n\nServer is an URL endpoint template attached to a service, path, or operation, including variables when needed.","operationId":"update-server-by-id","tags":["Servers"],"parameters":[{"$ref":"#/components/parameters/versionId"},{"schema":{"type":"string","minLength":30,"maxLength":30,"description":"Server identifier","examples":["srv_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Server identifier","name":"id","in":"path"}],"requestBody":{"description":"Partial payload to update the Server item by its id","required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","minLength":30,"maxLength":30,"default":"srv_agpkdswa7f3xxebjts754bzd3a","description":"Object ID with prefix \"srv_\"","examples":["srv_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"serviceId":{"type":"string","minLength":30,"maxLength":30,"description":"Server scoped to a service; cannot be combined with pathId or operationId.","examples":["svc_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"pathId":{"type":"string","minLength":31,"maxLength":31,"description":"Server scoped to a specific path; cannot be combined with serviceId or operationId.","examples":["path_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"operationId":{"type":"string","minLength":29,"maxLength":29,"description":"Server scoped to a single operation; cannot be combined with serviceId or pathId.","examples":["op_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"url":{"type":"string","description":"Base URL template for calling the API (may include `{variable}` placeholders).","examples":["https://api.example.com/v1"]},"description":{"type":"string","description":"Markdown description of the server.","examples":["Production API server"]},"variables":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/ServerVariable"},"default":{},"description":"Map of variables that the server URL template expects.","examples":[{"environment":{"default":"production","enum":["production","staging"]}}]},"kvStorage":{"type":"object","additionalProperties":{},"default":{},"description":"Custom metadata preserved with the server definition.","examples":[{}]},"versionId":{"type":"string","minLength":30,"maxLength":30,"description":"Object ID with prefix \"ver_\"","examples":["ver_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"updatedAt":{"type":["string","null"],"format":"date-time","default":"2026-06-07T11:14:39.993Z","examples":["2024-01-15T10:30:00.000Z"]}}}}}},"responses":{"200":{"description":"Server updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Server"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorServer"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"delete":{"summary":"Delete Server","description":"Delete a Server item by its id.\n\nServer is an URL endpoint template attached to a service, path, or operation, including variables when needed.","operationId":"delete-server-by-id","tags":["Servers"],"parameters":[{"$ref":"#/components/parameters/versionId"},{"schema":{"type":"string","minLength":30,"maxLength":30,"description":"Server identifier","examples":["srv_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Server identifier","name":"id","in":"path"}],"responses":{"204":{"description":"Server deleted"},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorServer"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v2/catalog/projects/{projectRef}/{versionType}/{versionSlug}/servers":{"get":{"summary":"List Servers","description":"List all Servers items.\n\nServer is an URL endpoint template attached to a service, path, or operation, including variables when needed.","operationId":"list-servers1","tags":["Servers"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"},{"schema":{"type":"string","description":"Cursor for pagination (item ID)"},"required":false,"description":"Cursor for pagination (item ID)","name":"after","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":1000,"default":50,"description":"Maximum number of items to return (default: 50, max: 1000)"},"required":false,"description":"Maximum number of items to return (default: 50, max: 1000)","name":"limit","in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Sort order. Use 'prop' for ascending, '-prop' for descending. Multiple params supported (e.g. sort=name&sort=-createdAt)"},"required":false,"description":"Sort order. Use 'prop' for ascending, '-prop' for descending. Multiple params supported (e.g. sort=name&sort=-createdAt)","name":"sort","in":"query"}],"responses":{"200":{"description":"List of Servers","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Server"},"examples":[[]]},"pagination":{"$ref":"#/components/schemas/PaginationMetadata"}},"required":["items","pagination"],"description":"Servers collection"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"post":{"summary":"Create Server","description":"Create a new Server item.\n\nServer is an URL endpoint template attached to a service, path, or operation, including variables when needed.","operationId":"create-server1","tags":["Servers"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"}],"requestBody":{"description":"Payload to create a new Server item","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Server"}}}},"responses":{"201":{"description":"Server created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Server"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"409":{"$ref":"#/components/responses/ConflictError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v2/catalog/projects/{projectRef}/{versionType}/{versionSlug}/servers/{id}":{"get":{"summary":"Get Server","description":"Get a Server item by its id.\n\nServer is an URL endpoint template attached to a service, path, or operation, including variables when needed.","operationId":"get-server-by-id1","tags":["Servers"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"},{"schema":{"type":"string","minLength":30,"maxLength":30,"description":"Server identifier","examples":["srv_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Server identifier","name":"id","in":"path"}],"responses":{"200":{"description":"Server details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Server"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorServer"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"post":{"summary":"Replace Server","description":"Completely replaces a Server item by its id.\n\nServer is an URL endpoint template attached to a service, path, or operation, including variables when needed.","operationId":"replace-server-by-id1","tags":["Servers"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"},{"schema":{"type":"string","minLength":30,"maxLength":30,"description":"Server identifier","examples":["srv_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Server identifier","name":"id","in":"path"}],"requestBody":{"description":"Payload to replace the Server item by its id","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Server"}}}},"responses":{"200":{"description":"Server replaced","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Server"}}}},"201":{"description":"Server created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Server"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorServer"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"patch":{"summary":"Update Server","description":"Partially updates a Server item by its id.\n\nServer is an URL endpoint template attached to a service, path, or operation, including variables when needed.","operationId":"update-server-by-id1","tags":["Servers"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"},{"schema":{"type":"string","minLength":30,"maxLength":30,"description":"Server identifier","examples":["srv_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Server identifier","name":"id","in":"path"}],"requestBody":{"description":"Partial payload to update the Server item by its id","required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","minLength":30,"maxLength":30,"default":"srv_agpkdswa7f3xxebjusmewy6cvu","description":"Object ID with prefix \"srv_\"","examples":["srv_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"serviceId":{"type":"string","minLength":30,"maxLength":30,"description":"Server scoped to a service; cannot be combined with pathId or operationId.","examples":["svc_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"pathId":{"type":"string","minLength":31,"maxLength":31,"description":"Server scoped to a specific path; cannot be combined with serviceId or operationId.","examples":["path_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"operationId":{"type":"string","minLength":29,"maxLength":29,"description":"Server scoped to a single operation; cannot be combined with serviceId or pathId.","examples":["op_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"url":{"type":"string","description":"Base URL template for calling the API (may include `{variable}` placeholders).","examples":["https://api.example.com/v1"]},"description":{"type":"string","description":"Markdown description of the server.","examples":["Production API server"]},"variables":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/ServerVariable"},"default":{},"description":"Map of variables that the server URL template expects.","examples":[{"environment":{"default":"production","enum":["production","staging"]}}]},"kvStorage":{"type":"object","additionalProperties":{},"default":{},"description":"Custom metadata preserved with the server definition.","examples":[{}]},"versionId":{"type":"string","minLength":30,"maxLength":30,"description":"Object ID with prefix \"ver_\"","examples":["ver_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"updatedAt":{"type":["string","null"],"format":"date-time","default":"2026-06-07T11:14:39.993Z","examples":["2024-01-15T10:30:00.000Z"]}}}}}},"responses":{"200":{"description":"Server updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Server"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorServer"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"delete":{"summary":"Delete Server","description":"Delete a Server item by its id.\n\nServer is an URL endpoint template attached to a service, path, or operation, including variables when needed.","operationId":"delete-server-by-id1","tags":["Servers"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"},{"schema":{"type":"string","minLength":30,"maxLength":30,"description":"Server identifier","examples":["srv_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Server identifier","name":"id","in":"path"}],"responses":{"204":{"description":"Server deleted"},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorServer"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v2/catalog/versions/{versionId}/security-schemes":{"get":{"summary":"List Security Schemes","description":"List all Security Schemes items.\n\nSecurityScheme is an authentication scheme definition covering API keys, HTTP auth (including bearer), mutual TLS, OAuth 2.0, and OpenID Connect that callers must satisfy.","operationId":"list-security-schemes","tags":["Security Schemes"],"parameters":[{"$ref":"#/components/parameters/versionId"},{"schema":{"type":"string","description":"Cursor for pagination (item ID)"},"required":false,"description":"Cursor for pagination (item ID)","name":"after","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":1000,"default":50,"description":"Maximum number of items to return (default: 50, max: 1000)"},"required":false,"description":"Maximum number of items to return (default: 50, max: 1000)","name":"limit","in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Sort order. Use 'prop' for ascending, '-prop' for descending. Multiple params supported (e.g. sort=name&sort=-createdAt)"},"required":false,"description":"Sort order. Use 'prop' for ascending, '-prop' for descending. Multiple params supported (e.g. sort=name&sort=-createdAt)","name":"sort","in":"query"}],"responses":{"200":{"description":"List of Security Schemes","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/SecurityScheme"},"examples":[[]]},"pagination":{"$ref":"#/components/schemas/PaginationMetadata"}},"required":["items","pagination"],"description":"Security Schemes collection"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"post":{"summary":"Create Security Scheme","description":"Create a new Security Scheme item.\n\nSecurityScheme is an authentication scheme definition covering API keys, HTTP auth (including bearer), mutual TLS, OAuth 2.0, and OpenID Connect that callers must satisfy.","operationId":"create-security-scheme","tags":["Security Schemes"],"parameters":[{"$ref":"#/components/parameters/versionId"}],"requestBody":{"description":"Payload to create a new Security Scheme item","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecurityScheme"}}}},"responses":{"201":{"description":"Security Scheme created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecurityScheme"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"409":{"$ref":"#/components/responses/ConflictError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v2/catalog/versions/{versionId}/security-schemes/{id}":{"get":{"summary":"Get Security Scheme","description":"Get a Security Scheme item by its id.\n\nSecurityScheme is an authentication scheme definition covering API keys, HTTP auth (including bearer), mutual TLS, OAuth 2.0, and OpenID Connect that callers must satisfy.","operationId":"get-security-scheme-by-id","tags":["Security Schemes"],"parameters":[{"$ref":"#/components/parameters/versionId"},{"schema":{"type":"string","minLength":34,"maxLength":34,"description":"Security Scheme identifier","examples":["sec_sch_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Security Scheme identifier","name":"id","in":"path"}],"responses":{"200":{"description":"Security Scheme details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecurityScheme"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorSecurityScheme"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"post":{"summary":"Replace Security Scheme","description":"Completely replaces a Security Scheme item by its id.\n\nSecurityScheme is an authentication scheme definition covering API keys, HTTP auth (including bearer), mutual TLS, OAuth 2.0, and OpenID Connect that callers must satisfy.","operationId":"replace-security-scheme-by-id","tags":["Security Schemes"],"parameters":[{"$ref":"#/components/parameters/versionId"},{"schema":{"type":"string","minLength":34,"maxLength":34,"description":"Security Scheme identifier","examples":["sec_sch_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Security Scheme identifier","name":"id","in":"path"}],"requestBody":{"description":"Payload to replace the Security Scheme item by its id","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecurityScheme"}}}},"responses":{"200":{"description":"Security Scheme replaced","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecurityScheme"}}}},"201":{"description":"Security Scheme created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecurityScheme"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorSecurityScheme"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"patch":{"summary":"Update Security Scheme","description":"Partially updates a Security Scheme item by its id.\n\nSecurityScheme is an authentication scheme definition covering API keys, HTTP auth (including bearer), mutual TLS, OAuth 2.0, and OpenID Connect that callers must satisfy.","operationId":"update-security-scheme-by-id","tags":["Security Schemes"],"parameters":[{"$ref":"#/components/parameters/versionId"},{"schema":{"type":"string","minLength":34,"maxLength":34,"description":"Security Scheme identifier","examples":["sec_sch_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Security Scheme identifier","name":"id","in":"path"}],"requestBody":{"description":"Partial payload to update the Security Scheme item by its id","required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","minLength":34,"maxLength":34,"default":"sec_sch_agpkdswa7f3xxebjw2gwbsrotm","description":"Object ID with prefix \"sec_sch_\"","examples":["sec_sch_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"type":{"type":"string","enum":["apiKey","http","mutualTls","oauth2","openIdConnect"],"description":"Kind of authentication mechanism (API key, HTTP auth/bearer, mutual TLS, OAuth 2.0, or OpenID Connect).","examples":["http"]},"in":{"type":["string","null"],"enum":["query","header","cookie",null],"description":"Location of the API key for apiKey schemes (query, header, or cookie).","examples":["header"]},"name":{"type":"string","description":"Identifier for the security scheme; matches the name used when publishing or importing API definitions.","examples":["ApiKeyAuth"]},"description":{"type":"string","description":"Security scheme description in markdown.","examples":["Bearer token authentication using JWT."]},"descriptionBlocks":{"anyOf":[{"$ref":"#/components/schemas/ProseMirrorContentSchema"},{"type":"array","items":{"$ref":"#/components/schemas/ProseMirrorContentSchema"}}],"description":"Security scheme description in ProseMirror JSON blocks.","examples":[{"type":"paragraph","content":[{"type":"text","text":"Security scheme description in rich text format."}]}]},"scheme":{"type":"string","description":"HTTP auth scheme label (for example: basic, bearer, digest).","examples":["bearer"]},"bearerFormat":{"type":"string","description":"Optional hint about the bearer token format (for example: JWT).","examples":["JWT"]},"flows":{"description":"OAuth 2.0 flow configuration (e.g., auth code, client credentials) detailing token and authorization URLs.","examples":[{"clientCredentials":{"tokenUrl":"https://example.com/oauth/token","scopes":{}}}]},"openIdConnectUrl":{"type":"string","description":"OpenID Connect discovery endpoint when type is openIdConnect.","examples":["https://example.com/.well-known/openid-configuration"]},"versionId":{"type":"string","minLength":30,"maxLength":30,"description":"Object ID with prefix \"ver_\"","examples":["ver_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"updatedAt":{"type":["string","null"],"format":"date-time","default":"2026-06-07T11:14:39.993Z","examples":["2024-01-15T10:30:00.000Z"]}}}}}},"responses":{"200":{"description":"Security Scheme updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecurityScheme"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorSecurityScheme"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"delete":{"summary":"Delete Security Scheme","description":"Delete a Security Scheme item by its id.\n\nSecurityScheme is an authentication scheme definition covering API keys, HTTP auth (including bearer), mutual TLS, OAuth 2.0, and OpenID Connect that callers must satisfy.","operationId":"delete-security-scheme-by-id","tags":["Security Schemes"],"parameters":[{"$ref":"#/components/parameters/versionId"},{"schema":{"type":"string","minLength":34,"maxLength":34,"description":"Security Scheme identifier","examples":["sec_sch_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Security Scheme identifier","name":"id","in":"path"}],"responses":{"204":{"description":"Security Scheme deleted"},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorSecurityScheme"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v2/catalog/projects/{projectRef}/{versionType}/{versionSlug}/security-schemes":{"get":{"summary":"List Security Schemes","description":"List all Security Schemes items.\n\nSecurityScheme is an authentication scheme definition covering API keys, HTTP auth (including bearer), mutual TLS, OAuth 2.0, and OpenID Connect that callers must satisfy.","operationId":"list-security-schemes1","tags":["Security Schemes"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"},{"schema":{"type":"string","description":"Cursor for pagination (item ID)"},"required":false,"description":"Cursor for pagination (item ID)","name":"after","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":1000,"default":50,"description":"Maximum number of items to return (default: 50, max: 1000)"},"required":false,"description":"Maximum number of items to return (default: 50, max: 1000)","name":"limit","in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Sort order. Use 'prop' for ascending, '-prop' for descending. Multiple params supported (e.g. sort=name&sort=-createdAt)"},"required":false,"description":"Sort order. Use 'prop' for ascending, '-prop' for descending. Multiple params supported (e.g. sort=name&sort=-createdAt)","name":"sort","in":"query"}],"responses":{"200":{"description":"List of Security Schemes","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/SecurityScheme"},"examples":[[]]},"pagination":{"$ref":"#/components/schemas/PaginationMetadata"}},"required":["items","pagination"],"description":"Security Schemes collection"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"post":{"summary":"Create Security Scheme","description":"Create a new Security Scheme item.\n\nSecurityScheme is an authentication scheme definition covering API keys, HTTP auth (including bearer), mutual TLS, OAuth 2.0, and OpenID Connect that callers must satisfy.","operationId":"create-security-scheme1","tags":["Security Schemes"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"}],"requestBody":{"description":"Payload to create a new Security Scheme item","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecurityScheme"}}}},"responses":{"201":{"description":"Security Scheme created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecurityScheme"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"409":{"$ref":"#/components/responses/ConflictError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v2/catalog/projects/{projectRef}/{versionType}/{versionSlug}/security-schemes/{id}":{"get":{"summary":"Get Security Scheme","description":"Get a Security Scheme item by its id.\n\nSecurityScheme is an authentication scheme definition covering API keys, HTTP auth (including bearer), mutual TLS, OAuth 2.0, and OpenID Connect that callers must satisfy.","operationId":"get-security-scheme-by-id1","tags":["Security Schemes"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"},{"schema":{"type":"string","minLength":34,"maxLength":34,"description":"Security Scheme identifier","examples":["sec_sch_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Security Scheme identifier","name":"id","in":"path"}],"responses":{"200":{"description":"Security Scheme details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecurityScheme"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorSecurityScheme"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"post":{"summary":"Replace Security Scheme","description":"Completely replaces a Security Scheme item by its id.\n\nSecurityScheme is an authentication scheme definition covering API keys, HTTP auth (including bearer), mutual TLS, OAuth 2.0, and OpenID Connect that callers must satisfy.","operationId":"replace-security-scheme-by-id1","tags":["Security Schemes"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"},{"schema":{"type":"string","minLength":34,"maxLength":34,"description":"Security Scheme identifier","examples":["sec_sch_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Security Scheme identifier","name":"id","in":"path"}],"requestBody":{"description":"Payload to replace the Security Scheme item by its id","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecurityScheme"}}}},"responses":{"200":{"description":"Security Scheme replaced","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecurityScheme"}}}},"201":{"description":"Security Scheme created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecurityScheme"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorSecurityScheme"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"patch":{"summary":"Update Security Scheme","description":"Partially updates a Security Scheme item by its id.\n\nSecurityScheme is an authentication scheme definition covering API keys, HTTP auth (including bearer), mutual TLS, OAuth 2.0, and OpenID Connect that callers must satisfy.","operationId":"update-security-scheme-by-id1","tags":["Security Schemes"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"},{"schema":{"type":"string","minLength":34,"maxLength":34,"description":"Security Scheme identifier","examples":["sec_sch_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Security Scheme identifier","name":"id","in":"path"}],"requestBody":{"description":"Partial payload to update the Security Scheme item by its id","required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","minLength":34,"maxLength":34,"default":"sec_sch_agpkdswa7f3xxebjx3gy37of2u","description":"Object ID with prefix \"sec_sch_\"","examples":["sec_sch_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"type":{"type":"string","enum":["apiKey","http","mutualTls","oauth2","openIdConnect"],"description":"Kind of authentication mechanism (API key, HTTP auth/bearer, mutual TLS, OAuth 2.0, or OpenID Connect).","examples":["http"]},"in":{"type":["string","null"],"enum":["query","header","cookie",null],"description":"Location of the API key for apiKey schemes (query, header, or cookie).","examples":["header"]},"name":{"type":"string","description":"Identifier for the security scheme; matches the name used when publishing or importing API definitions.","examples":["ApiKeyAuth"]},"description":{"type":"string","description":"Security scheme description in markdown.","examples":["Bearer token authentication using JWT."]},"descriptionBlocks":{"anyOf":[{"$ref":"#/components/schemas/ProseMirrorContentSchema"},{"type":"array","items":{"$ref":"#/components/schemas/ProseMirrorContentSchema"}}],"description":"Security scheme description in ProseMirror JSON blocks.","examples":[{"type":"paragraph","content":[{"type":"text","text":"Security scheme description in rich text format."}]}]},"scheme":{"type":"string","description":"HTTP auth scheme label (for example: basic, bearer, digest).","examples":["bearer"]},"bearerFormat":{"type":"string","description":"Optional hint about the bearer token format (for example: JWT).","examples":["JWT"]},"flows":{"description":"OAuth 2.0 flow configuration (e.g., auth code, client credentials) detailing token and authorization URLs.","examples":[{"clientCredentials":{"tokenUrl":"https://example.com/oauth/token","scopes":{}}}]},"openIdConnectUrl":{"type":"string","description":"OpenID Connect discovery endpoint when type is openIdConnect.","examples":["https://example.com/.well-known/openid-configuration"]},"versionId":{"type":"string","minLength":30,"maxLength":30,"description":"Object ID with prefix \"ver_\"","examples":["ver_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"updatedAt":{"type":["string","null"],"format":"date-time","default":"2026-06-07T11:14:39.993Z","examples":["2024-01-15T10:30:00.000Z"]}}}}}},"responses":{"200":{"description":"Security Scheme updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecurityScheme"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorSecurityScheme"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"delete":{"summary":"Delete Security Scheme","description":"Delete a Security Scheme item by its id.\n\nSecurityScheme is an authentication scheme definition covering API keys, HTTP auth (including bearer), mutual TLS, OAuth 2.0, and OpenID Connect that callers must satisfy.","operationId":"delete-security-scheme-by-id1","tags":["Security Schemes"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"},{"schema":{"type":"string","minLength":34,"maxLength":34,"description":"Security Scheme identifier","examples":["sec_sch_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Security Scheme identifier","name":"id","in":"path"}],"responses":{"204":{"description":"Security Scheme deleted"},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorSecurityScheme"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v2/catalog/versions/{versionId}/headers":{"get":{"summary":"List Headers","description":"List all Headers items.\n\nHeader is a reusable HTTP header definition with schema, examples, and optional structured content.","operationId":"list-headers","tags":["Headers"],"parameters":[{"$ref":"#/components/parameters/versionId"},{"schema":{"type":"string","description":"Cursor for pagination (item ID)"},"required":false,"description":"Cursor for pagination (item ID)","name":"after","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":1000,"default":50,"description":"Maximum number of items to return (default: 50, max: 1000)"},"required":false,"description":"Maximum number of items to return (default: 50, max: 1000)","name":"limit","in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Sort order. Use 'prop' for ascending, '-prop' for descending. Multiple params supported (e.g. sort=name&sort=-createdAt)"},"required":false,"description":"Sort order. Use 'prop' for ascending, '-prop' for descending. Multiple params supported (e.g. sort=name&sort=-createdAt)","name":"sort","in":"query"}],"responses":{"200":{"description":"List of Headers","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Header"},"examples":[[]]},"pagination":{"$ref":"#/components/schemas/PaginationMetadata"}},"required":["items","pagination"],"description":"Headers collection"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"post":{"summary":"Create Header","description":"Create a new Header item.\n\nHeader is a reusable HTTP header definition with schema, examples, and optional structured content.","operationId":"create-header","tags":["Headers"],"parameters":[{"$ref":"#/components/parameters/versionId"}],"requestBody":{"description":"Payload to create a new Header item","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Header"}}}},"responses":{"201":{"description":"Header created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Header"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"409":{"$ref":"#/components/responses/ConflictError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v2/catalog/versions/{versionId}/headers/{id}":{"get":{"summary":"Get Header","description":"Get a Header item by its id.\n\nHeader is a reusable HTTP header definition with schema, examples, and optional structured content.","operationId":"get-header-by-id","tags":["Headers"],"parameters":[{"$ref":"#/components/parameters/versionId"},{"schema":{"type":"string","minLength":31,"maxLength":31,"description":"Header identifier","examples":["head_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Header identifier","name":"id","in":"path"}],"responses":{"200":{"description":"Header details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Header"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorHeader"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"post":{"summary":"Replace Header","description":"Completely replaces a Header item by its id.\n\nHeader is a reusable HTTP header definition with schema, examples, and optional structured content.","operationId":"replace-header-by-id","tags":["Headers"],"parameters":[{"$ref":"#/components/parameters/versionId"},{"schema":{"type":"string","minLength":31,"maxLength":31,"description":"Header identifier","examples":["head_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Header identifier","name":"id","in":"path"}],"requestBody":{"description":"Payload to replace the Header item by its id","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Header"}}}},"responses":{"200":{"description":"Header replaced","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Header"}}}},"201":{"description":"Header created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Header"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorHeader"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"patch":{"summary":"Update Header","description":"Partially updates a Header item by its id.\n\nHeader is a reusable HTTP header definition with schema, examples, and optional structured content.","operationId":"update-header-by-id","tags":["Headers"],"parameters":[{"$ref":"#/components/parameters/versionId"},{"schema":{"type":"string","minLength":31,"maxLength":31,"description":"Header identifier","examples":["head_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Header identifier","name":"id","in":"path"}],"requestBody":{"description":"Partial payload to update the Header item by its id","required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","minLength":31,"maxLength":31,"default":"head_agpkdswa7f3xxebjztx7wmdwne","description":"Object ID with prefix \"head_\"","examples":["head_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"name":{"type":"string","description":"Header name; case-insensitive when serialized in HTTP.","examples":["Authorization"]},"versionId":{"type":"string","minLength":30,"maxLength":30,"description":"Object ID with prefix \"ver_\"","examples":["ver_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"updatedAt":{"type":["string","null"],"format":"date-time","default":"2026-06-07T11:14:39.993Z","examples":["2024-01-15T10:30:00.000Z"]},"description":{"type":"string","description":"Plain description of what the header conveys.","examples":["Bearer token for authentication."]},"required":{"type":"boolean","description":"Marks the header as required for the request or response.","examples":[false]},"deprecated":{"type":"boolean","examples":[false]},"style":{"type":"string","enum":["simple"],"description":"Serialization style for the header (simple = comma-separated).","examples":["simple"]},"explode":{"type":"boolean","description":"Controls whether arrays/objects are split into separate values instead of a single combined string.","examples":[false]},"schema":{"$ref":"#/components/schemas/AnyJsonSchema","description":"JSON Schema describing the header value.","examples":[{"type":"string"}]},"examples":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#/components/schemas/ExternalExample"},{"$ref":"#/components/schemas/EmbeddedExample"}]},"default":{},"description":"Examples for the header value keyed by name or content type.","examples":[{}]},"kvStorage":{"type":"object","additionalProperties":{},"default":{},"description":"Custom metadata preserved with the header definition.","examples":[{}]},"content":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/HeaderContent"},"description":"Map of content types to header definitions when the header carries structured content.","examples":[{}]}}}}}},"responses":{"200":{"description":"Header updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Header"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorHeader"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"delete":{"summary":"Delete Header","description":"Delete a Header item by its id.\n\nHeader is a reusable HTTP header definition with schema, examples, and optional structured content.","operationId":"delete-header-by-id","tags":["Headers"],"parameters":[{"$ref":"#/components/parameters/versionId"},{"schema":{"type":"string","minLength":31,"maxLength":31,"description":"Header identifier","examples":["head_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Header identifier","name":"id","in":"path"}],"responses":{"204":{"description":"Header deleted"},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorHeader"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v2/catalog/projects/{projectRef}/{versionType}/{versionSlug}/headers":{"get":{"summary":"List Headers","description":"List all Headers items.\n\nHeader is a reusable HTTP header definition with schema, examples, and optional structured content.","operationId":"list-headers1","tags":["Headers"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"},{"schema":{"type":"string","description":"Cursor for pagination (item ID)"},"required":false,"description":"Cursor for pagination (item ID)","name":"after","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":1000,"default":50,"description":"Maximum number of items to return (default: 50, max: 1000)"},"required":false,"description":"Maximum number of items to return (default: 50, max: 1000)","name":"limit","in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Sort order. Use 'prop' for ascending, '-prop' for descending. Multiple params supported (e.g. sort=name&sort=-createdAt)"},"required":false,"description":"Sort order. Use 'prop' for ascending, '-prop' for descending. Multiple params supported (e.g. sort=name&sort=-createdAt)","name":"sort","in":"query"}],"responses":{"200":{"description":"List of Headers","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Header"},"examples":[[]]},"pagination":{"$ref":"#/components/schemas/PaginationMetadata"}},"required":["items","pagination"],"description":"Headers collection"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"post":{"summary":"Create Header","description":"Create a new Header item.\n\nHeader is a reusable HTTP header definition with schema, examples, and optional structured content.","operationId":"create-header1","tags":["Headers"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"}],"requestBody":{"description":"Payload to create a new Header item","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Header"}}}},"responses":{"201":{"description":"Header created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Header"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"409":{"$ref":"#/components/responses/ConflictError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v2/catalog/projects/{projectRef}/{versionType}/{versionSlug}/headers/{id}":{"get":{"summary":"Get Header","description":"Get a Header item by its id.\n\nHeader is a reusable HTTP header definition with schema, examples, and optional structured content.","operationId":"get-header-by-id1","tags":["Headers"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"},{"schema":{"type":"string","minLength":31,"maxLength":31,"description":"Header identifier","examples":["head_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Header identifier","name":"id","in":"path"}],"responses":{"200":{"description":"Header details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Header"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorHeader"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"post":{"summary":"Replace Header","description":"Completely replaces a Header item by its id.\n\nHeader is a reusable HTTP header definition with schema, examples, and optional structured content.","operationId":"replace-header-by-id1","tags":["Headers"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"},{"schema":{"type":"string","minLength":31,"maxLength":31,"description":"Header identifier","examples":["head_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Header identifier","name":"id","in":"path"}],"requestBody":{"description":"Payload to replace the Header item by its id","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Header"}}}},"responses":{"200":{"description":"Header replaced","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Header"}}}},"201":{"description":"Header created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Header"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorHeader"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"patch":{"summary":"Update Header","description":"Partially updates a Header item by its id.\n\nHeader is a reusable HTTP header definition with schema, examples, and optional structured content.","operationId":"update-header-by-id1","tags":["Headers"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"},{"schema":{"type":"string","minLength":31,"maxLength":31,"description":"Header identifier","examples":["head_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Header identifier","name":"id","in":"path"}],"requestBody":{"description":"Partial payload to update the Header item by its id","required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","minLength":31,"maxLength":31,"default":"head_agpkdswa7f3xxebj2s7ayvesbe","description":"Object ID with prefix \"head_\"","examples":["head_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"name":{"type":"string","description":"Header name; case-insensitive when serialized in HTTP.","examples":["Authorization"]},"versionId":{"type":"string","minLength":30,"maxLength":30,"description":"Object ID with prefix \"ver_\"","examples":["ver_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"updatedAt":{"type":["string","null"],"format":"date-time","default":"2026-06-07T11:14:39.993Z","examples":["2024-01-15T10:30:00.000Z"]},"description":{"type":"string","description":"Plain description of what the header conveys.","examples":["Bearer token for authentication."]},"required":{"type":"boolean","description":"Marks the header as required for the request or response.","examples":[false]},"deprecated":{"type":"boolean","examples":[false]},"style":{"type":"string","enum":["simple"],"description":"Serialization style for the header (simple = comma-separated).","examples":["simple"]},"explode":{"type":"boolean","description":"Controls whether arrays/objects are split into separate values instead of a single combined string.","examples":[false]},"schema":{"$ref":"#/components/schemas/AnyJsonSchema","description":"JSON Schema describing the header value.","examples":[{"type":"string"}]},"examples":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#/components/schemas/ExternalExample"},{"$ref":"#/components/schemas/EmbeddedExample"}]},"default":{},"description":"Examples for the header value keyed by name or content type.","examples":[{}]},"kvStorage":{"type":"object","additionalProperties":{},"default":{},"description":"Custom metadata preserved with the header definition.","examples":[{}]},"content":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/HeaderContent"},"description":"Map of content types to header definitions when the header carries structured content.","examples":[{}]}}}}}},"responses":{"200":{"description":"Header updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Header"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorHeader"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"delete":{"summary":"Delete Header","description":"Delete a Header item by its id.\n\nHeader is a reusable HTTP header definition with schema, examples, and optional structured content.","operationId":"delete-header-by-id1","tags":["Headers"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"},{"schema":{"type":"string","minLength":31,"maxLength":31,"description":"Header identifier","examples":["head_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Header identifier","name":"id","in":"path"}],"responses":{"204":{"description":"Header deleted"},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorHeader"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v2/catalog/versions/{versionId}/examples":{"get":{"summary":"List Examples","description":"List all Examples items.\n\nExample is a reusable example that holds either an inline payload or an external reference for request or response bodies.","operationId":"list-examples","tags":["Examples"],"parameters":[{"$ref":"#/components/parameters/versionId"},{"schema":{"type":"string","description":"Cursor for pagination (item ID)"},"required":false,"description":"Cursor for pagination (item ID)","name":"after","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":1000,"default":50,"description":"Maximum number of items to return (default: 50, max: 1000)"},"required":false,"description":"Maximum number of items to return (default: 50, max: 1000)","name":"limit","in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Sort order. Use 'prop' for ascending, '-prop' for descending. Multiple params supported (e.g. sort=name&sort=-createdAt)"},"required":false,"description":"Sort order. Use 'prop' for ascending, '-prop' for descending. Multiple params supported (e.g. sort=name&sort=-createdAt)","name":"sort","in":"query"}],"responses":{"200":{"description":"List of Examples","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Example"},"examples":[[]]},"pagination":{"$ref":"#/components/schemas/PaginationMetadata"}},"required":["items","pagination"],"description":"Examples collection"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"post":{"summary":"Create Example","description":"Create a new Example item.\n\nExample is a reusable example that holds either an inline payload or an external reference for request or response bodies.","operationId":"create-example","tags":["Examples"],"parameters":[{"$ref":"#/components/parameters/versionId"}],"requestBody":{"description":"Payload to create a new Example item","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Example"}}}},"responses":{"201":{"description":"Example created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Example"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"409":{"$ref":"#/components/responses/ConflictError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v2/catalog/versions/{versionId}/examples/{id}":{"get":{"summary":"Get Example","description":"Get a Example item by its id.\n\nExample is a reusable example that holds either an inline payload or an external reference for request or response bodies.","operationId":"get-example-by-id","tags":["Examples"],"parameters":[{"$ref":"#/components/parameters/versionId"},{"schema":{"type":"string","minLength":31,"maxLength":31,"description":"Example identifier","examples":["expl_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Example identifier","name":"id","in":"path"}],"responses":{"200":{"description":"Example details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Example"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorExample"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"post":{"summary":"Replace Example","description":"Completely replaces a Example item by its id.\n\nExample is a reusable example that holds either an inline payload or an external reference for request or response bodies.","operationId":"replace-example-by-id","tags":["Examples"],"parameters":[{"$ref":"#/components/parameters/versionId"},{"schema":{"type":"string","minLength":31,"maxLength":31,"description":"Example identifier","examples":["expl_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Example identifier","name":"id","in":"path"}],"requestBody":{"description":"Payload to replace the Example item by its id","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Example"}}}},"responses":{"200":{"description":"Example replaced","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Example"}}}},"201":{"description":"Example created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Example"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorExample"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"patch":{"summary":"Update Example","description":"Partially updates a Example item by its id.\n\nExample is a reusable example that holds either an inline payload or an external reference for request or response bodies.","operationId":"update-example-by-id","tags":["Examples"],"parameters":[{"$ref":"#/components/parameters/versionId"},{"schema":{"type":"string","minLength":31,"maxLength":31,"description":"Example identifier","examples":["expl_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Example identifier","name":"id","in":"path"}],"requestBody":{"description":"Partial payload to update the Example item by its id","required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","minLength":31,"maxLength":31,"default":"expl_agpkdswa7f3xxebj424odthavy","description":"Object ID with prefix \"expl_\"","examples":["expl_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"name":{"type":"string","description":"Non-unique name of a reusable example; matches how it is referenced in API definitions.","examples":["default"]},"value":{"description":"Inline example payload for the referenced content type.","examples":[{"id":"123","name":"Example"}]},"externalValue":{"type":"string","description":"URL pointing to an external example payload.","examples":["https://example.com/sample.json"]},"summary":{"type":"string","examples":["Example user object"]},"description":{"type":"string","description":"Example description in markdown.","examples":["A sample user object demonstrating the expected structure."]},"descriptionBlocks":{"anyOf":[{"$ref":"#/components/schemas/ProseMirrorContentSchema"},{"type":"array","items":{"$ref":"#/components/schemas/ProseMirrorContentSchema"}}],"description":"Example description in ProseMirror JSON blocks.","examples":[{"type":"paragraph","content":[{"type":"text","text":"Example description in rich text format."}]}]},"kvStorage":{"type":"object","additionalProperties":{},"default":{},"description":"Custom metadata carried with the example (e.g., vendor-specific extensions).","examples":[{}]},"versionId":{"type":"string","minLength":30,"maxLength":30,"description":"Object ID with prefix \"ver_\"","examples":["ver_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"updatedAt":{"type":["string","null"],"format":"date-time","default":"2026-06-07T11:14:39.993Z","examples":["2024-01-15T10:30:00.000Z"]}}}}}},"responses":{"200":{"description":"Example updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Example"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorExample"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"delete":{"summary":"Delete Example","description":"Delete a Example item by its id.\n\nExample is a reusable example that holds either an inline payload or an external reference for request or response bodies.","operationId":"delete-example-by-id","tags":["Examples"],"parameters":[{"$ref":"#/components/parameters/versionId"},{"schema":{"type":"string","minLength":31,"maxLength":31,"description":"Example identifier","examples":["expl_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Example identifier","name":"id","in":"path"}],"responses":{"204":{"description":"Example deleted"},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorExample"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v2/catalog/projects/{projectRef}/{versionType}/{versionSlug}/examples":{"get":{"summary":"List Examples","description":"List all Examples items.\n\nExample is a reusable example that holds either an inline payload or an external reference for request or response bodies.","operationId":"list-examples1","tags":["Examples"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"},{"schema":{"type":"string","description":"Cursor for pagination (item ID)"},"required":false,"description":"Cursor for pagination (item ID)","name":"after","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":1000,"default":50,"description":"Maximum number of items to return (default: 50, max: 1000)"},"required":false,"description":"Maximum number of items to return (default: 50, max: 1000)","name":"limit","in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Sort order. Use 'prop' for ascending, '-prop' for descending. Multiple params supported (e.g. sort=name&sort=-createdAt)"},"required":false,"description":"Sort order. Use 'prop' for ascending, '-prop' for descending. Multiple params supported (e.g. sort=name&sort=-createdAt)","name":"sort","in":"query"}],"responses":{"200":{"description":"List of Examples","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Example"},"examples":[[]]},"pagination":{"$ref":"#/components/schemas/PaginationMetadata"}},"required":["items","pagination"],"description":"Examples collection"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"post":{"summary":"Create Example","description":"Create a new Example item.\n\nExample is a reusable example that holds either an inline payload or an external reference for request or response bodies.","operationId":"create-example1","tags":["Examples"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"}],"requestBody":{"description":"Payload to create a new Example item","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Example"}}}},"responses":{"201":{"description":"Example created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Example"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"409":{"$ref":"#/components/responses/ConflictError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v2/catalog/projects/{projectRef}/{versionType}/{versionSlug}/examples/{id}":{"get":{"summary":"Get Example","description":"Get a Example item by its id.\n\nExample is a reusable example that holds either an inline payload or an external reference for request or response bodies.","operationId":"get-example-by-id1","tags":["Examples"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"},{"schema":{"type":"string","minLength":31,"maxLength":31,"description":"Example identifier","examples":["expl_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Example identifier","name":"id","in":"path"}],"responses":{"200":{"description":"Example details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Example"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorExample"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"post":{"summary":"Replace Example","description":"Completely replaces a Example item by its id.\n\nExample is a reusable example that holds either an inline payload or an external reference for request or response bodies.","operationId":"replace-example-by-id1","tags":["Examples"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"},{"schema":{"type":"string","minLength":31,"maxLength":31,"description":"Example identifier","examples":["expl_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Example identifier","name":"id","in":"path"}],"requestBody":{"description":"Payload to replace the Example item by its id","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Example"}}}},"responses":{"200":{"description":"Example replaced","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Example"}}}},"201":{"description":"Example created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Example"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorExample"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"patch":{"summary":"Update Example","description":"Partially updates a Example item by its id.\n\nExample is a reusable example that holds either an inline payload or an external reference for request or response bodies.","operationId":"update-example-by-id1","tags":["Examples"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"},{"schema":{"type":"string","minLength":31,"maxLength":31,"description":"Example identifier","examples":["expl_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Example identifier","name":"id","in":"path"}],"requestBody":{"description":"Partial payload to update the Example item by its id","required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","minLength":31,"maxLength":31,"default":"expl_agpkdswa7f3xxebj5xucwi7nty","description":"Object ID with prefix \"expl_\"","examples":["expl_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"name":{"type":"string","description":"Non-unique name of a reusable example; matches how it is referenced in API definitions.","examples":["default"]},"value":{"description":"Inline example payload for the referenced content type.","examples":[{"id":"123","name":"Example"}]},"externalValue":{"type":"string","description":"URL pointing to an external example payload.","examples":["https://example.com/sample.json"]},"summary":{"type":"string","examples":["Example user object"]},"description":{"type":"string","description":"Example description in markdown.","examples":["A sample user object demonstrating the expected structure."]},"descriptionBlocks":{"anyOf":[{"$ref":"#/components/schemas/ProseMirrorContentSchema"},{"type":"array","items":{"$ref":"#/components/schemas/ProseMirrorContentSchema"}}],"description":"Example description in ProseMirror JSON blocks.","examples":[{"type":"paragraph","content":[{"type":"text","text":"Example description in rich text format."}]}]},"kvStorage":{"type":"object","additionalProperties":{},"default":{},"description":"Custom metadata carried with the example (e.g., vendor-specific extensions).","examples":[{}]},"versionId":{"type":"string","minLength":30,"maxLength":30,"description":"Object ID with prefix \"ver_\"","examples":["ver_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"updatedAt":{"type":["string","null"],"format":"date-time","default":"2026-06-07T11:14:39.993Z","examples":["2024-01-15T10:30:00.000Z"]}}}}}},"responses":{"200":{"description":"Example updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Example"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorExample"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"delete":{"summary":"Delete Example","description":"Delete a Example item by its id.\n\nExample is a reusable example that holds either an inline payload or an external reference for request or response bodies.","operationId":"delete-example-by-id1","tags":["Examples"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"},{"schema":{"type":"string","minLength":31,"maxLength":31,"description":"Example identifier","examples":["expl_c4x6k3w8j7n9b1z5s2t4m8q0ve"]},"required":true,"description":"Example identifier","name":"id","in":"path"}],"responses":{"204":{"description":"Example deleted"},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"404":{"$ref":"#/components/responses/NotFoundErrorExample"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v2/catalog/versions/{versionId}/services/{idOrSlug}/openapi/{filename}":{"get":{"summary":"Get service OpenAPI spec","description":"Returns the machine-readable OpenAPI specification for a service. Supported versions: v3_1 (JSON only).","operationId":"get-service-openapi","tags":["Services"],"parameters":[{"$ref":"#/components/parameters/versionId"},{"schema":{"type":"string","minLength":1,"description":"Service ID or slug"},"required":true,"description":"Service ID or slug","in":"path","name":"idOrSlug"},{"schema":{"type":"string","enum":["v3_1.json"],"description":"OpenAPI spec filename (e.g. v3_1.json)","example":"v3_1.json"},"required":true,"description":"OpenAPI spec filename (e.g. v3_1.json)","in":"path","name":"filename"}],"responses":{"200":{"description":"OpenAPI specification (JSON)","content":{"application/json":{"schema":{"type":"object","additionalProperties":{}}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"404":{"$ref":"#/components/responses/NotFoundErrorService"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v2/catalog/versions/{versionId}/services/{idOrSlug}/openapi":{"post":{"summary":"Replace or create service from OpenAPI spec","description":"Accepts an OpenAPI specification in the request body. If the service exists (by id or slug), replaces its definition (paths, operations, servers, etc.) with the spec. If not found, creates a new service using idOrSlug as the slug.","operationId":"post-service-openapi","tags":["Services"],"parameters":[{"$ref":"#/components/parameters/versionId"},{"schema":{"type":"string","minLength":1,"description":"Service ID or slug"},"required":true,"description":"Service ID or slug","in":"path","name":"idOrSlug"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"openapi":{"type":"string"},"info":{"type":"object","additionalProperties":{}}},"required":["openapi","info"],"additionalProperties":{}}}}},"responses":{"200":{"description":"Service updated from OpenAPI spec","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]}},"required":["ok"]}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"404":{"$ref":"#/components/responses/NotFoundErrorService"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v2/catalog/versions/{versionId}/assistant":{"post":{"summary":"Chat with catalog assistant","description":"Streaming AI assistant that answers questions about the API catalog using tools to query services and their details.","operationId":"post-assistant","tags":["Assistant"],"parameters":[{"$ref":"#/components/parameters/versionId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssistantMessagesSchema"}}}},"responses":{"200":{"description":"Server-sent events stream of AI assistant response","content":{"text/event-stream":{"schema":{"description":"AI-sdk protocol streaming response"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v2/catalog/projects/{projectRef}/{versionType}/{versionSlug}/services/{idOrSlug}/openapi/{filename}":{"get":{"summary":"Get service OpenAPI spec","description":"Returns the machine-readable OpenAPI specification for a service. Supported versions: v3_1 (JSON only).","operationId":"get-service-openapi","tags":["Services"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"},{"schema":{"type":"string","minLength":1,"description":"Service ID or slug"},"required":true,"description":"Service ID or slug","in":"path","name":"idOrSlug"},{"schema":{"type":"string","enum":["v3_1.json"],"description":"OpenAPI spec filename (e.g. v3_1.json)","example":"v3_1.json"},"required":true,"description":"OpenAPI spec filename (e.g. v3_1.json)","in":"path","name":"filename"}],"responses":{"200":{"description":"OpenAPI specification (JSON)","content":{"application/json":{"schema":{"type":"object","additionalProperties":{}}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"404":{"$ref":"#/components/responses/NotFoundErrorService"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v2/catalog/projects/{projectRef}/{versionType}/{versionSlug}/services/{idOrSlug}/openapi":{"post":{"summary":"Replace or create service from OpenAPI spec","description":"Accepts an OpenAPI specification in the request body. If the service exists (by id or slug), replaces its definition (paths, operations, servers, etc.) with the spec. If not found, creates a new service using idOrSlug as the slug.","operationId":"post-service-openapi","tags":["Services"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"},{"schema":{"type":"string","minLength":1,"description":"Service ID or slug"},"required":true,"description":"Service ID or slug","in":"path","name":"idOrSlug"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"openapi":{"type":"string"},"info":{"type":"object","additionalProperties":{}}},"required":["openapi","info"],"additionalProperties":{}}}}},"responses":{"200":{"description":"Service updated from OpenAPI spec","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]}},"required":["ok"]}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"404":{"$ref":"#/components/responses/NotFoundErrorService"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v2/catalog/projects/{projectRef}/{versionType}/{versionSlug}/assistant":{"post":{"summary":"Chat with catalog assistant","description":"Streaming AI assistant that answers questions about the API catalog using tools to query services and their details.","operationId":"post-assistant","tags":["Assistant"],"parameters":[{"$ref":"#/components/parameters/projectRef"},{"$ref":"#/components/parameters/versionType"},{"$ref":"#/components/parameters/versionSlug"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssistantMessagesSchema"}}}},"responses":{"200":{"description":"Server-sent events stream of AI assistant response","content":{"text/event-stream":{"schema":{"description":"AI-sdk protocol streaming response"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}},"webhooks":{},"tags":[{"name":"Services"},{"name":"Resources"},{"name":"Paths"},{"name":"Operations"},{"name":"Parameters"},{"name":"Requests"},{"name":"Responses"},{"name":"Servers"},{"name":"Security Schemes"},{"name":"Headers"},{"name":"Examples"},{"name":"Assistant"}]}