Postman specs API
The specs API from Postman — 14 operation(s) for specs.
The specs API from Postman — 14 operation(s) for specs.
openapi: 3.1.0
info:
title: Postman Specs API
version: 1.0.0
description: 'Operations tagged specs across 2 of this provider''s published API definitions: postman-api-openapi.yml, postman-specs-api-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.postman.com
description: https://api.postman.com
- url: https://api.eu.postman.com
description: https://api.eu.postman.com
tags:
- name: specs
paths:
/apis/{apiId}/spec-migrations:
get:
operationId: getMigrationStatus
summary: Get status of API Builder to Spec Hub migration
description: Returns the status of an API Builder definition's migration to Spec Hub.
tags:
- specs
parameters:
- name: apiId
in: path
description: The API's ID.
required: true
schema:
$ref: '#/components/schemas/apiId'
- name: x-api-key
in: header
required: true
schema:
type: string
- name: Accept
in: header
description: The `application/vnd.api.v10+json` request header required to use the endpoint.
required: true
schema:
$ref: '#/components/schemas/v10Accept'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/getMigrationStatus'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/getMigrationStatus400Error'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatusInstance'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/GetMigrationStatusRequestForbiddenError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/GetMigrationStatusRequestInternalServerError'
post:
operationId: migrateApiToSpecHub
summary: Migrate API Builder API to Spec Hub
description: 'Migrates an API Builder definition to a [Spec Hub](https://learning.postman.com/docs/design-apis/specifications/overview) specification. You can migrate the definition to an existing workspace, or create a new workspace to migrate the definition into. On success, this returns an HTTP `202 Created` response. You can use the GET `/apis/{apiId}/spec-migrations` endpoint to check the migration status.
**Note:**
- This returns an HTTP `200 OK` response if the given API ID isn''t an API Builder definition.
- To migrate a Git-linked API Builder definition to Spec Hub, you must create a new workspace. Migration to an existing workspace isn''t supported.
'
tags:
- specs
parameters:
- name: apiId
in: path
description: The API's ID.
required: true
schema:
$ref: '#/components/schemas/apiId'
- name: x-api-key
in: header
required: true
schema:
type: string
- name: Accept
in: header
description: The `application/vnd.api.v10+json` request header required to use the endpoint.
required: true
schema:
$ref: '#/components/schemas/v10Accept'
responses:
'200':
description: Empty API Migration
content:
application/json:
schema:
$ref: '#/components/schemas/migrateToSpecHubResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/MigrateApiToSpecHubRequestBadRequestError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatusInstance'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/MigrateApiToSpecHubRequestForbiddenError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/MigrateApiToSpecHubRequestInternalServerError'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/migrateApiToSpecHub'
servers:
- url: https://api.postman.com
description: https://api.postman.com
- url: https://api.eu.postman.com
description: https://api.eu.postman.com
/collections/{collectionUid}/generations/{elementType}:
get:
operationId: getGeneratedCollectionSpecs
summary: Get generated spec
description: Gets the API specification generated for the given collection.
tags:
- specs
parameters:
- name: collectionUid
in: path
description: The collection's unique ID.
required: true
schema:
$ref: '#/components/schemas/collectionUid'
- name: elementType
in: path
description: The `spec` value.
required: true
schema:
$ref: '#/components/schemas/elementTypeSpec'
- name: x-api-key
in: header
required: true
schema:
type: string
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/getGeneratedCollectionSpecs'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/GetGeneratedCollectionSpecsRequestForbiddenError'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/GetGeneratedCollectionSpecsRequestInternalServerError'
post:
operationId: generateSpecFromCollection
summary: Generate spec from collection
description: Generates an OpenAPI 2.0, 3.0, or 3.1 specification for the given collection. The response contains a polling link to the task status.
tags:
- specs
parameters:
- name: collectionUid
in: path
description: The collection's unique ID.
required: true
schema:
$ref: '#/components/schemas/collectionUid'
- name: elementType
in: path
description: The `spec` value.
required: true
schema:
$ref: '#/components/schemas/elementTypeSpec'
- name: x-api-key
in: header
required: true
schema:
type: string
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/generateTaskResponse'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/GenerateSpecFromCollectionRequestForbiddenError'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'423':
description: Locked
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/GenerateSpecFromCollectionRequestInternalServerError'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/generateSpecFromCollection'
servers:
- url: https://api.postman.com
description: https://api.postman.com
- url: https://api.eu.postman.com
description: https://api.eu.postman.com
/collections/{collectionUid}/synchronizations:
put:
operationId: syncCollectionWithSpec
summary: Sync collection with spec
description: 'Syncs a collection generated from an API specification. This is an asynchronous endpoint that returns an HTTP `202 Accepted` response.
**Note:**
- This endpoint only supports the OpenAPI 2.0, 3.0, and 3.1 specification types.
- You can only sync collections generated from the given spec ID.
'
tags:
- specs
parameters:
- name: collectionUid
in: path
description: The collection's unique ID.
required: true
schema:
$ref: '#/components/schemas/collectionUid'
- name: specId
in: query
description: The spec's ID.
required: true
schema:
$ref: '#/components/schemas/specId'
- name: x-api-key
in: header
required: true
schema:
type: string
responses:
'202':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/generateTaskResponse'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/SyncCollectionWithSpecRequestForbiddenError'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/SyncCollectionWithSpecRequestInternalServerError'
servers:
- url: https://api.postman.com
description: https://api.postman.com
- url: https://api.eu.postman.com
description: https://api.eu.postman.com
/{elementType}/{elementId}/tasks/{taskId}:
get:
operationId: getAsyncSpecTaskStatus
summary: Get status of an async spec task
description: Gets the status of an asynchronous API specification creation task.
tags:
- specs
parameters:
- name: elementType
in: path
description: The element to filter results by.
required: true
schema:
$ref: '#/components/schemas/elementType'
- name: elementId
in: path
description: The element's ID.
required: true
schema:
$ref: '#/components/schemas/elementId'
- name: taskId
in: path
description: The task's ID.
required: true
schema:
$ref: '#/components/schemas/taskId'
- name: x-api-key
in: header
required: true
schema:
type: string
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/Specs_getAsyncSpecTaskStatus_Response_200'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/GetAsyncSpecTaskStatusRequestForbiddenError'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/GetAsyncSpecTaskStatusRequestInternalServerError'
servers:
- url: https://api.postman.com
description: https://api.postman.com
- url: https://api.eu.postman.com
description: https://api.eu.postman.com
/specs:
get:
operationId: getAllSpecs
summary: Get all specs
description: Gets all API specifications in a workspace.
tags:
- specs
parameters:
- name: workspaceId
in: query
description: The workspace's ID.
required: true
schema:
$ref: '#/components/schemas/workspaceId'
- name: cursor
in: query
description: The pointer to the first record of the set of paginated results. To view the next response, use the `nextCursor` value for this parameter.
required: false
schema:
$ref: '#/components/schemas/cursor'
- name: limit
in: query
description: The maximum number of rows to return in the response.
required: false
schema:
$ref: '#/components/schemas/limit'
default: 10
- name: x-api-key
in: header
required: true
schema:
type: string
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/getAllSpecs'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/GetAllSpecsRequestForbiddenError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/GetAllSpecsRequestInternalServerError'
post:
operationId: createSpec
summary: Create a spec
description: 'Creates an API specification in Postman''s [Spec Hub](https://learning.postman.com/docs/design-apis/specifications/overview/). Specifications can be single or multi-file.
**Note:**
- Postman supports OpenAPI (2.0, 3.0, and 3.1), AsyncAPI (2.0 and 3.0), protobuf (2 and 3), GraphQL, and Smithy specifications.
- If the file path contains a `/` (forward slash) character, then a folder is created. For example, if the path is the `components/schemas.json` value, then a `components` folder is created with the `schemas.json` file inside.
- Multi-file specifications can only have one root file.
- Files cannot exceed a maximum of 12 MB in size.
'
tags:
- specs
parameters:
- name: workspaceId
in: query
description: The workspace's ID.
required: true
schema:
$ref: '#/components/schemas/workspaceId'
- name: x-api-key
in: header
required: true
schema:
type: string
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/createSpecResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/CreateSpecRequestForbiddenError'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetail'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/CreateSpecRequestInternalServerError'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/createSpec'
servers:
- url: https://api.postman.com
description: https://api.postman.com
- url: https://api.eu.postman.com
description: https://api.eu.postman.com
/specs/{specId}:
get:
operationId: getSpec
summary: Get a spec
description: Gets information about an API specification.
tags:
- specs
parameters:
- name: specId
in: path
description: The spec's ID.
required: true
schema:
$ref: '#/components/schemas/specId'
- name: x-api-key
in: header
required: true
schema:
type: string
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/specData'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/GetSpecRequestForbiddenError'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/GetSpecRequestInternalServerError'
delete:
operationId: deleteSpec
summary: Delete a spec
description: Deletes an API specification. On success, this returns an HTTP `204 No Content` response.
tags:
- specs
parameters:
- name: specId
in: path
description: The spec's ID.
required: true
schema:
$ref: '#/components/schemas/specId'
- name: x-api-key
in: header
required: true
schema:
type: string
responses:
'204':
description: No Content
content:
application/json:
schema:
type: object
properties: {}
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteSpecRequestForbiddenError'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteSpecRequestInternalServerError'
patch:
operationId: updateSpecProperties
summary: Update a spec's properties
description: Updates an API specification's properties, such as its name.
tags:
- specs
parameters:
- name: specId
in: path
description: The spec's ID.
required: true
schema:
$ref: '#/components/schemas/specId'
- name: x-api-key
in: header
required: true
schema:
type: string
responses:
'200':
description: Spec Updated
content:
application/json:
schema:
$ref: '#/components/schemas/updateSpecPropertiesResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateSpecPropertiesRequestForbiddenError'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateSpecPropertiesRequestInternalServerError'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/updateSpecProperties'
servers:
- url: https://api.postman.com
description: https://api.postman.com
- url: https://api.eu.postman.com
description: https://api.eu.postman.com
/specs/{specId}/collections/{collectionId}/sync-options:
patch:
operationId: updateSpecSyncOptions
summary: Update spec sync options
description: Updates the [sync options](https://learning.postman.com/docs/design-apis/specifications/generate-collections/#configure-sync-settings) for a specification's generated collection.
tags:
- specs
parameters:
- name: specId
in: path
description: The spec's ID.
required: true
schema:
$ref: '#/components/schemas/specId'
- name: collectionId
in: path
description: The collection's ID.
required: true
schema:
$ref: '#/components/schemas/collectionId'
- name: x-api-key
in: header
required: true
schema:
type: string
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/apiSpecSyncOptions'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'401':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatusInstance'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateSpecSyncOptionsRequestForbiddenError'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateSpecSyncOptionsRequestInternalServerError'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/apiSpecSyncOptions'
servers:
- url: https://api.postman.com
description: https://api.postman.com
- url: https://api.eu.postman.com
description: https://api.eu.postman.com
/specs/{specId}/definitions:
get:
operationId: getSpecDefinition
summary: Get a spec's definition
description: Gets the complete contents of an OpenAPI or AsyncAPI specification's definition.
tags:
- specs
parameters:
- name: specId
in: path
description: The spec's ID.
required: true
schema:
$ref: '#/components/schemas/specId'
- name: x-api-key
in: header
required: true
schema:
type: string
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/Specs_getSpecDefinition_Response_200'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/GetSpecDefinitionRequestForbiddenError'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/GetSpecDefinitionRequestInternalServerError'
servers:
- url: https://api.postman.com
description: https://api.postman.com
- url: https://api.eu.postman.com
description: https://api.eu.postman.com
/specs/{specId}/files:
get:
operationId: getSpecFiles
summary: Get a spec's files
description: Gets all the files in an API specification.
tags:
- specs
parameters:
- name: specId
in: path
description: The spec's ID.
required: true
schema:
$ref: '#/components/schemas/specId'
- name: x-api-key
in: header
required: true
schema:
type: string
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/getSpecFiles'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/GetSpecFilesRequestForbiddenError'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/GetSpecFilesRequestInternalServerError'
post:
operationId: createSpecFile
summary: Create a spec file
description: 'Creates a file for an OpenAPI or a protobuf 2 or 3 specification.
**Note:**
- If the file path contains a `/` (forward slash) character, then a folder is created. For example, if the path is the `components/schemas.json` value, then a `components` folder is created with the `schemas.json` file inside.
- Creating a spec file assigns it the `DEFAULT` file type.
- Multi-file specifications can only have one root file.
- Files cannot exceed a maximum of 10 MB in size.
'
tags:
- specs
parameters:
- name: specId
in: path
description: The spec's ID.
required: true
schema:
$ref: '#/components/schemas/specId'
- name: x-api-key
in: header
required: true
schema:
type: string
responses:
'201':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/createUpdateSpecFileResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/CreateSpecFileRequestForbiddenError'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/CreateSpecFileRequestInternalServerError'
requestBody:
description: Create Spec File
content:
application/json:
schema:
$ref: '#/components/schemas/createSpecFile'
servers:
- url: https://api.postman.com
description: https://api.postman.com
- url: https://api.eu.postman.com
description: https://api.eu.postman.com
/specs/{specId}/files/{filePath}:
get:
operationId: getSpecFile
summary: Get a spec file
description: Gets the contents of an API specification's file.
tags:
- specs
parameters:
- name: specId
in: path
description: The spec's ID.
required: true
schema:
$ref: '#/components/schemas/specId'
- name: filePath
in: path
description: The path to the file.
required: true
schema:
$ref: '#/components/schemas/filePath'
- name: x-api-key
in: header
required: true
schema:
type: string
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/getSpecFile'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/GetSpecFileRequestForbiddenError'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/GetSpecFileRequestInternalServerError'
delete:
operationId: deleteSpecFile
summary: Delete a spec file
# --- truncated at 32 KB (106 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/postman/refs/heads/main/openapi/postman-specs-api-openapi.yml