APIs.io Engineering Platform Schema API

The **Schema** endpoints enable you to manage your API definitions. These endpoints also support multi-file schema.

Operations 6

POST /apis/{apiId}/schemas APIs.io Engineering Platform Create a schema #
GET /apis/{apiId}/schemas/{schemaId} APIs.io Engineering Platform Get a schema #
GET /apis/{apiId}/schemas/{schemaId}/files APIs.io Engineering Platform Get schema files #
GET /apis/{apiId}/schemas/{schemaId}/files/{file-path} APIs.io Engineering Platform Get schema file contents #
PUT /apis/{apiId}/schemas/{schemaId}/files/{file-path} APIs.io Engineering Platform Create or update a schema file #
DELETE /apis/{apiId}/schemas/{schemaId}/files/{file-path} APIs.io Engineering Platform Delete a schema file #

Documentation

Specifications

Other Resources

🔗
PostmanCollection
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-1ab188a6-cc1f-490d-9413-9c6da20918d0?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-0e94f581-cbc1-48e0-b594-1f6b3d07a328?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-4517d93a-e7f7-4dc2-b572-06762bbe14de?action=share&creator=35240
🔗
PostmanCollection
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-88f9ddbb-3115-47dc-b6e5-7fc6f1d2a190?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-3a12caae-4945-4df4-8ab9-bb6219ba7a9f?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-863b18f0-c2f2-4e32-a5fa-0d1e6ccf77a9?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-189876d1-f207-49a2-a4bc-5c67ae78cd19?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-c1e74fd9-3f84-4d95-943d-d645d6cb82f7?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-b002164d-6e8a-4b6d-b409-4929476e7818?action=share&creator=35240
🔗
PostmanCollection
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-508660fd-30b8-4c9c-aede-8edbac8a514d?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-da35e0ba-f1a9-42fe-a77a-56ff0a47e341?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-1d4df7d0-9c92-4fa8-946f-2110c2b3b48d?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-2af6f54f-d259-46c0-8f86-78856f5885cd?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-cc203f31-e7f6-42ec-ad34-c5c4cde58904?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-f19285da-48dd-4691-bbdf-f7d6bec157a3?action=share&creator=35240
🔗
PostmanCollection
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-aa69cacc-4bbf-4724-a1d4-78cdad57fee8?action=share&creator=35240
🔗
PostmanCollection
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-a5858f86-04d3-4e15-ae11-b42c7516688b?action=share&creator=35240
🔗
PostmanCollection
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-c2052341-766c-43c7-b1dc-ed4985e4606b?action=share&creator=35240
🔗
PostmanCollection
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-aa777c90-8271-4809-8eac-3ec39a9a899c?action=share&creator=35240
🔗
PostmanCollection
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-4d5957dc-df05-4216-a5fc-d46b3ba811d8?action=share&creator=35240
🔗
PostmanCollection
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-28d97617-fdba-46a5-ac3e-40f3d2e0fa57?action=share&creator=35240
🔗
PostmanCollection
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-7429b451-d812-4abc-b497-b763372cf5c5?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-b0eafdd0-adaa-48a2-a855-6a31beb86d83?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-209f34ef-13c1-400c-bca8-fcddb304aff5?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-fb2bbbb8-d4cc-48b1-a660-c8e158bfbbea?action=share&creator=35240

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/engineering-platform-schema-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

engineering-platform-schema-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: APIs.io Engineering Platform Postman Schema API
  description: "The Postman API enables you to programmatically access data stored in your Postman account.\n\n> Certain endpoints may be unavailable depending on your region and/or Postman plan.\n\nFor a comprehensive set of examples of requests and responses, see the [**Postman API** collection](https://www.postman.com/postman/workspace/postman-public-workspace/documentation/12959542-c8142d51-e97c-46b6-bd77-52bb66712c9a).\n\n## Getting started\n\nYou can get started with the Postman API by creating a copy of this definition in your workspace.\n\n### EU users\n\nFor users in the EU with [**Enterprise** plans](https://www.postman.com/pricing/), the Postman API uses the `http://api.eu.postman.com` subdomain. This is available in the definition's list of servers. You can change this by selecting the `http://api.eu.postman.com` subdomain in the **Server** dropdown list below.\n\n## About the Postman API\n\n- You must use a valid API Key to send requests to the API endpoints.\n- The API has [rate and usage limits](https://learning.postman.com/docs/developer/postman-api/postman-api-rate-limits/).\n- The API only responds to HTTPS-secured communications. Any requests sent via HTTP return an HTTP `301` redirect to the corresponding HTTPS resources.\n- The API returns requests responses in JSON format. When an API request returns an error, it is sent in the JSON response as an error key.\n- The request method (verb) determines the nature of action you intend to perform. A request made using the `GET` method implies that you want to fetch something from Postman. The `POST` method implies you want to save something new to Postman.\n- For all requests, API calls respond with their corresponding [HTTP status codes](https://en.wikipedia.org/wiki/List_of_HTTP_status_codes). In the Postman client, the status code also provides help text that details the possible meaning of the response code.\n- When calling the API Builder endpoints, you must send an `Accept` header with the `application/vnd.api.v10+json` value.\n\n### IDs and UIDs\n\nAll items in Postman, such as collections, workspaces, and APIs, have IDs and UIDs:\n\n- An ID is the unique ID assigned to a Postman item. For example, `ec29121c-5203-409f-9e84-e83ffc10f226`.\n- The UID is the **full** ID of a Postman item. This value is the item's unique ID concatenated with the user ID. For example, in the `12345678-ec29121c-5203-409f-9e84-e83ffc10f226` UID:\n    - `12345678` is the user's ID.\n    - `ec29121c-5203-409f-9e84-e83ffc10f226` is the item's ID.\n\n### Enum values\n\nAny documented enum values should be considered partial lists and may change over time.\n\n### 403 response for unavailable features\n\nDepending on your region and/or Postman [plan](https://www.postman.com/pricing/), some endpoints will return an HTTP `403 Forbidden` response with the \"This feature isn't available in your region.\" detail.\n\n### 503 response\n\nAn HTTP `503 Service Unavailable` response from our servers indicates there is an unexpected spike in API access traffic. The server is usually operational within the next five minutes.\n\nIf the outage persists or you receive any other form of an HTTP `5XX` error, [contact support](https://support.postman.com/hc/en-us/requests/new/).\n\n## Authentication\n\nPostman uses API keys for authentication. The API key tells the API server that the request came from you. Everything that you have access to in Postman is accessible with your API key. You can [generate](https://learning.postman.com/docs/developer/postman-api/authentication/#generate-a-postman-api-key) a Postman API key in the [**API keys**](https://postman.postman.co/settings/me/api-keys) section of your Postman account settings.\n\nYou must include an API key in each request to the Postman API with the `X-API-Key` request header. In Postman, you can store your API key as a [vault secret](https://learning.postman.com/docs/sending-requests/postman-vault/postman-vault-secrets/) or an [environment variable](https://www.getpostman.com/docs/environments). The Postman API [collection](https://www.getpostman.com/docs/collections) will use it to make API calls.\n\n### SCIM authentication\n\nWhile all other endpoints in this collection require a Postman API key, the SCIM endpoints require a [SCIM API key](https://learning.postman.com/docs/administration/scim-provisioning/scim-provisioning-overview/#generating-scim-api-key).\n\n### Authentication error response\n\nIf an API key is missing, malformed, or invalid, you will receive an HTTP `401 Unauthorized` response code.\n\n## Rate and usage limits\n\nAPI access [rate limits](https://learning.postman.com/docs/developer/postman-api/postman-api-rate-limits/) apply at a per-user basis in unit time. The limit is **300 requests per minute**. Postman Monitors, the GET `/collections`, and the GET `/workspaces` endpoint have a rate limit of **10 calls in 10 seconds**. Depending on your [plan](https://www.postman.com/pricing/), you may also have [usage limits](https://learning.postman.com/docs/billing/resource-usage/).\n\nWhen you reach your rate or usage limits, the API returns the following HTTP `429 Too Many Requests` status code with one of the following error responses:\n\n- `rateLimited` — Rate limits reached. The response returns the time after which you can resume calls to the Postman API.\n- `serviceLimitExhausted` — Postman API service limits reached. You will need to contact your Postman Team Admin for assistance.\n\n## Support\n\nFor help regarding accessing the Postman API, you can:\n\n- Visit [Postman Support](https://support.postman.com/hc/en-us) or our [Community and Support](https://www.postman.com/community/) sites.\n- Reach out to the [Postman community](https://community.postman.com/).\n- Submit a help request to [Postman support](https://support.postman.com/hc/en-us/requests/new/).\n\n## Policies\n\n- [Postman Terms of Service](http://www.postman.com/legal/terms/)\n- [Postman Privacy Policy](https://www.postman.com/legal/privacy-policy/)\n"
  version: '1.0'
  termsOfService: https://www.postman.com/legal/terms/
  contact:
    name: Postman Support
    email: help@postman.com
    url: https://www.postman.com/community/
servers:
- url: https://api.getpostman.com
- url: https://api.eu.postman.com
security:
- PostmanApiKey: []
- scimApiKey: []
tags:
- name: Schema
  description: The **Schema** endpoints enable you to manage your API definitions. These endpoints also support multi-file schema.
paths:
  /apis/{apiId}/schemas:
    parameters:
    - $ref: '#/components/parameters/apiId'
    - $ref: '#/components/parameters/v10Accept'
    post:
      summary: APIs.io Engineering Platform Create a schema
      description: Creates a schema for an API.
      operationId: createApiSchema
      tags:
      - Schema
      requestBody:
        $ref: '#/components/requestBodies/createApiSchema'
      responses:
        '200':
          $ref: '#/components/responses/createApiSchema'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/apiSchema400ErrorInvalidParams'
                - $ref: '#/components/schemas/v10HeaderMissing'
              examples:
                Schema Already Exists:
                  $ref: '#/components/examples/apiSchema400ErrorInvalidParams'
                Missing v10 Accept Header:
                  $ref: '#/components/examples/v10HeaderMissing'
        '401':
          $ref: '#/components/responses/api401ErrorUnauthorized'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/apiSchema403ErrorForbidden'
                - $ref: '#/components/schemas/featureUnavailable403Error'
              examples:
                Forbidden:
                  $ref: '#/components/examples/apiSchema403ErrorForbidden'
                Feature Unavailable:
                  $ref: '#/components/examples/featureUnavailable403Error'
        '404':
          $ref: '#/components/responses/api404ErrorInstanceNotFound'
        '422':
          $ref: '#/components/responses/gitLinkedApi422Error'
        '500':
          $ref: '#/components/responses/common500Error'
  /apis/{apiId}/schemas/{schemaId}:
    parameters:
    - $ref: '#/components/parameters/apiId'
    - $ref: '#/components/parameters/apiSchemaId'
    - $ref: '#/components/parameters/v10Accept'
    get:
      summary: APIs.io Engineering Platform Get a schema
      description: 'Gets information about API schema. You can use the `versionId` query parameter to get a schema published in an API version.


        You can use this API to do the following:


        - Get a schema''s metadata.

        - Get all the files in a schema. This only returns the first file in the schema. The endpoint response contains a link to the next set of response results.

        - Get a schema''s contents in multi-file or bundled format.


        **Note:**


        The `versionId` query parameter is a required parameter for API viewers.

        '
      operationId: getApiSchema
      tags:
      - Schema
      responses:
        '200':
          $ref: '#/components/responses/getApiSchema'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/apiSchema400ErrorNotLinked'
                - $ref: '#/components/schemas/v10HeaderMissing'
              examples:
                Schema Not Linked to API:
                  $ref: '#/components/examples/apiSchema400ErrorNotLinked'
                Missing v10 Accept Header:
                  $ref: '#/components/examples/v10HeaderMissing'
        '401':
          $ref: '#/components/responses/api401ErrorUnauthorized'
        '403':
          $ref: '#/components/responses/api403ErrorAndFeatureUnavailable'
        '404':
          $ref: '#/components/responses/api404ErrorInstanceNotFound'
        '422':
          $ref: '#/components/responses/gitLinkedApi422Error'
        '500':
          $ref: '#/components/responses/common500Error'
      parameters:
      - $ref: '#/components/parameters/apiVersionQuery'
      - $ref: '#/components/parameters/apiSchemaOutput'
  /apis/{apiId}/schemas/{schemaId}/files:
    parameters:
    - $ref: '#/components/parameters/apiId'
    - $ref: '#/components/parameters/apiSchemaId'
    - $ref: '#/components/parameters/v10Accept'
    get:
      summary: APIs.io Engineering Platform Get schema files
      description: 'Gets the files in an API schema. You can use the `versionId` query parameter to get schema files published in an API version.


        **Note:**


        The `versionId` query parameter is a required parameter for API viewers.

        '
      operationId: getApiSchemaFiles
      tags:
      - Schema
      responses:
        '200':
          $ref: '#/components/responses/getApiSchemaFiles'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/apiSchema400ErrorNotLinked'
                - $ref: '#/components/schemas/v10HeaderMissing'
              examples:
                Schema Not Linked to API:
                  $ref: '#/components/examples/apiSchema400ErrorNotLinked'
                Missing v10 Accept Header:
                  $ref: '#/components/examples/v10HeaderMissing'
        '401':
          $ref: '#/components/responses/api401ErrorUnauthorized'
        '403':
          $ref: '#/components/responses/featureUnavailable403Error'
        '404':
          $ref: '#/components/responses/api404ErrorInstanceNotFound'
        '422':
          $ref: '#/components/responses/gitLinkedApi422Error'
        '500':
          $ref: '#/components/responses/common500Error'
      parameters:
      - $ref: '#/components/parameters/apiVersionQuery'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/cursor'
  /apis/{apiId}/schemas/{schemaId}/files/{file-path}:
    parameters:
    - $ref: '#/components/parameters/apiId'
    - $ref: '#/components/parameters/apiSchemaId'
    - $ref: '#/components/parameters/file-path'
    - $ref: '#/components/parameters/v10Accept'
    get:
      summary: APIs.io Engineering Platform Get schema file contents
      description: 'Gets an API schema file contents at the defined path. You can use the `versionId` query parameter to get schema file contents published in an API version.


        **Note:**


        The `versionId` query parameter is a required parameter for API viewers.

        '
      operationId: getApiSchemaFileContents
      tags:
      - Schema
      responses:
        '200':
          $ref: '#/components/responses/getApiSchemaFileContents'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/apiSchema400ErrorNotLinked'
                - $ref: '#/components/schemas/v10HeaderMissing'
              examples:
                Schema Not Linked to API:
                  $ref: '#/components/examples/apiSchema400ErrorNotLinked'
                Missing v10 Accept Header:
                  $ref: '#/components/examples/v10HeaderMissing'
        '401':
          $ref: '#/components/responses/api401ErrorUnauthorized'
        '403':
          $ref: '#/components/responses/featureUnavailable403Error'
        '404':
          $ref: '#/components/responses/api404ErrorInstanceNotFound'
        '422':
          $ref: '#/components/responses/gitLinkedApi422Error'
        '500':
          $ref: '#/components/responses/common500Error'
      parameters:
      - $ref: '#/components/parameters/apiVersionQuery'
    put:
      summary: APIs.io Engineering Platform Create or update a schema file
      description: 'Creates or updates an API schema file.


        **Note:**


        - If the provided file path exists, the file is updated with the new contents.

        - If the provided file path does not exist, then a new schema file is created.

        - If the file path contains a `/` (forward slash) character, then a folder is created. For example, if the file path is the `dir/schema.json` value, then a `dir` folder is created with the `schema.json` file inside.

        - You can only update the `root` tag for protobuf specifications.

        '
      operationId: createUpdateApiSchemaFile
      tags:
      - Schema
      requestBody:
        $ref: '#/components/requestBodies/createUpdateApiSchemaFile'
      responses:
        '200':
          $ref: '#/components/responses/createUpdateApiSchemaFile'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/apiSchema400ErrorNotLinked'
                - $ref: '#/components/schemas/v10HeaderMissing'
              examples:
                Schema Not Linked to API:
                  $ref: '#/components/examples/apiSchema400ErrorNotLinked'
                Missing v10 Accept Header:
                  $ref: '#/components/examples/v10HeaderMissing'
        '401':
          $ref: '#/components/responses/api401ErrorUnauthorized'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/apiSchema403ErrorForbidden'
                - $ref: '#/components/schemas/featureUnavailable403Error'
              examples:
                Forbidden:
                  $ref: '#/components/examples/apiSchema403ErrorForbidden'
                Feature Unavailable:
                  $ref: '#/components/examples/featureUnavailable403Error'
        '404':
          $ref: '#/components/responses/apiSchema404ErrorNotFound'
        '422':
          $ref: '#/components/responses/gitLinkedApi422Error'
        '500':
          $ref: '#/components/responses/common500Error'
    delete:
      summary: APIs.io Engineering Platform Delete a schema file
      description: Deletes a file in an API schema. On success, this returns an HTTP `204 No Content` response.
      operationId: deleteApiSchemaFile
      tags:
      - Schema
      responses:
        '204':
          description: Deleted
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/apiSchema400ErrorNotLinked'
                - $ref: '#/components/schemas/v10HeaderMissing'
              examples:
                Schema Not Linked to API:
                  $ref: '#/components/examples/apiSchema400ErrorNotLinked'
                Missing v10 Accept Header:
                  $ref: '#/components/examples/v10HeaderMissing'
        '401':
          $ref: '#/components/responses/api401ErrorUnauthorized'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/apiSchema403ErrorForbidden'
                - $ref: '#/components/schemas/featureUnavailable403Error'
              examples:
                Forbidden:
                  $ref: '#/components/examples/apiSchema403ErrorForbidden'
                Feature Unavailable:
                  $ref: '#/components/examples/featureUnavailable403Error'
        '404':
          $ref: '#/components/responses/api404ErrorInstanceNotFound'
        '422':
          $ref: '#/components/responses/gitLinkedApi422Error'
        '500':
          $ref: '#/components/responses/common500Error'
components:
  responses:
    getApiSchema:
      description: Successful Response
      content:
        application/json:
          schema:
            anyOf:
            - type: object
              title: Get Schema
              description: Information about the schema.
              properties:
                id:
                  type: string
                  description: The schema's ID.
                  example: ae2b9ab2-28f2-401d-912f-eca09a78e98b
                type:
                  type: string
                  description: The schema's type.
                  example: openapi:3
                files:
                  type: object
                  description: Information about the schema's files. The response is paginated and limited to one page.
                  properties:
                    data:
                      type: array
                      description: A list of the schema files.
                      items:
                        title: Schema File Base Data
                        description: Information about the schema file.
                        type: object
                        properties:
                          id:
                            type: string
                            description: The schema file's ID.
                            example: cf98c187-17c1-455f-afbf-d4be51f12770
                          name:
                            type: string
                            description: The schema file's name.
                            example: s1.json
                          path:
                            type: string
                            description: The file system path to the schema file.
                            example: dir/s1.json
                          createdAt:
                            type: string
                            format: date-time
                            description: The date and time at which the file was created.
                            example: '2023-03-16T18:38:56.000Z'
                          createdBy:
                            type: string
                            description: The user ID of the user that created the file.
                            example: '5000842'
                          updatedAt:
                            type: string
                            format: date-time
                            description: The date and time at which the file was last updated.
                            example: '2023-03-16T19:11:24.000Z'
                          updatedBy:
                            type: string
                            description: The user ID of the user that last updated the file.
                            example: '5000842'
                    meta:
                      type: object
                      properties:
                        nextPath:
                          type: string
                          description: The URL path to the next file.
                          example: /apis/1fdbff7c-036b-4f8a-91bc-17bf3ae74fd2/schemas/cf98c187-17c1-455f-afbf-d4be51f12770/files?cursor=eyJzY2hlbWUiOiJwYXRoX2FzYyIsImRpcmVjdGlvblR5cGUiOiJuZXh0IiwicGl2b3QiOiJwYXRoIiwidmFsdWUiOiJkaXIvczEuanNvbiJ9
                createdAt:
                  type: string
                  format: date-time
                  description: The date and time at which the schema was created.
                  example: '2022-03-29T11:37:15Z'
                createdBy:
                  type: string
                  description: The user ID of the user that created the schema.
                  example: '12345678'
                updatedAt:
                  type: string
                  format: date-time
                  description: The date and time at which the schema was last updated.
                  example: '2022-03-29T11:37:15Z'
                updatedBy:
                  type: string
                  description: The user ID of the user that last updated the schema.
                  example: '12345678'
            - type: object
              title: Get Bundled Schema
              description: Information about the schema.
              properties:
                id:
                  type: string
                  description: The schema's ID.
                  example: ae2b9ab2-28f2-401d-912f-eca09a78e98b
                type:
                  type: string
                  description: The schema's type.
                  example: openapi:3
                createdBy:
                  type: string
                  description: The user ID of the user that created the schema.
                  example: '12345678'
                updatedBy:
                  type: string
                  description: The user ID of the user that last updated the schema.
                  example: '12345678'
                createdAt:
                  type: string
                  format: date-time
                  example: '2022-03-29T11:37:15Z'
                  description: The date and time at which the schema was created.
                updatedAt:
                  type: string
                  format: date-time
                  description: The date and time at which the schema was last updated.
                  example: '2022-03-29T11:37:15Z'
                content:
                  type: string
                  description: The schema file, in a bundled format.
                  example: "openapi: '3.0.0'\ninfo:\n  version: '1.0.0'\n  title: 'Sample API'\n  description: Buy or rent spacecrafts\n\npaths:\n  /spacecrafts/{spacecraftId}:\n    parameters:\n      - name: spacecraftId\n        description: The unique identifier of the spacecraft\n        in: path\n        required: true\n        schema:\n          $ref: '#/components/schemas/SpacecraftId'\n    get:\n      summary: Read a spacecraft\n      responses:\n        '200':\n          description: The spacecraft corresponding to the provided `spacecraftId`\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/Spacecraft'\n        404:\n          description: No spacecraft found for the provided `spacecraftId`\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/Error'\n        500:\n          description: Unexpected error\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/Error'\ncomponents:\n  schemas:\n    SpacecraftId:\n      description: The unique identifier of a spacecraft\n      type: string\n    Spacecraft:\n      type: object\n      required:\n        - id\n        - names\n        - type\n      properties:\n        id:\n          $ref: '#/components/schemas/SpacecraftId'\n        name:\n          type: string\n        type:\n          type: string\n          enum:\n            - capsule\n            - probe\n            - satellite\n            - spaceplane\n            - station\n        description:\n          type: string\n    Error:\n      type: object\n      required:\n        - message\n      properties:\n        message:\n          description: A human readable error message\n          type: string\n  securitySchemes:\n    ApiKey:\n      type: apiKey\n      in: header\n      name: X-Api-Key\nsecurity:\n  - ApiKey: []"
          example:
            createdAt: '2022-03-29T11:37:15Z'
            updatedAt: '2022-03-29T11:37:15Z'
            files:
              meta:
                nextPath: /apis/1fdbff7c-036b-4f8a-91bc-17bf3ae74fd2/schemas/cf98c187-17c1-455f-afbf-d4be51f12770/files?cursor=eyJzY2hlbWUiOiJwYXRoX2FzYyIsImRpcmVjdGlvblR5cGUiOiJuZXh0IiwicGl2b3QiOiJwYXRoIiwidmFsdWUiOiJkaXIvczEuanNvbiJ9
              data:
              - createdBy: '12345678'
                path: dir/s1.json
                updatedBy: '12345678'
                updatedAt: '2023-03-16T19:11:24.000Z'
                createdAt: '2023-03-16T18:38:56.000Z'
                id: cf98c187-17c1-455f-afbf-d4be51f12770
                name: s1.json
    getApiSchemaFileContents:
      description: Successful Response
      content:
        application/json:
          schema:
            type: object
            title: Schema File Contents
            description: Information about the schema file.
            properties:
              id:
                type: string
                description: The schema file's ID.
                example: 0784657a-668d-4530-85c8-468becdb06fd
              name:
                type: string
                description: The schema file's name.
                example: index.json
              path:
                type: string
                description: The file system path to the schema file.
                example: common/Test.json
              content:
                type: string
                description: The schema file's stringified contents.
                example: "openapi: '3.0.0'\ninfo:\n  version: '1.0.0'\n  title: 'Sample API'\n  description: Buy or rent spacecrafts\n\npaths:\n  /spacecrafts/{spacecraftId}:\n    parameters:\n      - name: spacecraftId\n        description: The unique identifier of the spacecraft\n        in: path\n        required: true\n        schema:\n          $ref: '#/components/schemas/SpacecraftId'\n    get:\n      summary: Read a spacecraft\n      responses:\n        '200':\n          description: The spacecraft corresponding to the provided `spacecraftId`\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/Spacecraft'\n        404:\n          description: No spacecraft found for the provided `spacecraftId`\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/Error'\n        500:\n          description: Unexpected error\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/Error'\ncomponents:\n  schemas:\n    SpacecraftId:\n      description: The unique identifier of a spacecraft\n      type: string\n    Spacecraft:\n      type: object\n      required:\n        - id\n        - names\n        - type\n      properties:\n        id:\n          $ref: '#/components/schemas/SpacecraftId'\n        name:\n          type: string\n        type:\n          type: string\n          enum:\n            - capsule\n            - probe\n            - satellite\n            - spaceplane\n            - station\n        description:\n          type: string\n    Error:\n      type: object\n      required:\n        - message\n      properties:\n        message:\n          description: A human readable error message\n          type: string\n  securitySchemes:\n    ApiKey:\n      type: apiKey\n      in: header\n      name: X-Api-Key\nsecurity:\n  - ApiKey: []"
              createdAt:
                type: string
                format: date-time
                description: The date and time at which the file was created.
                example: '2023-03-15T13:27:45.000Z'
              createdBy:
                type: string
                description: The user Id of the user that created the file.
                example: '12345678'
              updatedAt:
                type: string
                format: date-time
                description: The date and time at which the file was last updated.
                example: '2023-03-15T13:27:45.000Z'
              updatedBy:
                type: string
                description: The user ID of the user that last updated the file.
                example: '12345678'
          example:
            id: 0784657a-668d-4530-85c8-468becdb06fd
            name: Test.json
            path: common/Test.json
            content: "openapi: '3.0.0'\ninfo:\n  version: '1.0.0'\n  title: 'Sample API'\n  description: Buy or rent spacecrafts\n\npaths:\n  /spacecrafts/{spacecraftId}:\n    parameters:\n      - name: spacecraftId\n        description: The unique identifier of the spacecraft\n        in: path\n        required: true\n        schema:\n          $ref: '#/components/schemas/SpacecraftId'\n    get:\n      summary: Read a spacecraft\n      responses:\n        '200':\n          description: The spacecraft corresponding to the provided `spacecraftId`\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/Spacecraft'\n        404:\n          description: No spacecraft found for the provided `spacecraftId`\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/Error'\n        500:\n          description: Unexpected error\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/Error'\ncomponents:\n  schemas:\n    SpacecraftId:\n      description: The unique identifier of a spacecraft\n      type: string\n    Spacecraft:\n      type: object\n      required:\n        - id\n        - names\n        - type\n      properties:\n        id:\n          $ref: '#/components/schemas/SpacecraftId'\n        name:\n          type: string\n        type:\n          type: string\n          enum:\n            - capsule\n            - probe\n            - satellite\n            - spaceplane\n            - station\n        description:\n          type: string\n    Error:\n      type: object\n      required:\n        - message\n      properties:\n        message:\n          description: A human readable error message\n          type: string\n  securitySchemes:\n    ApiKey:\n      type: apiKey\n      in: header\n      name: X-Api-Key\nsecurity:\n  - ApiKey: []"
            createdAt: '2023-03-15T13:27:45.000Z'
            createdBy: '12345678'
            updatedAt: '2023-03-15T13:27:45.000Z'
            updatedBy: '12345678'
    createApiSchema:
      description: Created
      content:
        application/json:
          schema:
            type: object
            description: Information about the created API schema.
            properties:
              id:
                type: string
                description: The schema's ID.
                example: b4fc1bdc-6587-4f9b-95c9-f768146089b4
              type:
                type: string
                description: The schema's type.
                enum:
                - proto:2
                - proto:3
                - graphql
                - openapi:3_1
                - openapi:3
                - openapi:2
                - openapi:1
                - raml:1
                - raml:0_8
                - wsdl:2
                - wsdl:1
 

# --- truncated at 32 KB (72 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/engineering-platform/refs/heads/main/openapi/engineering-platform-schema-api-openapi.yml