AirOps Executions API

An execution is a single run of an app, it contains the inputs, outputs, and status of the run, and can be used to check the status of the run.

Operations 8

GET /public_api/airops_apps/executions/{execution_uuid} Retrieve an execution #
POST /public_api/airops_apps/{app_uuid}/execute Execute #
POST /public_api/airops_apps/{app_uuid}/async_execute Async Execute #
POST /public_api/airops_apps/{app_uuid}/webhook_async_execute Webhook Async Execute #
PATCH /public_api/airops_apps/executions/{execution_uuid}/cancel Cancel an execution
POST /public_api/airops_apps/executions/{execution_uuid}/retry Retry an execution
PATCH /public_api/airops_apps/executions/{execution_uuid}/feedback Rate an execution
GET /public_api/airops_apps/:airops_app_id/executions Retrieve all executions for an Airops app

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/airops-executions-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 email required.

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

OpenAPI Specification

airops-executions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: V1 Executions API
  version: v1
  description: An execution is a single run of an app, it contains the inputs, outputs, and status of the run, and can be used to check the status of the run.
servers:
- url: https://api.airops.com
  variables:
    defaultHost:
      default: api.airops.com
tags:
- name: Executions
  description: An execution is a single run of an app, it contains the inputs, outputs, and status of the run, and can be used to check the status of the run.
  externalDocs:
    url: https://docs.airops.com/getting-started/welcome/workflow-quick-start
paths:
  /public_api/airops_apps/executions/{execution_uuid}:
    get:
      summary: Retrieve an execution
      description: ' Returns the **execution** with the given uuid. You can use this endpoint to check the status of the execution. '
      tags:
      - Executions
      operationId: getExecution
      parameters:
      - $ref: '#/components/parameters/execution_uuid'
        description: The execution uuid
      security:
      - bearer: []
      responses:
        '401':
          description: Authentication error
        '200':
          description: Execution found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Execution'
              example:
                $ref: '#/components/examples/Execution/value'
  /public_api/airops_apps/{app_uuid}/execute:
    post:
      summary: Execute
      description: " This endpoint allows you to execute an app. You can use this endpoint to execute an app and get the output of the execution.\n\n Preconditions: the app must be **published**.\n\n\n> This endpoint executes the app immediately and returns the result, unless you are at your current capacity, or your app takes more than 10 minutes to run, in which case it will fail.\n\n If you want to execute an app asynchronously, use the [async_execute](#/paths/~1public_api~1airops_apps~1{app_uuid}~1async_execute/post) endpoint.\n\n "
      tags:
      - Executions
      operationId: executeApp
      parameters:
      - $ref: '#/components/parameters/app_uuid'
        description: The app uuid
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                version_slug:
                  type: integer
                  example: '12'
                  description: The version of the app (will use the default version if not provided)
                inputs:
                  type: object
                  example:
                    name: John Doe
                  description: The inputs of the app
              required:
              - inputs
            example:
              inputs:
                name: John Doe
      security:
      - bearer: []
      responses:
        '200':
          description: Execution created
          content:
            application/json:
              schema:
                type: object
                properties:
                  airops_app_execution:
                    $ref: '#/components/schemas/Execution'
              example:
                $ref: '#/components/examples/Execution/value'
        '400':
          description: Invalid input
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: name_input_value can't be blank
        '401':
          description: Authentication error
  /public_api/airops_apps/{app_uuid}/async_execute:
    post:
      summary: Async Execute
      description: " This endpoint allows you to execute an app asynchronously. You can use this endpoint to execute an app and get the execution id to check the status of the execution.\n\n Preconditions: the app must be **published**.\n\n\n> Executions created through this endpoint will be queued and executed at your workspace's capacity.\n\n If you want to execute an app immediately, use the [execute](#/paths/~1public_api~1airops_apps~1{app_uuid}~1execute/post) endpoint.\n\n "
      tags:
      - Executions
      operationId: asyncExecuteApp
      parameters:
      - $ref: '#/components/parameters/app_uuid'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                version_slug:
                  type: integer
                  example: '12'
                  description: The version of the app (will use the default version if not provided)
                inputs:
                  type: object
                  example:
                    name: John Doe
                  description: The inputs of the app
              required:
              - inputs
            example:
              inputs:
                name: John Doe
      security:
      - bearer: []
      responses:
        '200':
          description: Execution created
          content:
            application/json:
              schema:
                type: object
                properties:
                  airops_app_execution:
                    $ref: '#/components/schemas/Execution'
              example:
                id: 22
                status: pending
                airops_apps_version_id: 21
                conversation_id: null
                credits_used: 34
                error_code: null
                error_message: null
                feedback: null
                inputs:
                  name: John Doe
                output: null
                runtime: null
                source: null
                uuid: c3405f16-d0e8-4d5c-8ad9-85ef332c44ee
                workspace_id: 1
                createdAt: 2024-02-01 16:39:28.161000+00:00
                updatedAt: 2024-02-01 16:39:28.161000+00:00
        '400':
          description: Invalid input
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: name_input_value can't be blank
        '401':
          description: Authentication error
  /public_api/airops_apps/{app_uuid}/webhook_async_execute:
    post:
      summary: Webhook Async Execute
      description: " This endpoint allows you to execute an app asynchronously as a webhook for an external service.\n\n The payload of the request will be mapped to the first input of your app.\n\n Preconditions: the app must be **published**.\n\n More information on how to use this endpoint can be found [here](https://airops.gitbook.io/docs/execute/advanced/incoming-webhook). "
      tags:
      - Executions
      operationId: WebhookAsyncExecuteApp
      parameters:
      - $ref: '#/components/parameters/app_uuid'
      - name: auth_token
        in: query
        required: true
        schema:
          type: string
          example: 23iu3h23-34n43yib4-3243n34b4-34n434h
          description: Your workspace API key
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                version_slug:
                  type: integer
                  example: '12'
                  description: The version of the app (will use the default version if not provided)
                inputs:
                  type: object
                  example:
                    name: John Doe
                  description: The inputs of the app
              required:
              - inputs
            example:
              inputs:
                name: John Doe
      responses:
        '200':
          description: Execution created
          content:
            application/json:
              schema:
                type: object
                properties:
                  airops_app_execution:
                    $ref: '#/components/schemas/Execution'
              example:
              - $ref: '#/components/examples/Execution/value'
        '400':
          description: Invalid input
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: name_input_value can't be blank
        '401':
          description: Authentication error
  /public_api/airops_apps/executions/{execution_uuid}/cancel:
    patch:
      summary: Cancel an execution
      description: " This endpoint allows you to cancel an execution.\n\n Preconditions: the execution must be in the **pending** or **running** status.\n\n "
      tags:
      - Executions
      parameters:
      - $ref: '#/components/parameters/execution_uuid'
      security:
      - bearer: []
      responses:
        '204':
          description: Execution cancelled
        '401':
          description: Authentication error
  /public_api/airops_apps/executions/{execution_uuid}/retry:
    post:
      summary: Retry an execution
      description: " This endpoint allows you to retry an execution from the last failed step.\n\n Preconditions: the execution must be in the **error** status.\n\n "
      tags:
      - Executions
      parameters:
      - $ref: '#/components/parameters/execution_uuid'
      security:
      - bearer: []
      responses:
        '204':
          description: Execution retried
        '401':
          description: Authentication error
        '400':
          description: Execution is not in error status
  /public_api/airops_apps/executions/{execution_uuid}/feedback:
    patch:
      summary: Rate an execution
      description: " This endpoint allows you to rate an execution.\n\n Preconditions: the execution must be in the **success** status.\n\n "
      tags:
      - Executions
      parameters:
      - $ref: '#/components/parameters/execution_uuid'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                feedback:
                  type: string
                  enum:
                  - positive
                  - neutral
                  - negative
                  example: positive
                  description: The feedback of the execution
              required:
              - feedback
            example:
              feedback: positive
      security:
      - bearer: []
      responses:
        '204':
          description: Feedback sent
        '401':
          description: Authentication error
  /public_api/airops_apps/:airops_app_id/executions:
    get:
      summary: Retrieve all executions for an Airops app
      description: 'Returns all the **executions** for a given Airops app. You can use this endpoint to check the status/input/output of all the executions.

        '
      tags:
      - Executions
      parameters:
      - name: airops_app_id
        in: query
        required: true
        description: The Airops app ID to fetch executions from
        schema:
          type: integer
      - name: cursor
        in: query
        required: false
        description: The cursor value to use for pagination
        schema:
          type: string
      - name: items
        in: query
        required: false
        description: The amount of items to fetch
        schema:
          type: integer
          example: 10
          minimum: 1
          maximum: 100
      security:
      - bearer: []
      responses:
        '401':
          description: Authentication error
        '200':
          description: Executions found
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    description: The list of executions returned
                    items:
                      $ref: '#/components/schemas/Execution'
                  meta:
                    type: object
                    description: Pagination information
                    properties:
                      count:
                        type: integer
                        description: Total amount of records in all pages
                      has_more:
                        type: boolean
                        description: Whether there are more records to fetch
                      cursor:
                        type: string
                        description: Cursor value to use in the next request
              example:
              - $ref: '#/components/examples/AiropsAppExecutions/value'
components:
  examples:
    AiropsAppExecutions:
      value:
        data:
        - id: 22
          status: success
          airops_apps_version_id: 21
          conversation_id: 23
          credits_used: 34
          error_code: null
          error_message: null
          feedback: positive
          inputs:
            name: John Doe
          output:
            greet: Hello John Doe!
          runtime: 34
          source: null
          uuid: c3405f16-d0e8-4d5c-8ad9-85ef332c44ee
          workspace_id: 1
          createdAt: 2024-02-01 16:39:28.161000+00:00
          updatedAt: 2024-02-01 16:39:28.161000+00:00
        meta:
          count: 2
          has_more: true
          cursor: 22
    Execution:
      value:
        id: 22
        status: success
        airops_apps_version_id: 21
        conversation_id: 23
        credits_used: 34
        error_code: null
        error_message: null
        feedback: positive
        inputs:
          name: John Doe
        output:
          greet: Hello John Doe!
        runtime: 34
        source: null
        uuid: c3405f16-d0e8-4d5c-8ad9-85ef332c44ee
        workspace_id: 1
        createdAt: 2024-02-01 16:39:28.161000+00:00
        updatedAt: 2024-02-01 16:39:28.161000+00:00
  parameters:
    execution_uuid:
      name: execution_uuid
      in: path
      required: true
      schema:
        type: string
      description: The execution uuid
    app_uuid:
      name: app_uuid
      in: path
      required: true
      schema:
        type: string
      description: The app uuid, you can find the app uuid by going to the App => Integrate
  schemas:
    Execution:
      type: object
      properties:
        id:
          type: string
        status:
          type: string
          enum:
          - pending
          - running
          - error
          - success
          - cancelled
          - review_needed
          example: success
        airops_apps_version_id:
          type: integer
          example: 21
        conversation_id:
          type: string
          example: 23
        credits_used:
          type: integer
          example: 34
        error_code:
          type: string
          example: null
        error_message:
          example: null
        feedback:
          type: string
          enum:
          - positive
          - neutral
          - negative
        inputs:
          type: object
          example:
            name: John Doe
        output:
          type: object
          example:
            greet: Hello John Doe!
        runtime:
          type: integer
          example: 34
          description: The time it took to execute the app in seconds
        source:
          type: string
        uuid:
          type: string
          maxLength: 36
          minLength: 36
          example: c3405f16-d0e8-4d5c-8ad9-85ef332c44ee
        workspace_id:
          type: integer
          example: 1
        createdAt:
          type: string
          format: date-time
          example: 2024-02-01 16:39:28.161000+00:00
        updatedAt:
          type: string
          format: date-time
          example: 2024-02-01 16:39:28.161000+00:00
      required:
      - id
      - status
      - createdAt
      - updatedAt
  securitySchemes:
    bearer:
      type: http
      scheme: bearer