Postman apiCatalog API
The apiCatalog API from Postman — 11 operation(s) for apicatalog.
The apiCatalog API from Postman — 11 operation(s) for apicatalog.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/postman-apicatalog-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
title: Postman API Catalog API
version: 1.0.0
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: apiCatalog
paths:
/api-catalog/discovery-services:
get:
operationId: getApiCatalogDiscoveryServices
summary: Get discovered services
description: Gets a list of all [discovered services](https://learning.postman.com/docs/api-catalog/overview#discover-apis-and-services) in the API Catalog.
tags:
- apiCatalog
parameters:
- name: discoverySource
in: query
description: 'Filter results by the given discovery source type:
- `api_gateway_app` — API Gateway integrations.
- `insights_project` — Postman Insights.
- `infra_watcher` — Cluster Watcher.
- `public_api` — Services manually added using the POST `/api-catalog/discovery-services` endpoint.
'
required: false
schema:
$ref: '#/components/schemas/discoveryServicesSource'
- name: status
in: query
description: A comma-separated list of statuses to filter the results by. Accepts the `discovered`, `integrated`, and `archived` values.
required: false
schema:
$ref: '#/components/schemas/discoveryServicesStatus'
- name: search
in: query
description: Filter results by the given value that match a service's name. Matching is not case-sensitive.
required: false
schema:
$ref: '#/components/schemas/discoveryServicesSearch'
- name: limit
in: query
description: The maximum number of rows to return in the response, up to a maximum value of 100. Any value greater than 100 returns a 400 Bad Request response.
required: false
schema:
$ref: '#/components/schemas/limitDefault20'
default: 20
- 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: x-api-key
in: header
required: true
schema:
type: string
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/getApiCatalogDiscoveryServices'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/apiCatalogError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/GetApiCatalogDiscoveryServicesRequestInternalServerError'
post:
operationId: postApiCatalogDiscoveryServices
summary: Add discovered services to the API Catalog
description: Adds discovered services to the API Catalog. Accepts up to 20 services in a single call.
tags:
- apiCatalog
parameters:
- name: x-api-key
in: header
required: true
schema:
type: string
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/postApiCatalogDiscoveryServicesResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/apiCatalogError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/PostApiCatalogDiscoveryServicesRequestInternalServerError'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/postApiCatalogDiscoveryServices'
/api-catalog/discovery-services/{serviceId}:
get:
operationId: getApiCatalogDiscoveryService
summary: Get a discovered service's information
description: Gets detailed information about a discovered service, including a base64-encoded OpenAPI specification and an array of endpoints.
tags:
- apiCatalog
parameters:
- name: serviceId
in: path
description: The discovered service's ID.
required: true
schema:
$ref: '#/components/schemas/serviceId'
- name: x-api-key
in: header
required: true
schema:
type: string
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/getApiCatalogDiscoveryService'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/GetApiCatalogDiscoveryServiceRequestInternalServerError'
/api-catalog/services:
get:
operationId: getApiCatalogServices
summary: Get all services
description: Gets a list of services in a system environment. The response includes details about analytics, compliance, and governance metadata.
tags:
- apiCatalog
parameters:
- name: systemEnvironmentId
in: query
description: The system environment's ID.
required: true
schema:
$ref: '#/components/schemas/systemEnvironmentId'
- name: name
in: query
description: Filter results to the given the service name. This is case-insensitive.
required: false
schema:
$ref: '#/components/schemas/apiCatalogServiceNameFilter'
- name: tags
in: query
description: A comma-separated list of tag names to filter by.
required: false
schema:
$ref: '#/components/schemas/apiCatalogServiceTagsFilter'
- name: governanceGroupId
in: query
description: Filter results to only services that belong to the given governance group ID.
required: false
schema:
$ref: '#/components/schemas/apiCatalogServiceGovernanceGroupIdFilter'
- name: limit
in: query
description: The maximum number of rows to return in the response, up to a maximum value of 100. Any value greater than 100 returns a 400 Bad Request response.
required: false
schema:
$ref: '#/components/schemas/limitDefault20'
default: 20
- 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: x-api-key
in: header
required: true
schema:
type: string
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/getApiCatalogServices'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/apiCatalogError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/GetApiCatalogServicesRequestInternalServerError'
/api-catalog/services/{serviceId}:
get:
operationId: getApiCatalogService
summary: Get a service by ID
description: Gets information about a service, including its health, traffic, compliance, ownership, and dependencies.
tags:
- apiCatalog
parameters:
- name: serviceId
in: path
description: The service's ID.
required: true
schema:
$ref: '#/components/schemas/serviceId'
- name: systemEnvironmentId
in: query
description: The system environment's ID.
required: true
schema:
$ref: '#/components/schemas/systemEnvironmentId'
- name: x-api-key
in: header
required: true
schema:
type: string
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/getApiCatalogService'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/apiCatalogError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/GetApiCatalogServiceRequestInternalServerError'
/api-catalog/services/{serviceId}/endpoints:
get:
operationId: getApiCatalogServiceEndpoints
summary: Get a service's endpoints
description: Get a list of observed API endpoints for a service and its performance metrics.
tags:
- apiCatalog
parameters:
- name: serviceId
in: path
description: The service's ID.
required: true
schema:
$ref: '#/components/schemas/serviceId'
- name: systemEnvironmentId
in: query
description: The system environment's ID.
required: true
schema:
$ref: '#/components/schemas/systemEnvironmentId'
- name: httpMethods
in: query
description: A.comma-separated list of HTTP methods to filter the results by.
required: false
schema:
$ref: '#/components/schemas/apiCatalogServiceHttpMethodFilter'
- name: hosts
in: query
description: A comma-separated list of hostnames to filter the results by.
required: false
schema:
$ref: '#/components/schemas/apiCatalogServiceHostsFilter'
- name: responseCodes
in: query
description: A comma-separated list of HTTP status codes to filter the results by.
required: false
schema:
$ref: '#/components/schemas/apiCatalogServiceResponseCodeFilter'
- name: search
in: query
description: Filter results to the search filter given on the endpoint's path.
required: false
schema:
$ref: '#/components/schemas/apiCatalogServiceSearchFilter'
- name: sort
in: query
description: Sort the results in field:direction order format. Accepts the `count`, `endpoint`, `p95LatencyMs`, and `errorRate` fields. Supports the `asc` and `desc` directions.
required: false
schema:
$ref: '#/components/schemas/apiCatalogServiceSortEndpointsFilter'
- name: limit
in: query
description: The maximum number of rows to return in the response, up to a maximum value of 100. Any value greater than 100 returns a 400 Bad Request response.
required: false
schema:
$ref: '#/components/schemas/limitDefault20'
default: 20
- 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: x-api-key
in: header
required: true
schema:
type: string
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/getApiCatalogServiceEndpoints'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/apiCatalogError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/GetApiCatalogServiceEndpointsRequestInternalServerError'
/api-catalog/services/{serviceId}/monitor-runs:
get:
operationId: getApiCatalogServiceMonitorRuns
summary: Get a service's monitor runs
description: Gets a list of scheduled monitor runs for a service that includes summary statistics.
tags:
- apiCatalog
parameters:
- name: serviceId
in: path
description: The service's ID.
required: true
schema:
$ref: '#/components/schemas/serviceId'
- name: systemEnvironmentId
in: query
description: The system environment's ID.
required: true
schema:
$ref: '#/components/schemas/systemEnvironmentId'
- name: collectionId
in: query
description: Filter results to only the given collection ID's runs.
required: false
schema:
$ref: '#/components/schemas/collectionUid'
- name: sort
in: query
description: Sort the results in field:direction order format. Accepts the `timestamp`, `duration`, and `failedAssertions` fields. Supports the `asc` and `desc` directions.
required: false
schema:
$ref: '#/components/schemas/apiCatalogServiceSortMonitorRun'
- name: environmentId
in: query
description: Filter results to only the given environment ID runs.
required: false
schema:
$ref: '#/components/schemas/environmentId'
- name: status
in: query
description: Filter results by run status.
required: false
schema:
$ref: '#/components/schemas/apiCatalogServiceStatusFilter'
- name: limit
in: query
description: The maximum number of rows to return in the response, up to a maximum value of 100. Any value greater than 100 returns a 400 Bad Request response.
required: false
schema:
$ref: '#/components/schemas/limitDefault20'
default: 20
- 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: x-api-key
in: header
required: true
schema:
type: string
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/getApiCatalogServiceMonitorRuns'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/apiCatalogError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/GetApiCatalogServiceMonitorRunsRequestInternalServerError'
/api-catalog/services/{serviceId}/spec-lints:
get:
operationId: getApiCatalogServiceSpecificationLints
summary: Get a service's specification lints
description: Gets a list of API specification lint runs for a service that includes summary statistics and per-severity issue counts.
tags:
- apiCatalog
parameters:
- name: serviceId
in: path
description: The service's ID.
required: true
schema:
$ref: '#/components/schemas/serviceId'
- name: specId
in: query
description: Filter results to the given API specification ID.
required: false
schema:
$ref: '#/components/schemas/specId'
- name: severity
in: query
description: Filter results to runs with issues at or above the given severity threshold. Higher severities are always included.
required: false
schema:
$ref: '#/components/schemas/apiCatalogServiceSpecLintSeverityFilter'
- name: status
in: query
description: Filter results to the given spec lint outcome.
required: false
schema:
$ref: '#/components/schemas/apiCatalogServiceStatusFilter'
- name: sort
in: query
description: Sort the results in field:direction order format. Accepts the `timestamp` and `errorCount` fields. Supports the `asc` and `desc` directions.
required: false
schema:
$ref: '#/components/schemas/apiCatalogServiceSortSpecLintFilter'
- name: limit
in: query
description: The maximum number of rows to return in the response, up to a maximum value of 100. Any value greater than 100 returns a 400 Bad Request response.
required: false
schema:
$ref: '#/components/schemas/limitDefault20'
default: 20
- 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: x-api-key
in: header
required: true
schema:
type: string
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/getApiCatalogServiceSpecificationLints'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/apiCatalogError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/GetApiCatalogServiceSpecificationLintsRequestInternalServerError'
/api-catalog/services/{serviceId}/ci-runs:
get:
operationId: getApiCatalogServiceCiRuns
summary: Get a service's CI runs
description: Gets a paginated list of CI collection runs for a service that includes summary statistics, pipeline details, and Git metadata.
tags:
- apiCatalog
parameters:
- name: serviceId
in: path
description: The service's ID.
required: true
schema:
$ref: '#/components/schemas/serviceId'
- name: systemEnvironmentId
in: query
description: The system environment's ID.
required: true
schema:
$ref: '#/components/schemas/systemEnvironmentId'
- name: collectionId
in: query
description: Filter results to only the given collection ID's runs.
required: false
schema:
$ref: '#/components/schemas/collectionUid'
- name: environmentId
in: query
description: Filter results to only the given environment ID runs.
required: false
schema:
$ref: '#/components/schemas/environmentId'
- name: status
in: query
description: Filter results by run status.
required: false
schema:
$ref: '#/components/schemas/apiCatalogServiceStatusFilter'
- name: branch
in: query
description: Filter results by the given Git branch name.
required: false
schema:
$ref: '#/components/schemas/apiCatalogServiceBranchFilter'
- name: workflowName
in: query
description: Filter results by the given CI workflow name.
required: false
schema:
$ref: '#/components/schemas/apiCatalogServiceWorkflowNameFilter'
- name: actor
in: query
description: Filter results by the given CI user that triggered the run.
required: false
schema:
$ref: '#/components/schemas/apiCatalogServiceActorFilter'
- name: repoName
in: query
description: Filter results by the given repository name.
required: false
schema:
$ref: '#/components/schemas/apiCatalogServiceRepoNameFilter'
- name: repoOwner
in: query
description: Filter results by the given repository owner.
required: false
schema:
$ref: '#/components/schemas/apiCatalogServiceRepoOwnerFilter'
- name: sort
in: query
description: Sort the results in field:direction order format. Accepts the `timestamp` and `duration` fields. Supports the `asc` and `desc` directions.
required: false
schema:
$ref: '#/components/schemas/apiCatalogServiceSortCiFilter'
- name: limit
in: query
description: The maximum number of rows to return in the response, up to a maximum value of 100. Any value greater than 100 returns a 400 Bad Request response.
required: false
schema:
$ref: '#/components/schemas/limitDefault20'
default: 20
- 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: x-api-key
in: header
required: true
schema:
type: string
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/getApiCatalogServiceCiRuns'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/apiCatalogError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/GetApiCatalogServiceCiRunsRequestInternalServerError'
/api-catalog/system-environments:
get:
operationId: getApiCatalogSystemEnvironments
summary: Get all system environments
description: Gets all of the authenticated team's system environments.
tags:
- apiCatalog
parameters:
- name: isProduction
in: query
description: If true, filters the response results to return only system environments marked as production.
required: false
schema:
$ref: '#/components/schemas/systemEnvironmentProductionFilter'
- name: limit
in: query
description: The maximum number of rows to return in the response, up to a maximum value of 100. Any value greater than 100 returns a 400 Bad Request response.
required: false
schema:
$ref: '#/components/schemas/limitDefault20'
default: 20
- 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: x-api-key
in: header
required: true
schema:
type: string
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/getApiCatalogSystemEnvironments'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/GetApiCatalogSystemEnvironmentsRequestBadRequestError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/GetApiCatalogSystemEnvironmentsRequestInternalServerError'
post:
operationId: createApiCatalogSystemEnvironment
summary: Create a system environment
description: Creates a system environment for the authenticated team.
tags:
- apiCatalog
parameters:
- name: x-api-key
in: header
required: true
schema:
type: string
responses:
'201':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/createApiCatalogSystemEnvironmentResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/CreateApiCatalogSystemEnvironmentRequestBadRequestError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/CreateApiCatalogSystemEnvironmentRequestInternalServerError'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/createApiCatalogSystemEnvironment'
/api-catalog/system-environments/{systemEnvironmentId}:
get:
operationId: getApiCatalogSystemEnvironment
summary: Get a system environment
description: Gets information about a system environment.
tags:
- apiCatalog
parameters:
- name: systemEnvironmentId
in: path
description: The system environment's ID.
required: true
schema:
$ref: '#/components/schemas/systemEnvironmentId'
- name: x-api-key
in: header
required: true
schema:
type: string
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/getApiCatalogSystemEnvironment'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/GetApiCatalogSystemEnvironmentRequestBadRequestError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/common
# --- truncated at 32 KB (131 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/postman/refs/heads/main/openapi/postman-apicatalog-api-openapi.yml