Twilio A2p API

The A2p API from Twilio — 5 operation(s) for a2p.

Documentation

Specifications

Other Resources

🔗
GraphQL
https://raw.githubusercontent.com/api-evangelist/twilio/refs/heads/main/graphql/twilio-graphql.md
🔗
Pricing
https://www.twilio.com/en-us/messaging/pricing/conversations-api
🔗
Pricing
https://www.twilio.com/en-us/sms/pricing/us
🔗
Pricing
https://www.twilio.com/en-us/verify/pricing
🔗
Pricing
https://www.twilio.com/en-us/video/pricing
🔗
Pricing
https://www.twilio.com/en-us/voice/pricing/us
🔗
Pricing
https://www.twilio.com/en-us/user-authentication-identity/pricing/lookup
🔗
Pricing
https://www.twilio.com/en-us/flex/pricing
🔗
Pricing
https://www.twilio.com/en-us/products/email-api/pricing
🔗
APIsJSON
https://raw.githubusercontent.com/api-evangelist/twilio/refs/heads/main/apis.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/twilio/refs/heads/main/arazzo/_index.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/twilio/refs/heads/main/arazzo/twilio-conference-find-and-add-participant-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/twilio/refs/heads/main/arazzo/twilio-conversation-reply-and-track-receipts-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/twilio/refs/heads/main/arazzo/twilio-create-and-confirm-queue-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/twilio/refs/heads/main/arazzo/twilio-create-conversation-add-participant-send-message-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/twilio/refs/heads/main/arazzo/twilio-create-conversation-with-webhook-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/twilio/refs/heads/main/arazzo/twilio-create-video-room-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/twilio/refs/heads/main/arazzo/twilio-end-active-call-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/twilio/refs/heads/main/arazzo/twilio-lookup-phone-number-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/twilio/refs/heads/main/arazzo/twilio-lookup-then-send-message-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/twilio/refs/heads/main/arazzo/twilio-lookup-then-start-verification-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/twilio/refs/heads/main/arazzo/twilio-make-call-track-status-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/twilio/refs/heads/main/arazzo/twilio-provision-messaging-service-add-number-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/twilio/refs/heads/main/arazzo/twilio-record-active-call-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/twilio/refs/heads/main/arazzo/twilio-schedule-and-cancel-message-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/twilio/refs/heads/main/arazzo/twilio-search-and-buy-number-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/twilio/refs/heads/main/arazzo/twilio-send-and-redact-message-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/twilio/refs/heads/main/arazzo/twilio-send-message-track-status-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/twilio/refs/heads/main/arazzo/twilio-send-mms-and-list-media-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/twilio/refs/heads/main/arazzo/twilio-send-via-messaging-service-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/twilio/refs/heads/main/arazzo/twilio-studio-create-flow-and-execute-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/twilio/refs/heads/main/arazzo/twilio-studio-trigger-execution-track-steps-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/twilio/refs/heads/main/arazzo/twilio-sync-document-lifecycle-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/twilio/refs/heads/main/arazzo/twilio-taskrouter-workspace-and-task-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/twilio/refs/heads/main/arazzo/twilio-trigger-studio-execution-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/twilio/refs/heads/main/arazzo/twilio-verify-phone-number-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/twilio/refs/heads/main/arazzo/twilio-verify-provision-service-and-verify-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/twilio/refs/heads/main/arazzo/twilio-verify-start-and-check-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/twilio/refs/heads/main/arazzo/twilio-verify-start-poll-and-cancel-workflow.yml

OpenAPI Specification

twilio-a2p-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Twilio - Accounts A2p API
  description: This is the public Twilio REST API.
  termsOfService: https://www.twilio.com/legal/tos
  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
  version: 1.52.0
servers:
- url: https://accounts.twilio.com
tags:
- name: A2p
paths:
  /v1/a2p/BrandRegistrations/{BrandRegistrationSid}/SmsOtp:
    servers:
    - url: https://messaging.twilio.com
    description: A Messaging Service resource to retry OTP verification for Sole Proprietor Brand Registrations.
    x-twilio:
      defaultOutputProperties:
      - account_sid
      - brand_registration_sid
      pathType: list
      parent: /a2p/BrandRegistrations/{Sid}
      mountName: brand_registration_otps
    post:
      description: ''
      tags:
      - A2p
      parameters:
      - name: BrandRegistrationSid
        in: path
        description: Brand Registration Sid of Sole Proprietor Brand.
        schema:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^BN[0-9a-fA-F]{32}$
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/messaging.v1.brand_registrations.brand_registration_otp'
          description: Created
      security:
      - accountSid_authToken: []
      operationId: CreateBrandRegistrationOtp
      x-maturity:
      - Beta
  /v1/a2p/BrandRegistrations/{Sid}:
    servers:
    - url: https://messaging.twilio.com
    description: A Messaging Service resource to add and fetch Brand Registrations.
    x-twilio:
      defaultOutputProperties:
      - sid
      - date_created
      pathType: instance
      dependentProperties:
        brand_vettings:
          mapping:
            brand_sid: sid
          resource_url: /v1/a2p/BrandRegistrations/{brand_sid}/Vettings
        brand_registration_otps:
          mapping:
            brand_registration_sid: sid
          resource_url: /v1/a2p/BrandRegistrations/{brand_registration_sid}/SmsOtp
    get:
      description: ''
      tags:
      - A2p
      parameters:
      - name: Sid
        in: path
        description: The SID of the Brand Registration resource to fetch.
        schema:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^BN[0-9a-fA-F]{32}$
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/messaging.v1.brand_registrations'
          description: OK
      security:
      - accountSid_authToken: []
      operationId: FetchBrandRegistrations
      x-maturity:
      - Beta
    post:
      description: ''
      tags:
      - A2p
      parameters:
      - name: Sid
        in: path
        description: The SID of the Brand Registration resource to update.
        schema:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^BN[0-9a-fA-F]{32}$
        required: true
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/messaging.v1.brand_registrations'
          description: Accepted
      security:
      - accountSid_authToken: []
      operationId: UpdateBrandRegistrations
      x-maturity:
      - Beta
  /v1/a2p/BrandRegistrations:
    servers:
    - url: https://messaging.twilio.com
    description: A Messaging Service resource to add and fetch Brand Registrations.
    x-twilio:
      defaultOutputProperties:
      - sid
      - date_created
      pathType: list
      dependentProperties:
        brand_vettings:
          mapping:
            brand_sid: sid
          resource_url: /v1/a2p/BrandRegistrations/{brand_sid}/Vettings
        brand_registration_otps:
          mapping:
            brand_registration_sid: sid
          resource_url: /v1/a2p/BrandRegistrations/{brand_registration_sid}/SmsOtp
    get:
      description: ''
      tags:
      - A2p
      parameters:
      - name: PageSize
        in: query
        description: How many resources to return in each list page. The default is 50, and the maximum is 1000.
        schema:
          type: integer
          minimum: 1
          maximum: 1000
      - name: Page
        in: query
        description: The page index. This value is simply for client state.
        schema:
          type: integer
          minimum: 0
      - name: PageToken
        in: query
        description: The page token. This is provided by the API.
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListBrandRegistrationsResponse'
          description: OK
      security:
      - accountSid_authToken: []
      operationId: ListBrandRegistrations
      x-maturity:
      - Beta
    post:
      description: ''
      tags:
      - A2p
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/messaging.v1.brand_registrations'
          description: Created
      security:
      - accountSid_authToken: []
      operationId: CreateBrandRegistrations
      x-maturity:
      - Beta
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CreateBrandRegistrationsRequest'
  /v1/a2p/BrandRegistrations/{BrandSid}/Vettings:
    servers:
    - url: https://messaging.twilio.com
    description: A Messaging Service resource to add and get Brand Vettings.
    x-twilio:
      defaultOutputProperties:
      - account_sid
      - brand_sid
      - brand_vetting_sid
      - date_created
      - date_updated
      - vetting_status
      - vetting_class
      pathType: list
      parent: /a2p/BrandRegistrations/{Sid}
      mountName: brand_vettings
    post:
      description: ''
      tags:
      - A2p
      parameters:
      - name: BrandSid
        in: path
        description: The SID of the Brand Registration resource of the vettings to create .
        schema:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^BN[0-9a-fA-F]{32}$
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/messaging.v1.brand_registrations.brand_vetting'
          description: Created
      security:
      - accountSid_authToken: []
      operationId: CreateBrandVetting
      x-maturity:
      - Beta
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CreateBrandVettingRequest'
    get:
      description: ''
      tags:
      - A2p
      parameters:
      - name: BrandSid
        in: path
        description: The SID of the Brand Registration resource of the vettings to read .
        schema:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^BN[0-9a-fA-F]{32}$
        required: true
      - name: VettingProvider
        in: query
        description: The third-party provider of the vettings to read
        schema:
          type: string
          $ref: '#/components/schemas/brand_vetting_enum_vetting_provider'
      - name: PageSize
        in: query
        description: How many resources to return in each list page. The default is 50, and the maximum is 1000.
        schema:
          type: integer
          minimum: 1
          maximum: 1000
      - name: Page
        in: query
        description: The page index. This value is simply for client state.
        schema:
          type: integer
          minimum: 0
      - name: PageToken
        in: query
        description: The page token. This is provided by the API.
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListBrandVettingResponse'
          description: OK
      security:
      - accountSid_authToken: []
      operationId: ListBrandVetting
      x-maturity:
      - Beta
  /v1/a2p/BrandRegistrations/{BrandSid}/Vettings/{BrandVettingSid}:
    servers:
    - url: https://messaging.twilio.com
    description: A Messaging Service resource to add and get Brand Vettings.
    x-twilio:
      defaultOutputProperties:
      - account_sid
      - brand_sid
      - brand_vetting_sid
      - date_created
      - date_updated
      - vetting_status
      - vetting_class
      pathType: instance
      parent: /a2p/BrandRegistrations/{Sid}
      mountName: brand_vettings
    get:
      description: ''
      tags:
      - A2p
      parameters:
      - name: BrandSid
        in: path
        description: The SID of the Brand Registration resource of the vettings to read .
        schema:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^BN[0-9a-fA-F]{32}$
        required: true
      - name: BrandVettingSid
        in: path
        description: The Twilio SID of the third-party vetting record.
        schema:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^VT[0-9a-fA-F]{32}$
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/messaging.v1.brand_registrations.brand_vetting'
          description: OK
      security:
      - accountSid_authToken: []
      operationId: FetchBrandVetting
      x-maturity:
      - Beta
components:
  schemas:
    ListBrandVettingResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/messaging.v1.brand_registrations.brand_vetting'
        meta:
          type: object
          properties:
            first_page_url:
              type: string
              format: uri
            next_page_url:
              type: string
              format: uri
              nullable: true
            page:
              type: integer
            page_size:
              type: integer
            previous_page_url:
              type: string
              format: uri
              nullable: true
            url:
              type: string
              format: uri
            key:
              type: string
    messaging.v1.brand_registrations:
      type: object
      properties:
        sid:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^BN[0-9a-fA-F]{32}$
          nullable: true
          description: The unique string to identify Brand Registration.
        account_sid:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^AC[0-9a-fA-F]{32}$
          nullable: true
          description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Brand Registration resource.
        customer_profile_bundle_sid:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^BU[0-9a-fA-F]{32}$
          nullable: true
          description: A2P Messaging Profile Bundle BundleSid.
        a2p_profile_bundle_sid:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^BU[0-9a-fA-F]{32}$
          nullable: true
          description: A2P Messaging Profile Bundle BundleSid.
        date_created:
          type: string
          format: date-time
          nullable: true
          description: The date and time in GMT when the resource was created specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
        date_updated:
          type: string
          format: date-time
          nullable: true
          description: The date and time in GMT when the resource was last updated specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
        brand_type:
          type: string
          nullable: true
          description: 'Type of brand. One of: "STANDARD", "SOLE_PROPRIETOR". SOLE_PROPRIETOR is for the low volume, SOLE_PROPRIETOR campaign use case. There can only be one SOLE_PROPRIETOR campaign created per SOLE_PROPRIETOR brand. STANDARD is for all other campaign use cases. Multiple campaign use cases can be created per STANDARD brand.'
        status:
          type: string
          $ref: '#/components/schemas/brand_registrations_enum_status'
          nullable: true
          description: Brand Registration status. One of "PENDING", "APPROVED", "FAILED", "IN_REVIEW", "DELETED".
        tcr_id:
          type: string
          nullable: true
          description: Campaign Registry (TCR) Brand ID. Assigned only after successful brand registration.
        failure_reason:
          type: string
          nullable: true
          description: A reason why brand registration has failed. Only applicable when status is FAILED.
        url:
          type: string
          format: uri
          nullable: true
          description: The absolute URL of the Brand Registration resource.
        brand_score:
          type: integer
          nullable: true
          description: The secondary vetting score if it was done. Otherwise, it will be the brand score if it's returned from TCR. It may be null if no score is available.
        brand_feedback:
          type: array
          items:
            type: string
            $ref: '#/components/schemas/brand_registrations_enum_brand_feedback'
          nullable: true
          description: Feedback on how to improve brand score
        identity_status:
          type: string
          $ref: '#/components/schemas/brand_registrations_enum_identity_status'
          nullable: true
          description: When a brand is registered, TCR will attempt to verify the identity of the brand based on the supplied information.
        russell_3000:
          type: boolean
          nullable: true
          description: Publicly traded company identified in the Russell 3000 Index
        government_entity:
          type: boolean
          nullable: true
          description: Identified as a government entity
        tax_exempt_status:
          type: string
          nullable: true
          description: Nonprofit organization tax-exempt status per section 501 of the U.S. tax code.
        skip_automatic_sec_vet:
          type: boolean
          nullable: true
          description: A flag to disable automatic secondary vetting for brands which it would otherwise be done.
        mock:
          type: boolean
          nullable: true
          description: A boolean that specifies whether brand should be a mock or not. If true, brand will be registered as a mock brand. Defaults to false if no value is provided.
        links:
          type: object
          format: uri-map
          nullable: true
    brand_registrations_enum_brand_feedback:
      type: string
      enum:
      - TAX_ID
      - STOCK_SYMBOL
      - NONPROFIT
      - GOVERNMENT_ENTITY
      - OTHERS
    CreateBrandRegistrationsRequest:
      type: object
      required:
      - CustomerProfileBundleSid
      - A2PProfileBundleSid
      properties:
        CustomerProfileBundleSid:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^BU[0-9a-fA-F]{32}$
          description: Customer Profile Bundle Sid.
        A2PProfileBundleSid:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^BU[0-9a-fA-F]{32}$
          description: A2P Messaging Profile Bundle Sid.
        BrandType:
          type: string
          description: 'Type of brand being created. One of: "STANDARD", "SOLE_PROPRIETOR". SOLE_PROPRIETOR is for low volume, SOLE_PROPRIETOR use cases. STANDARD is for all other use cases.'
        Mock:
          type: boolean
          description: A boolean that specifies whether brand should be a mock or not. If true, brand will be registered as a mock brand. Defaults to false if no value is provided.
        SkipAutomaticSecVet:
          type: boolean
          description: A flag to disable automatic secondary vetting for brands which it would otherwise be done.
    ListBrandRegistrationsResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/messaging.v1.brand_registrations'
        meta:
          type: object
          properties:
            first_page_url:
              type: string
              format: uri
            next_page_url:
              type: string
              format: uri
              nullable: true
            page:
              type: integer
            page_size:
              type: integer
            previous_page_url:
              type: string
              format: uri
              nullable: true
            url:
              type: string
              format: uri
            key:
              type: string
    brand_vetting_enum_vetting_provider:
      type: string
      enum:
      - campaign-verify
    brand_registrations_enum_status:
      type: string
      enum:
      - PENDING
      - APPROVED
      - FAILED
      - IN_REVIEW
      - DELETED
    messaging.v1.brand_registrations.brand_registration_otp:
      type: object
      properties:
        account_sid:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^AC[0-9a-fA-F]{32}$
          nullable: true
          description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Brand Registration resource.
        brand_registration_sid:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^BN[0-9a-fA-F]{32}$
          nullable: true
          description: The unique string to identify Brand Registration of Sole Proprietor Brand
    messaging.v1.brand_registrations.brand_vetting:
      type: object
      properties:
        account_sid:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^AC[0-9a-fA-F]{32}$
          nullable: true
          description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the vetting record.
        brand_sid:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^BN[0-9a-fA-F]{32}$
          nullable: true
          description: The unique string to identify Brand Registration.
        brand_vetting_sid:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^VT[0-9a-fA-F]{32}$
          nullable: true
          description: The Twilio SID of the third-party vetting record.
        date_updated:
          type: string
          format: date-time
          nullable: true
          description: The date and time in GMT when the resource was last updated specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
        date_created:
          type: string
          format: date-time
          nullable: true
          description: The date and time in GMT when the resource was created specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
        vetting_id:
          type: string
          nullable: true
          description: The unique identifier of the vetting from the third-party provider.
        vetting_class:
          type: string
          nullable: true
          description: The type of vetting that has been conducted. One of “STANDARD” (Aegis) or “POLITICAL” (Campaign Verify).
        vetting_status:
          type: string
          nullable: true
          description: The status of the import vetting attempt. One of “PENDING,” “SUCCESS,” or “FAILED”.
        vetting_provider:
          type: string
          $ref: '#/components/schemas/brand_vetting_enum_vetting_provider'
          nullable: true
          description: The third-party provider that has conducted the vetting. One of “CampaignVerify” (Campaign Verify tokens) or “AEGIS” (Secondary Vetting).
        url:
          type: string
          format: uri
          nullable: true
          description: The absolute URL of the Brand Vetting resource.
    brand_registrations_enum_identity_status:
      type: string
      enum:
      - SELF_DECLARED
      - UNVERIFIED
      - VERIFIED
      - VETTED_VERIFIED
    CreateBrandVettingRequest:
      type: object
      required:
      - VettingProvider
      properties:
        VettingProvider:
          type: string
          $ref: '#/components/schemas/brand_vetting_enum_vetting_provider'
          description: The third-party provider of the vettings to create .
        VettingId:
          type: string
          description: The unique ID of the vetting
  securitySchemes:
    accountSid_authToken:
      type: http
      scheme: basic
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.