Cortex Deploys API

Deployment events recorded per catalog entity.

Business capability
Software Release & Deployment Management BC-4210

Operations 9

DELETE /api/v1/catalog/deploys Delete deploys by filter #
DELETE /api/v1/catalog/deploys/all Delete all deployments for all entities #
DELETE /api/v1/catalog/{tagOrId}/deploys Delete deployments for entity #
GET /api/v1/catalog/{tagOrId}/deploys List deployments for entity #
POST /api/v1/catalog/{tagOrId}/deploys Add deployment for entity #
DELETE /api/v1/catalog/{tagOrId}/deploys/{uuid} Delete deployment by UUID #
PUT /api/v1/catalog/{tagOrId}/deploys/{uuid} Update deployment by UUID #
GET /api/v1/deploys/environments List all distinct deploy environments for this tenant #
GET /api/v1/deploys/search Search deployments across the tenant #

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/cortex-idp:cortex-idp-deploys-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

cortex-idp-deploys-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: The Cortex REST API provides programmatic access to the data in the catalog, Scorecards, and more.
  title: Cortex Deploys API
  version: v1
servers:
- url: https://api.getcortexapp.com
  description: Cortex Cloud API host
security:
- bearerAuth: []
tags:
- name: Deploys
paths:
  /api/v1/catalog/deploys:
    delete:
      description: 'Filter and delete deploys by SHA hash, environment, or type. Note that at least one of the filters need to be set.

        If looking to delete all deployments for an entity, use the `Delete all deploys for entity` endpoint instead.'
      operationId: deleteDeploysByFilter
      parameters:
      - in: query
        name: environment
        required: false
        schema:
          type: string
      - in: query
        name: sha
        required: false
        schema:
          type: string
      - in: query
        name: type
        required: false
        schema:
          type: string
          enum:
          - DEPLOY
          - SCALE
          - ROLLBACK
          - RESTART
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeploysResponse'
          description: Successfully deleted deployment
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Trying to delete deploys without any filters
        '429':
          $ref: '#/components/responses/TooManyRequests'
      summary: Delete deploys by filter
      tags:
      - Deploys
      x-cortex-mcp-enabled: 'false'
  /api/v1/catalog/deploys/all:
    delete:
      description: Dangerous endpoint that blows away deploys for all entities
      operationId: deleteAllDeploys
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeploysResponse'
          description: Successfully deleted all deployments
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '429':
          $ref: '#/components/responses/TooManyRequests'
      summary: Delete all deployments for all entities
      tags:
      - Deploys
      x-cortex-mcp-enabled: 'false'
  /api/v1/catalog/{tagOrId}/deploys:
    delete:
      operationId: deleteDeploysForEntity
      parameters:
      - description: The tag (`x-cortex-tag`) or unique, auto-generated identifier (CID) for the entity. If the tag contains forward slashes, URL-encode each `/` as `%2F`. The tag is matched exactly as encoded, including leading, trailing, and consecutive slashes, which are preserved and not collapsed (for example, the tag `/services/payments-api` is referenced as `%2Fservices%2Fpayments-api`). Tags containing slashes are supported via the API but not in the Cortex UI; this difference is expected.
        in: path
        name: tagOrId
        required: true
        schema:
          type: string
          description: Entity identifier - can be a tag or CID
      - in: query
        name: environment
        required: false
        schema:
          type: string
      - in: query
        name: sha
        required: false
        schema:
          type: string
      - in: query
        name: type
        required: false
        schema:
          type: string
          enum:
          - DEPLOY
          - SCALE
          - ROLLBACK
          - RESTART
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomDeploy'
          description: Successfully deleted deployments
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Entity not found
        '429':
          $ref: '#/components/responses/TooManyRequests'
      summary: Delete deployments for entity
      tags:
      - Deploys
      x-cortex-mcp-description: Delete multiple deployments. Disabled for MCP access to preserve deployment history
      x-cortex-mcp-enabled: 'false'
    get:
      operationId: getDeploysForEntity
      parameters:
      - description: The tag (`x-cortex-tag`) or unique, auto-generated identifier (CID) for the entity. If the tag contains forward slashes, URL-encode each `/` as `%2F`. The tag is matched exactly as encoded, including leading, trailing, and consecutive slashes, which are preserved and not collapsed (for example, the tag `/services/payments-api` is referenced as `%2Fservices%2Fpayments-api`). Tags containing slashes are supported via the API but not in the Cortex UI; this difference is expected.
        in: path
        name: tagOrId
        required: true
        schema:
          type: string
          description: Entity identifier - can be a tag or CID
      - description: Number of results to return per page, between 1 and 1000. Default 250.
        in: query
        name: pageSize
        required: true
        schema:
          type: integer
          format: int32
          default: 250
      - description: Page number to return, 0-indexed. Default 0.
        in: query
        name: page
        required: true
        schema:
          type: integer
          format: int32
          default: 0
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomDeployListPaginatedResponse'
          description: Successfully retrieved deployments
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Entity not found
        '429':
          $ref: '#/components/responses/TooManyRequests'
      summary: List deployments for entity
      tags:
      - Deploys
      x-cortex-mcp-description: List all deployments for a specific catalog entity. Returns deployment history including timestamps, environments, SHAs, and deployment types in paginated format.
      x-cortex-mcp-enabled: 'true'
    post:
      operationId: addDeployForEntity
      parameters:
      - description: The tag (`x-cortex-tag`) or unique, auto-generated identifier (CID) for the entity. If the tag contains forward slashes, URL-encode each `/` as `%2F`. The tag is matched exactly as encoded, including leading, trailing, and consecutive slashes, which are preserved and not collapsed (for example, the tag `/services/payments-api` is referenced as `%2Fservices%2Fpayments-api`). Tags containing slashes are supported via the API but not in the Cortex UI; this difference is expected.
        in: path
        name: tagOrId
        required: true
        schema:
          type: string
          description: Entity identifier - can be a tag or CID
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SaveDeployRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomDeploy'
          description: Successfully created deployment
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Entity not found
        '429':
          $ref: '#/components/responses/TooManyRequests'
      summary: Add deployment for entity
      tags:
      - Deploys
      x-cortex-mcp-description: 'Record a new deployment on an entity: title, timestamp, type (DEPLOY, SCALE, ROLLBACK or RESTART), and optional sha, url, environment, deployer and customData. Every call adds another record, so retrying creates duplicates. Returns the deployment with its UUID. To correct an existing record, use updateDeployByUuid.'
      x-cortex-mcp-enabled: 'true'
  /api/v1/catalog/{tagOrId}/deploys/{uuid}:
    delete:
      operationId: deleteDeployByUuid
      parameters:
      - description: The tag (`x-cortex-tag`) or unique, auto-generated identifier (CID) for the entity. If the tag contains forward slashes, URL-encode each `/` as `%2F`. The tag is matched exactly as encoded, including leading, trailing, and consecutive slashes, which are preserved and not collapsed (for example, the tag `/services/payments-api` is referenced as `%2Fservices%2Fpayments-api`). Tags containing slashes are supported via the API but not in the Cortex UI; this difference is expected.
        in: path
        name: tagOrId
        required: true
        schema:
          type: string
          description: Entity identifier - can be a tag or CID
      - in: path
        name: uuid
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomDeploy'
          description: Successfully deleted deployment
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Entity or deployment not found
        '429':
          $ref: '#/components/responses/TooManyRequests'
      summary: Delete deployment by UUID
      tags:
      - Deploys
      x-cortex-mcp-description: Delete a specific deployment. Disabled for MCP access to preserve deployment history
      x-cortex-mcp-enabled: 'false'
    put:
      operationId: updateDeployByUuid
      parameters:
      - description: The tag (`x-cortex-tag`) or unique, auto-generated identifier (CID) for the entity. If the tag contains forward slashes, URL-encode each `/` as `%2F`. The tag is matched exactly as encoded, including leading, trailing, and consecutive slashes, which are preserved and not collapsed (for example, the tag `/services/payments-api` is referenced as `%2Fservices%2Fpayments-api`). Tags containing slashes are supported via the API but not in the Cortex UI; this difference is expected.
        in: path
        name: tagOrId
        required: true
        schema:
          type: string
          description: Entity identifier - can be a tag or CID
      - in: path
        name: uuid
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SaveDeployRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomDeploy'
          description: Successfully updated deployment
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Entity or deployment not found
        '429':
          $ref: '#/components/responses/TooManyRequests'
      summary: Update deployment by UUID
      tags:
      - Deploys
      x-cortex-mcp-description: Replace a deployment record, found by its UUID, with the request body. Every field is overwritten and fields you omit are cleared, so send the full record. Returns 404 if the entity or deployment does not exist. Does not create a record.
      x-cortex-mcp-enabled: 'true'
  /api/v1/deploys/environments:
    get:
      operationId: listDeployEnvironments
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeployEnvironmentsResponse'
          description: OK
        '429':
          $ref: '#/components/responses/TooManyRequests'
      summary: List all distinct deploy environments for this tenant
      tags:
      - Deploys
      x-cortex-mcp-description: List all distinct deploy environment names for this tenant. Use before getDeploysForEntity to pass the correct environment values.
      x-cortex-mcp-enabled: 'true'
  /api/v1/deploys/search:
    get:
      operationId: searchDeploys
      parameters:
      - description: Filter by environment names (exact match, any of)
        in: query
        name: environments
        required: false
        schema:
          type: array
          items:
            type: string
      - description: 'Filter by deploy types: DEPLOY, ROLLBACK, SCALE, RESTART'
        in: query
        name: types
        required: false
        schema:
          type: array
          items:
            type: string
            enum:
            - DEPLOY
            - SCALE
            - ROLLBACK
            - RESTART
      - description: Filter to these entity tags or CIDs (any of)
        in: query
        name: entityTagOrIds
        required: false
        schema:
          type: array
          items:
            type: string
      - description: Only deploys at or after this timestamp (UTC, e.g. 2026-06-22T00:00:00)
        in: query
        name: timestampAfter
        required: false
        schema:
          type: string
          format: date-time
      - description: Only deploys at or before this timestamp (UTC, e.g. 2026-06-22T00:00:00)
        in: query
        name: timestampBefore
        required: false
        schema:
          type: string
          format: date-time
      - description: Number of results to return per page, between 1 and 1000. Default 250.
        in: query
        name: pageSize
        required: true
        schema:
          type: integer
          format: int32
          default: 250
      - description: Page number to return, 0-indexed. Default 0.
        in: query
        name: page
        required: true
        schema:
          type: integer
          format: int32
          default: 0
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomDeployListPaginatedResponse'
          description: OK
        '429':
          $ref: '#/components/responses/TooManyRequests'
      summary: Search deployments across the tenant
      tags:
      - Deploys
      x-cortex-mcp-description: 'Get deployments with server-side filtering (environment, type, entity, time range). Pass entityTagOrIds=[''my-tag''] to get deployments for a single entity, or omit it to search tenant-wide.


        Environments are matched exactly — call listDeployEnvironments first to discover values (e.g. ''prod'' vs ''prod2ndmd'').'
      x-cortex-mcp-enabled: 'true'
components:
  schemas:
    SaveDeployRequest:
      required:
      - timestamp
      - title
      - type
      type: object
      properties:
        customData:
          type: object
          additionalProperties:
            type: object
        deployer:
          $ref: '#/components/schemas/Deployer'
        environment:
          type: string
        sha:
          type: string
        timestamp:
          type: string
          format: date-time
        title:
          type: string
        type:
          type: string
          enum:
          - DEPLOY
          - SCALE
          - ROLLBACK
          - RESTART
        url:
          type: string
    Deployer:
      type: object
      properties:
        email:
          type: string
        name:
          type: string
    CustomDeploy1:
      required:
      - timestamp
      - title
      - type
      - uuid
      type: object
      properties:
        customData:
          type: object
          additionalProperties:
            type: object
            description: Arbitrary string-to-any map of custom data about the deploy event
          description: Arbitrary string-to-any map of custom data about the deploy event
        deployer:
          $ref: '#/components/schemas/Deployer'
        deployerEmail:
          type: string
          description: Replaced with Deployer object
          deprecated: true
        deployerName:
          type: string
          description: Replaced with Deployer object
          deprecated: true
        environment:
          type: string
        sha:
          type: string
          description: Optional commit SHA hash that this deploy corresponds to
        timestamp:
          type: string
          description: ISO8601 timestamp string in UTC
          format: date-time
        title:
          type: string
          description: Human readable title for the deploy. This is usually the commit message or PR title.
        type:
          type: string
          enum:
          - DEPLOY
          - SCALE
          - ROLLBACK
          - RESTART
        url:
          type: string
          description: Optional URL associated with deployment
          example: https://cortex.io
        uuid:
          type: string
          format: uuid
    ErrorResponse:
      required:
      - message
      - type
      type: object
      properties:
        details:
          type: string
        errorCode:
          type: string
        gatewayHttpStatus:
          type: integer
          format: int32
        httpStatus:
          type: integer
          format: int32
        message:
          type: string
        requestId:
          type: string
        type:
          type: string
          enum:
          - INTEGRATION_MISSING
          - INTEGRATION_UNREGISTERED
          - INTEGRATION_UNSUPPORTED
          - INTEGRATION_GRAPHQL_ERROR
          - INTEGRATION_BAD_REQUEST
          - INTEGRATION_UNAUTHORIZED
          - INTEGRATION_FORBIDDEN
          - INTEGRATION_NOT_FOUND
          - INTEGRATION_UNPROCESSABLE_CONTENT
          - INTEGRATION_RATE_LIMITED
          - INTEGRATION_INTERNAL_ERROR
          - INTEGRATION_NOT_IMPLEMENTED
          - INTEGRATION_BAD_GATEWAY
          - INTEGRATION_UNAVAILABLE
          - INTEGRATION_GATEWAY_TIMEOUT
          - INTEGRATION_TIMED_OUT
          - INTEGRATION_CACHE_ERROR
          - INTEGRATION_UNHANDLED_HTTP_ERROR
          - INTEGRATION_UNHANDLED_EXCEPTION
          - INTEGRATION_UNEXPECTED_ERROR
          - ILLEGAL_ARGUMENT_ERROR
          - BAD_REQUEST
          - FORBIDDEN
          - NOT_FOUND
          - REQUEST_TIMEOUT
          - CONFLICT
          - UNHANDLED_EXCEPTION
          - UNCATEGORIZED
          - SERVICE_CREATOR
          - UNKNOWN_HOST
          - TOO_MANY_REQUESTS
    DeployEnvironmentsResponse:
      required:
      - environments
      type: object
      properties:
        environments:
          type: array
          items:
            type: string
    CustomDeployListPaginatedResponse:
      required:
      - deployments
      - page
      - total
      - totalPages
      type: object
      properties:
        deployments:
          type: array
          items:
            $ref: '#/components/schemas/CustomDeploy1'
        page:
          type: integer
          description: Current page number, 0-indexed
          format: int32
        total:
          type: integer
          description: Total number of results
          format: int32
        totalPages:
          type: integer
          description: Total number of pages
          format: int32
    CustomDeploy:
      required:
      - serviceId
      - timestamp
      - title
      - type
      - uuid
      type: object
      properties:
        customData:
          type: object
          additionalProperties:
            type: object
        deployerEmail:
          type: string
        deployerName:
          type: string
        environment:
          type: string
        id:
          type: integer
          format: int64
        serviceId:
          type: integer
          format: int64
        sha:
          type: string
        timestamp:
          type: string
          format: date-time
        title:
          type: string
        type:
          type: string
          enum:
          - DEPLOY
          - SCALE
          - ROLLBACK
          - RESTART
        url:
          type: string
        uuid:
          type: string
          format: uuid
    DeploysResponse:
      required:
      - deploys
      type: object
      properties:
        deploys:
          type: array
          items:
            $ref: '#/components/schemas/CustomDeploy1'
    TooManyRequestsProblemDetail:
      required:
      - type
      - title
      - status
      type: object
      properties:
        detail:
          type: string
        instance:
          type: string
          format: uri-reference
        retryAfter:
          minimum: 0
          type: integer
          description: The number of seconds until the rate limiting resets.
          format: int32
        status:
          maximum: 599
          minimum: 100
          type: integer
          format: int32
          enum:
          - 429
        title:
          type: string
        type:
          type: string
          format: uri-reference
  responses:
    TooManyRequests:
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/TooManyRequestsProblemDetail'
      description: The client has exceeded the rate limit by performing too many requests in a short period. Retry the request after a delay.
      headers:
        Retry-After:
          description: The number of seconds until the rate limiting resets.
          schema:
            minimum: 0
            type: integer
            format: int32
  securitySchemes:
    bearerAuth:
      bearerFormat: JWT
      description: 'All requests to the Cortex API need to provide an `Authorization: Bearer <token>` header, where `<token>` is an API key created in the Settings page of your workspace.'
      scheme: bearer
      type: http
x-provenance:
  method: harvested
  publisher: Cortex
  source: https://docs.cortex.io/openapi/cortex_swagger.json
  note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
    stamped by stamp-openapi-provenance.py (roadmap#793)