Airtm Operations API

## Overview The Operations endpoint serves as the central hub for tracking all transaction-related activities within the Airtm Enterprise ecosystem. This comprehensive endpoint consolidates information about **Purchases**, **Pay-ins**, **Payouts**, and **Payments**, providing a unified view of all financial movements between Airtm accounts. ## What are Operations? Operations represent any transaction that involves the movement of funds within the Airtm platform. Every financial activity generates an operation record that can be tracked and monitored through this endpoint. ### Operation Types | Type | Description | Use Case | | ---------------------- | ---------------------------------------------- | ------------------------------------------- | | **Purchases / Payins** | Payments made by users for products/services | E-commerce transactions, service payments | | **Payments / Payouts** | Outgoing payments from your enterprise account | Employee payments, contractor fees, refunds |

Operations 3

GET operations List operations #
GET operations/{operationId} Get operation detail #
GET code/{code} Get operation by code #

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/airtm-operations-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

airtm-operations-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Airtm Enterprise API V1 Operations API
  version: 1.0.0
  description: '## Introduction


    Welcome to Airtm''s Enterprise Payments API - a comprehensive solution for programmatic payment processing that enables organizations worldwide to send and receive payments efficiently and securely.'
servers:
- url: https://payments.air-pay.io
- url: https://payments.static-stg.tests.airtm.org
tags:
- name: Operations
  description: '## Overview


    The Operations endpoint serves as the central hub for tracking all transaction-related activities within the Airtm Enterprise ecosystem.'
paths:
  operations:
    get:
      security:
      - basicAuth: []
      tags:
      - Operations
      summary: List operations
      description: 'An operation is an abstraction of the more specific entities: purchase

        and payout. Operations are used when referring to all of the

        transactions within an account. This schema also applies to the other

        responses under `/operations`.'
      operationId: Operations_operations/list-operations
      parameters: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  currentPage:
                    type: number
                    description: Page currently displayed.
                    example: 1
                  lastPage:
                    type: number
                    description: Number of pages available.
                    example: 5
                  perPage:
                    type: number
                    description: Number of items per page displayed in the response.
                    example: 10
                  total:
                    type: number
                    description: Total operations retrieved.
                    example: 25
                  from:
                    type: number
                    description: Number of first operation retrieved.
                    example: 1
                  to:
                    type: number
                    description: Number of last operation retrieved.
                    example: 10
                  data:
                    type: array
                    description: 'An array of items retrieved, contains all operations

                      available requested, limited by the ''perPage'' parameter.

                      '
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          description: ''
                          example: 57f384ac-c5f7-492a-aaf7-daa928de9b40
                        status:
                          type: string
                          description: ''
                          example: created
                        amount:
                          type: string
                          description: ''
                          example: '1.00'
                        description:
                          type: string
                          description: ''
                          example: Payout test
                        confirmation_uri:
                          type: string
                          description: ''
                          example: https://your.site/success
                        cancel_uri:
                          type: 'null'
                          description: ''
                        code:
                          type: 'null'
                          description: ''
                        airtm_operation_id:
                          type: 'null'
                          description: ''
                        created_at:
                          type: string
                          description: ''
                          example: '2019-03-05T18:48:07.000Z'
                        updated_at:
                          type: string
                          description: ''
                          example: '2019-03-05T18:48:07.000Z'
                        airtm_user_id:
                          type: string
                          description: ''
                          example: d2f17c25-4aa2-46c2-aecb-498ffdd23aa2
                        airtm_user_email:
                          type: string
                          description: ''
                          example: john.doe@gmail.com
                        operation_type:
                          type: string
                          description: ''
                          example: payout
                        failure_uri:
                          type: string
                          description: ''
                          example: https://your.site/failure
                        failure_reason:
                          type: 'null'
                          description: ''
                        callback_uri:
                          type: 'null'
                          description: ''
                        airtm_operation_hash:
                          type: 'null'
                          description: ''
                        partner_id:
                          type: string
                          description: ID of the partner that created the operation.
                          example: 2abf29df-4c6d-4de4-ae55-d26556ac5475
                      required: []
        '403':
          description: Forbidden
          content:
            application/html:
              schema:
                type: object
                properties:
                  raw:
                    type: String
                    description: ''
                    example: '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

                      <HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">

                      <TITLE>ERROR: The request could not be satisfied</TITLE>

                      </HEAD><BODY>

                      <H1>403 ERROR</H1>

                      <H2>The request could not be satisfied.</H2>

                      <HR noshade size="1px">

                      Request blocked.

                      We can''t connect to the server for this app or website at this time. There might be too much traffic or a configuration error. Try again later, or contact the app or website owner.

                      <BR clear="all">

                      If you provide content to customers through CloudFront, you can find steps to troubleshoot and help prevent this error by reviewing the CloudFront documentation.

                      <BR clear="all">

                      <HR noshade size="1px">

                      <PRE>

                      Generated by cloudfront (CloudFront)

                      Request ID: dXlTEB0QOsMHTVtAcDttXa8VxSYBx9HsPSfzJxHh3lwqgYKy6AQmiw==

                      </PRE>

                      <ADDRESS>

                      </ADDRESS>

                      </BODY></HTML>'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: number
                    description: ''
                    example: 500
                  message:
                    type: string
                    description: ''
                    example: Internal server error
  operations/{operationId}:
    get:
      security:
      - basicAuth: []
      tags:
      - Operations
      summary: Get operation detail
      description: 'This endpoint will return an operation corresponding to the specified

        ID. Fields may differ depending on `operation_type` field, which can be

        `purchase` or `payout`. For payout operations, the status included in

        the response can be either `committed` or `completed` depending on

        wether the payout execution has finished or still being carried out.

        Committed status will eventually move to completed. Completed payouts

        will populate the `airtm_operation_hash` related to the completed

        transaction'
      operationId: Operations_operations/get-operation-detail
      parameters:
      - name: operationId
        in: path
        required: false
        schema:
          type: String
          example: ''
          description: ''
          default: ''
        description: ''
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    description: 'Unique identifier automatically generated on operation

                      creation.

                      '
                    example: 5c55efac-2e10-4511-918b-8a27271c074e
                  partner_id:
                    type: string
                    description: ID of the partner who created and committed the operation.
                    example: 2c3e7d5e-0cfb-411f-9e34-78ba4d3b8ce7
                  status:
                    type: string
                    description: 'The status of the operation. Please refer to the Purchases

                      and Payments endpoints to see possible statuses.

                      '
                    example: COMPLETED
                  amount:
                    type: string
                    description: Amount in USD that was transacted in the operation.
                    example: '1.00'
                  description:
                    type: string
                    description: Description of the operation, inputted in the creation.
                    example: Payout test
                  confirmation_uri:
                    type: string
                    description: 'An endpoint / webhook on your server which we will POST

                      the payout JSON to when the payout is successfully

                      completed.

                      '
                    example: http://your.site/payout/success
                  cancel_uri:
                    type: string
                    description: 'An endpoint / webhook on your servers which we will POST

                      the payout JSON to when the payout has been canceled.

                      '
                    example: ''
                  code:
                    type: string
                    description: 'An arbitrary string of the partner’s choosing. Used to

                      identify and correlate Airtm purchases with partner

                      records. Must be unique.

                      '
                    example: ''
                  airtm_operation_id:
                    type: string
                    description: 'Unique identifier for the payout operation within the

                      Airtm system.

                      '
                    example: 1e1042ac-acae-4e7f-91ae-6d4589f8ac9c
                  created_at:
                    type: string
                    description: Datetime of operation creation.
                    example: '2023-06-13T23:37:53.471Z'
                  updated_at:
                    type: string
                    description: Datetime of latest change in the operation.
                    example: '2023-06-13T23:40:09.569Z'
                  airtm_user_id:
                    type: string
                    description: The ID of the user involved in the payout/purchase.
                    example: 3c4ca4b7-36d4-4d05-bb86-12512644c901
                  airtm_user_email:
                    type: string
                    description: 'The email of the user involved in the payout/purchase in

                      Airtm.

                      '
                    example: john.doe@gmail.com
                  operation_type:
                    type: string
                    description: Type of operation, can be 'purchase' or 'payout'.
                    example: payout
                  failure_uri:
                    type: string
                    description: 'An available URL on partner''s servers to POST when payout

                      fails.

                      '
                    example: http://your.site/payout/failure
                  failure_reason:
                    type: string
                    description: This populates with the reason the operation failed.
                    example: ''
                  callback_uri:
                    type: string
                    description: 'An endpoint / webhook on your server which we will POST

                      the purchase JSON to when the purchase is completed.

                      '
                    example: ''
                  airtm_operation_hash:
                    type: string
                    description: 'Unique hash for the payout operation within the Airtm

                      system.

                      '
                    example: ACAEBV4E7FNE91AE
                  reason_code:
                    type: string
                    description: 'This field will be populated if the payout failed or

                      canceled, providing a code to referenced in the codes

                      catalog.

                      '
                    example: ''
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    description: ''
                    properties: {}
                    required: []
                  code:
                    type: string
                    description: ''
                    example: '352015'
                  message:
                    type: string
                    description: ''
                    example: Operation not found
                  displayToUser:
                    type: boolean
                    description: ''
                    example: false
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: ''
                    example: Unprocessable entity
                  messages:
                    type: object
                    description: ''
                    properties:
                      id:
                        type: array
                        description: ''
                        items:
                          type: string
                          description: ''
                          example: 'id must match the following:

                            "/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/"

                            '
                    required: []
  code/{code}:
    get:
      security:
      - basicAuth: []
      tags:
      - Operations
      summary: Get operation by code
      description: 'This endpoint will return an operation corresponding to the specified

        `code` used to create a payout.'
      operationId: Operations_operations/get-operation-by-code
      parameters:
      - name: code
        in: path
        required: false
        schema:
          type: String
          example: ''
          description: ''
          default: ''
        description: ''
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    description: 'Unique identifier automatically generated on operation

                      creation.

                      '
                    example: 5c55efac-2e10-4511-918b-8a27271c074e
                  partner_id:
                    type: string
                    description: ID of the partner who created and committed the operation.
                    example: 2c3e7d5e-0cfb-411f-9e34-78ba4d3b8ce7
                  status:
                    type: string
                    description: 'The status of the operation. Please refer to the Purchases

                      and Payments endpoints to see possible statuses.

                      '
                    example: COMPLETED
                  amount:
                    type: string
                    description: Amount in USD that was transacted in the operation.
                    example: '1.00'
                  description:
                    type: string
                    description: Description of the operation, inputted in the creation.
                    example: Payout test
                  confirmation_uri:
                    type: string
                    description: 'An endpoint / webhook on your server which we will POST

                      the payout JSON to when the payout is successfully

                      completed.

                      '
                    example: http://your.site/payout/success
                  cancel_uri:
                    type: string
                    description: 'An endpoint / webhook on your servers which we will POST

                      the payout JSON to when the payout has been canceled.

                      '
                    example: ''
                  code:
                    type: string
                    description: 'An arbitrary string of the partner’s choosing. Used to

                      identify and correlate Airtm purchases with partner

                      records. Must be unique.

                      '
                    example: ''
                  airtm_operation_id:
                    type: string
                    description: 'Unique identifier for the payout operation within the

                      Airtm system.

                      '
                    example: 1e1042ac-acae-4e7f-91ae-6d4589f8ac9c
                  created_at:
                    type: string
                    description: Datetime of operation creation.
                    example: '2023-06-13T23:37:53.471Z'
                  updated_at:
                    type: string
                    description: Datetime of latest change in the operation.
                    example: '2023-06-13T23:40:09.569Z'
                  airtm_user_id:
                    type: string
                    description: The ID of the user involved in the payout/purchase.
                    example: 3c4ca4b7-36d4-4d05-bb86-12512644c901
                  airtm_user_email:
                    type: string
                    description: 'The email of the user involved in the payout/purchase in

                      Airtm.

                      '
                    example: john.doe@gmail.com
                  operation_type:
                    type: string
                    description: Type of operation, can be 'purchase' or 'payout'.
                    example: payout
                  failure_uri:
                    type: string
                    description: 'An available URL on partner''s servers to POST when payout

                      fails.

                      '
                    example: http://your.site/payout/failure
                  failure_reason:
                    type: string
                    description: This populates with the reason the operation failed.
                    example: ''
                  callback_uri:
                    type: string
                    description: 'An endpoint / webhook on your server which we will POST

                      the purchase JSON to when the purchase is completed.

                      '
                    example: ''
                  airtm_operation_hash:
                    type: string
                    description: 'Unique hash for the payout operation within the Airtm

                      system.

                      '
                    example: ACAEBV4E7FNE91AE
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    description: ''
                    properties: {}
                    required: []
                  code:
                    type: string
                    description: ''
                    example: '352015'
                  message:
                    type: string
                    description: ''
                    example: Operation not found
                  displayToUser:
                    type: boolean
                    description: ''
                    example: false
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: ''
                    example: Unprocessable entity
                  messages:
                    type: object
                    description: ''
                    properties:
                      id:
                        type: array
                        description: ''
                        items:
                          type: string
                          description: ''
                          example: 'id must match the following:

                            "/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/"

                            '
                    required: []
components:
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic