Twilio Operations API

Retrieve the status and result of asynchronous operations. Write endpoints that trigger long-running processes return an operation ID that can be used here to check status.

Operations 2

GET /v2/ControlPlane/Operations/{operationId} Get Operation Status #
GET /v1/ControlPlane/Operations/{operationId} Get Operation Status #

Documentation

📖
Documentation
https://www.twilio.com/docs/iam/api/account
📖
Documentation
https://www.twilio.com/en-us/blog/insights/ai/what-is-intelligent-virtual-assistant
📖
Documentation
https://www.twilio.com/docs
📖
Documentation
https://www.twilio.com/docs/conversations
📖
Documentation
https://www.twilio.com/docs/marketplace
📖
Documentation
https://www.twilio.com/en-us/messaging
📖
Documentation
https://www.twilio.com/en-us/user-authentication-identity/verify
📖
Documentation
https://www.twilio.com/docs/video
📖
Documentation
https://www.twilio.com/en-us/voice
📖
Documentation
https://www.twilio.com/docs/lookup
📖
Documentation
https://www.twilio.com/docs/flex
📖
Documentation
https://www.twilio.com/docs/sendgrid
📖
Documentation
https://www.twilio.com/docs/iam/scim/api-reference
📖
Documentation
https://www.twilio.com/docs/iam/oauth-apps/account-oauth-apps
📖
Documentation
https://www.twilio.com/docs/iam/oauth-apps/oauth-access-token
📖
Documentation
https://www.twilio.com/docs/iam/oauth-apps/overview
📖
Documentation
https://www.twilio.com/docs/conversations/memory/api-quickstart
📖
Documentation
https://www.twilio.com/docs/conversations/knowledge
📖
Documentation
https://www.twilio.com/docs/conversational-intelligence
📖
Documentation
https://www.twilio.com/docs/voice
📖
Documentation
https://www.twilio.com/docs/voice/voice-insights
📖
Documentation
https://www.twilio.com/docs/global-infrastructure
📖
Documentation
https://www.twilio.com/docs/messaging
📖
Documentation
https://www.twilio.com/docs/phone-numbers
📖
Documentation
https://www.twilio.com/docs/content
📖
Documentation
https://www.twilio.com/docs/chat

Specifications

Other Resources

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/twilio:twilio-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

twilio-operations-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Twilio Operations API
  version: '1.0'
  contact:
    name: Twilio Support
    url: https://support.twilio.com
    email: support@twilio.com
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
  termsOfService: https://www.twilio.com/legal/tos
  x-twilio:
    apiStandards: v1.0
  description: 'Operations tagged Operations across 2 of this provider''s published API definitions: knowledge-openapi-original.yml, memory-openapi-original.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://knowledge.twilio.com
- url: https://memory.twilio.com
security:
- accountSid_authToken: []
tags:
- name: Operations
  description: Retrieve the status and result of asynchronous operations. Write endpoints that trigger long-running processes return an operation ID that can be used here to check status.
paths:
  /v2/ControlPlane/Operations/{operationId}:
    servers:
    - url: https://knowledge.twilio.com
    parameters:
    - name: operationId
      in: path
      required: true
      schema:
        type: string
        maxLength: 512
      description: The operation ID returned from a write endpoint.
    x-twilio:
      pathType: instance
    get:
      operationId: FetchOperation
      summary: Get Operation Status
      description: Retrieve the status and result of an asynchronous operation.
      tags:
      - Operations
      responses:
        '200':
          description: Operation status retrieved successfully.
          headers:
            Operation-Id:
              $ref: '#/components/headers/OperationId'
            Retry-After:
              $ref: '#/components/headers/OperationRetryAfter'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OperationStatus'
        '400':
          $ref: '#/components/responses/BadRequest'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
  /v1/ControlPlane/Operations/{operationId}:
    servers:
    - url: https://memory.twilio.com
    parameters:
    - name: operationId
      in: path
      required: true
      schema:
        type: string
        maxLength: 512
      description: The operation ID returned from a write endpoint.
    x-twilio:
      pathType: instance
    get:
      operationId: getV1ControlPlaneOperationsByOperationId
      summary: Get Operation Status
      description: Retrieve the status and result of an asynchronous operation.
      tags:
      - Operations
      responses:
        '200':
          description: Operation status retrieved successfully.
          headers:
            Operation-Id:
              $ref: '#/components/headers/OperationId'
            Retry-After:
              $ref: '#/components/headers/OperationRetryAfter'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OperationStatus'
        '400':
          $ref: '#/components/responses/BadRequest'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
      x-operation-id-source: normalized
      x-operation-id-original: FetchOperation
components:
  schemas:
    OperationResult:
      description: Operation-specific output. Present when status is COMPLETED.
      oneOf:
      - $ref: '#/components/schemas/OperationResultResourceId'
      discriminator:
        propertyName: type
        mapping:
          RESOURCE_ID: '#/components/schemas/OperationResultResourceId'
    OperationStatus:
      type: object
      additionalProperties: false
      required:
      - operationId
      - status
      - createdAt
      properties:
        operationId:
          type: string
          description: The unique identifier for this operation.
          maxLength: 512
        status:
          type: string
          description: The current status of the operation.
          enum:
          - PENDING
          - RUNNING
          - CANCELLED
          - COMPLETED
          - FAILED
          example: COMPLETED
        createdAt:
          type: string
          format: date-time
          description: When the operation was created.
          example: '2025-11-14T20:29:21Z'
        statusUrl:
          type: string
          format: uri
          description: URI to check operation status.
        completedAt:
          type: string
          format: date-time
          description: When the operation completed or failed.
        result:
          $ref: '#/components/schemas/OperationResult'
        error:
          type: object
          properties:
            type:
              type: string
              format: uri
              description: A URI reference identifying the problem type.
            title:
              type: string
              maxLength: 128
              description: A short, human-readable summary of the problem type.
            code:
              type: integer
              description: The numeric Twilio error code.
            detail:
              type: string
              maxLength: 1024
              description: A human-readable explanation specific to this occurrence of the problem.
        resultUrl:
          type: string
          format: uri
          description: URL to fetch the resulting resource.
    TwilioError:
      type: object
      additionalProperties: false
      maxProperties: 10
      description: A generic error object communicating client and server side API errors.
      properties:
        code:
          type: integer
          minimum: 100
          maximum: 999999
          description: The Twilio error code.
          format: int32
        message:
          type: string
          maxLength: 1024
          description: A human readable message describing the error.
        more_info:
          type: string
          description: A URL to a [Twilio error directory](https://www.twilio.com/docs/api/errors) page with more information about the error code.
        status:
          type: integer
          minimum: 100
          maximum: 599
          description: The HTTP status code for the error.
          format: int32
      example:
        code: 21614
        message: The address specified in the request is not a valid phone number.
        more_info: https://www.twilio.com/docs/api/errors/21614
        status: 400
    OperationResultResourceId:
      type: object
      properties:
        id:
          type: string
          maxLength: 128
          description: The identifier of the created or affected resource.
        type:
          type: string
          enum:
          - RESOURCE_ID
      required:
      - type
      - id
  responses:
    ServiceUnavailable:
      description: Service Unavailable
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/TwilioError'
          example:
            code: 20503
            message: Service Unavailable
            more_info: https://www.twilio.com/docs/api/errors/20503
            status: 503
    TooManyRequests:
      description: This error indicates that you have sent too many requests to the API. You should retry according to the `Retry-After` response header.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/TwilioError'
          example:
            code: 20429
            message: Too many requests. Please retry according to the Retry-After response header.
            more_info: https://www.twilio.com/docs/api/errors/20429
            status: 429
      headers:
        Retry-After:
          description: The amount of time in seconds that the customer should wait before issuing a new request towards the API.
          schema:
            type: string
            pattern: ^[0-9]+$
    BadRequest:
      description: Bad Request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/TwilioError'
          example:
            code: 400
            message: Failed to complete request due to a bad request
            more_info: https://www.twilio.com/docs/api/errors/400
            status: 400
    InternalServerError:
      description: Internal Server Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/TwilioError'
          example:
            code: 20500
            message: Internal Server Error
            more_info: https://www.twilio.com/docs/api/errors/20500
            status: 500
    NotFound:
      description: Not Found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/TwilioError'
          example:
            code: 20404
            message: Not Found
            more_info: https://www.twilio.com/docs/api/errors/20404
            status: 404
  headers:
    OperationId:
      description: The operation identifier.
      schema:
        type: string
        maxLength: 512
    OperationRetryAfter:
      description: Suggested number of seconds to wait before checking status again.
      schema:
        type: integer
  securitySchemes:
    accountSid_authToken:
      scheme: basic
      type: http
    basic_apikey_or_accountsid:
      scheme: basic
      type: http
      description: This API uses [basic authentication](https://www.twilio.com/docs/glossary/what-is-basic-authentication). Use an [API key](https://www.twilio.com/docs/iam/api-keys) as the username and the API key secret as the password. You can also use your account SID and auth token, but limit their use to local testing.
x-refined-from:
- knowledge-openapi-original.yml
- memory-openapi-original.yml
x-maturity:
- name: GA
  description: This product is Generally Available.
- name: Beta
  description: PLEASE NOTE that this is a Beta product that is subject to change. Use it with caution.