RingCentral · Capability

RingCentral API — High Volume SMS

RingCentral API — High Volume SMS. 8 operations. Lead operation: Send A2P SMS. Self-contained Naftiko capability covering one Ringcentral business surface.

Run with Naftiko RingcentralHigh Volume SMS

What You Can Do

POST
Createa2psms — Send A2P SMS
/v1/restapi/v1-0/account/{accountid}/a2p-sms/batches
GET
Lista2pbatches — List A2P SMS Batches
/v1/restapi/v1-0/account/{accountid}/a2p-sms/batches
GET
Reada2pbatch — Get A2P SMS Batch
/v1/restapi/v1-0/account/{accountid}/a2p-sms/batches/{batchid}
GET
Lista2psms — List A2P SMS Messages
/v1/restapi/v1-0/account/{accountid}/a2p-sms/messages
GET
Reada2psms — Get A2P SMS
/v1/restapi/v1-0/account/{accountid}/a2p-sms/messages/{messageid}
GET
Reada2psmsoptouts — List Opted Out Numbers
/v1/restapi/v1-0/account/{accountid}/a2p-sms/opt-outs
POST
Adda2psmsoptouts — Add Opt-In/Out Numbers
/v1/restapi/v1-0/account/{accountid}/a2p-sms/opt-outs/bulk-assign
GET
Aggregatea2psmsstatuses — List A2P SMS Statuses
/v1/restapi/v1-0/account/{accountid}/a2p-sms/statuses

MCP Tools

send-a2p-sms

Send A2P SMS

list-a2p-sms-batches

List A2P SMS Batches

read-only idempotent
get-a2p-sms-batch

Get A2P SMS Batch

read-only idempotent
list-a2p-sms-messages

List A2P SMS Messages

read-only idempotent
get-a2p-sms

Get A2P SMS

read-only idempotent
list-opted-out-numbers

List Opted Out Numbers

read-only idempotent
add-opt-out-numbers

Add Opt-In/Out Numbers

list-a2p-sms-statuses

List A2P SMS Statuses

read-only idempotent

Capability Spec

platform-high-volume-sms.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: RingCentral API — High Volume SMS
  description: 'RingCentral API — High Volume SMS. 8 operations. Lead operation: Send A2P SMS. Self-contained Naftiko capability
    covering one Ringcentral business surface.'
  tags:
  - Ringcentral
  - High Volume SMS
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    RINGCENTRAL_API_KEY: RINGCENTRAL_API_KEY
capability:
  consumes:
  - type: http
    namespace: platform-high-volume-sms
    baseUri: https://platform.ringcentral.com
    description: RingCentral API — High Volume SMS business capability. Self-contained, no shared references.
    resources:
    - name: restapi-v1.0-account-accountId-a2p-sms-batches
      path: /restapi/v1.0/account/{accountId}/a2p-sms/batches
      operations:
      - name: createa2psms
        method: POST
        description: Send A2P SMS
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: lista2pbatches
        method: GET
        description: List A2P SMS Batches
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: from
          in: query
          type: string
          description: Phone number in E.164 format from which the messages are going to be sent
        - name: status
          in: query
          type: array
          description: A list of batch statuses to filter the results
        - name: pageToken
          in: query
          type: string
          description: The page token of the page to be retrieved
        - name: perPage
          in: query
          type: integer
          description: The number of records to be returned per page
    - name: restapi-v1.0-account-accountId-a2p-sms-batches-batchId
      path: /restapi/v1.0/account/{accountId}/a2p-sms/batches/{batchId}
      operations:
      - name: reada2pbatch
        method: GET
        description: Get A2P SMS Batch
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: restapi-v1.0-account-accountId-a2p-sms-messages
      path: /restapi/v1.0/account/{accountId}/a2p-sms/messages
      operations:
      - name: lista2psms
        method: GET
        description: List A2P SMS Messages
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: view
          in: query
          type: string
          description: Indicates if the response has to be detailed, includes text in the response if detailed
        - name: phoneNumber
          in: query
          type: array
          description: List of phone numbers (specified in 'to' or 'from' fields of a message) to filter the results. Maximum
            number of phone numbers allowed to be specified as filter
        - name: pageToken
          in: query
          type: string
          description: The page token of the page to be retrieved.
        - name: perPage
          in: query
          type: integer
          description: The number of messages to be returned per request
    - name: restapi-v1.0-account-accountId-a2p-sms-messages-messageId
      path: /restapi/v1.0/account/{accountId}/a2p-sms/messages/{messageId}
      operations:
      - name: reada2psms
        method: GET
        description: Get A2P SMS
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: messageId
          in: path
          type: string
          description: Internal identifier of a message to be retrieved
          required: true
    - name: restapi-v1.0-account-accountId-a2p-sms-opt-outs
      path: /restapi/v1.0/account/{accountId}/a2p-sms/opt-outs
      operations:
      - name: reada2psmsoptouts
        method: GET
        description: List Opted Out Numbers
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: from
          in: query
          type: string
          description: The sender's phone number in [E.164](https://www.itu.int/rec/T-REC-E.164-201011-I) format for filtering
            messages.
        - name: to
          in: query
          type: string
          description: The receiver's phone number (`to` field) in [E.164](https://www.itu.int/rec/T-REC-E.164-201011-I) format
            for filtering messages
        - name: status
          in: query
          type: string
          description: The status (opted out, opted in, or both) to be used as the filter
        - name: pageToken
          in: query
          type: string
          description: The page token of the page to be retrieved
        - name: perPage
          in: query
          type: integer
          description: The number of records to be returned for the page
    - name: restapi-v1.0-account-accountId-a2p-sms-opt-outs-bulk-assign
      path: /restapi/v1.0/account/{accountId}/a2p-sms/opt-outs/bulk-assign
      operations:
      - name: adda2psmsoptouts
        method: POST
        description: Add Opt-In/Out Numbers
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: restapi-v1.0-account-accountId-a2p-sms-statuses
      path: /restapi/v1.0/account/{accountId}/a2p-sms/statuses
      operations:
      - name: aggregatea2psmsstatuses
        method: GET
        description: List A2P SMS Statuses
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: phoneNumber
          in: query
          type: array
          description: List of phone numbers (specified in 'to' or 'from' fields of a message) to filter the results. Maximum
            number of phone numbers allowed to be specified as filter
    authentication:
      type: bearer
      token: '{{env.RINGCENTRAL_API_KEY}}'
  exposes:
  - type: rest
    namespace: platform-high-volume-sms-rest
    port: 8080
    description: REST adapter for RingCentral API — High Volume SMS. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/restapi/v1-0/account/{accountid}/a2p-sms/batches
      name: restapi-v1-0-account-accountid-a2p-sms-batches
      description: REST surface for restapi-v1.0-account-accountId-a2p-sms-batches.
      operations:
      - method: POST
        name: createa2psms
        description: Send A2P SMS
        call: platform-high-volume-sms.createa2psms
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: lista2pbatches
        description: List A2P SMS Batches
        call: platform-high-volume-sms.lista2pbatches
        with:
          from: rest.from
          status: rest.status
          pageToken: rest.pageToken
          perPage: rest.perPage
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/restapi/v1-0/account/{accountid}/a2p-sms/batches/{batchid}
      name: restapi-v1-0-account-accountid-a2p-sms-batches-batchid
      description: REST surface for restapi-v1.0-account-accountId-a2p-sms-batches-batchId.
      operations:
      - method: GET
        name: reada2pbatch
        description: Get A2P SMS Batch
        call: platform-high-volume-sms.reada2pbatch
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/restapi/v1-0/account/{accountid}/a2p-sms/messages
      name: restapi-v1-0-account-accountid-a2p-sms-messages
      description: REST surface for restapi-v1.0-account-accountId-a2p-sms-messages.
      operations:
      - method: GET
        name: lista2psms
        description: List A2P SMS Messages
        call: platform-high-volume-sms.lista2psms
        with:
          view: rest.view
          phoneNumber: rest.phoneNumber
          pageToken: rest.pageToken
          perPage: rest.perPage
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/restapi/v1-0/account/{accountid}/a2p-sms/messages/{messageid}
      name: restapi-v1-0-account-accountid-a2p-sms-messages-messageid
      description: REST surface for restapi-v1.0-account-accountId-a2p-sms-messages-messageId.
      operations:
      - method: GET
        name: reada2psms
        description: Get A2P SMS
        call: platform-high-volume-sms.reada2psms
        with:
          messageId: rest.messageId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/restapi/v1-0/account/{accountid}/a2p-sms/opt-outs
      name: restapi-v1-0-account-accountid-a2p-sms-opt-outs
      description: REST surface for restapi-v1.0-account-accountId-a2p-sms-opt-outs.
      operations:
      - method: GET
        name: reada2psmsoptouts
        description: List Opted Out Numbers
        call: platform-high-volume-sms.reada2psmsoptouts
        with:
          from: rest.from
          to: rest.to
          status: rest.status
          pageToken: rest.pageToken
          perPage: rest.perPage
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/restapi/v1-0/account/{accountid}/a2p-sms/opt-outs/bulk-assign
      name: restapi-v1-0-account-accountid-a2p-sms-opt-outs-bulk-assign
      description: REST surface for restapi-v1.0-account-accountId-a2p-sms-opt-outs-bulk-assign.
      operations:
      - method: POST
        name: adda2psmsoptouts
        description: Add Opt-In/Out Numbers
        call: platform-high-volume-sms.adda2psmsoptouts
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/restapi/v1-0/account/{accountid}/a2p-sms/statuses
      name: restapi-v1-0-account-accountid-a2p-sms-statuses
      description: REST surface for restapi-v1.0-account-accountId-a2p-sms-statuses.
      operations:
      - method: GET
        name: aggregatea2psmsstatuses
        description: List A2P SMS Statuses
        call: platform-high-volume-sms.aggregatea2psmsstatuses
        with:
          phoneNumber: rest.phoneNumber
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: platform-high-volume-sms-mcp
    port: 9090
    transport: http
    description: MCP adapter for RingCentral API — High Volume SMS. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: send-a2p-sms
      description: Send A2P SMS
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: platform-high-volume-sms.createa2psms
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: list-a2p-sms-batches
      description: List A2P SMS Batches
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: platform-high-volume-sms.lista2pbatches
      with:
        from: tools.from
        status: tools.status
        pageToken: tools.pageToken
        perPage: tools.perPage
      outputParameters:
      - type: object
        mapping: $.
    - name: get-a2p-sms-batch
      description: Get A2P SMS Batch
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: platform-high-volume-sms.reada2pbatch
      outputParameters:
      - type: object
        mapping: $.
    - name: list-a2p-sms-messages
      description: List A2P SMS Messages
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: platform-high-volume-sms.lista2psms
      with:
        view: tools.view
        phoneNumber: tools.phoneNumber
        pageToken: tools.pageToken
        perPage: tools.perPage
      outputParameters:
      - type: object
        mapping: $.
    - name: get-a2p-sms
      description: Get A2P SMS
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: platform-high-volume-sms.reada2psms
      with:
        messageId: tools.messageId
      outputParameters:
      - type: object
        mapping: $.
    - name: list-opted-out-numbers
      description: List Opted Out Numbers
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: platform-high-volume-sms.reada2psmsoptouts
      with:
        from: tools.from
        to: tools.to
        status: tools.status
        pageToken: tools.pageToken
        perPage: tools.perPage
      outputParameters:
      - type: object
        mapping: $.
    - name: add-opt-out-numbers
      description: Add Opt-In/Out Numbers
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: platform-high-volume-sms.adda2psmsoptouts
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: list-a2p-sms-statuses
      description: List A2P SMS Statuses
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: platform-high-volume-sms.aggregatea2psmsstatuses
      with:
        phoneNumber: tools.phoneNumber
      outputParameters:
      - type: object
        mapping: $.