RingCentral · Capability

RingCentral API — Message Store

RingCentral API — Message Store. 10 operations. Lead operation: List Messages. Self-contained Naftiko capability covering one Ringcentral business surface.

Run with Naftiko RingcentralMessage Store

What You Can Do

GET
Listmessages — List Messages
/v1/restapi/v1-0/account/{accountid}/extension/{extensionid}/message-store
DELETE
Deletemessagebyfilter — Delete Conversation
/v1/restapi/v1-0/account/{accountid}/extension/{extensionid}/message-store
GET
Readmessage — Get Message(s)
/v1/restapi/v1-0/account/{accountid}/extension/{extensionid}/message-store/{messageid}
PUT
Updatemessage — Update Message(s)
/v1/restapi/v1-0/account/{accountid}/extension/{extensionid}/message-store/{messageid}
PATCH
Patchmessage — Patch Message(s)
/v1/restapi/v1-0/account/{accountid}/extension/{extensionid}/message-store/{messageid}
DELETE
Deletemessage — Delete Message
/v1/restapi/v1-0/account/{accountid}/extension/{extensionid}/message-store/{messageid}
GET
Readmessagecontent — Get Message Attachment Content
/v1/restapi/v1-0/account/{accountid}/extension/{extensionid}/message-store/{messageid}/content/{attachmentid}
GET
Syncmessages — Sync Messages
/v1/restapi/v1-0/account/{accountid}/extension/{extensionid}/message-sync
GET
Readmessagestoreconfiguration — Get Message Store Configuration
/v1/restapi/v1-0/account/{accountid}/message-store-configuration
PUT
Updatemessagestoreconfiguration — Update Message Store Configuration
/v1/restapi/v1-0/account/{accountid}/message-store-configuration

MCP Tools

list-messages

List Messages

read-only idempotent
delete-conversation

Delete Conversation

idempotent
get-message-s

Get Message(s)

read-only idempotent
update-message-s

Update Message(s)

idempotent
patch-message-s

Patch Message(s)

idempotent
delete-message

Delete Message

idempotent
get-message-attachment-content

Get Message Attachment Content

read-only idempotent
sync-messages

Sync Messages

read-only idempotent
get-message-store-configuration

Get Message Store Configuration

read-only idempotent
update-message-store-configuration

Update Message Store Configuration

idempotent

Capability Spec

platform-message-store.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: RingCentral API — Message Store
  description: 'RingCentral API — Message Store. 10 operations. Lead operation: List Messages. Self-contained Naftiko capability
    covering one Ringcentral business surface.'
  tags:
  - Ringcentral
  - Message Store
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    RINGCENTRAL_API_KEY: RINGCENTRAL_API_KEY
capability:
  consumes:
  - type: http
    namespace: platform-message-store
    baseUri: https://platform.ringcentral.com
    description: RingCentral API — Message Store business capability. Self-contained, no shared references.
    resources:
    - name: restapi-v1.0-account-accountId-extension-extensionId-message-store
      path: /restapi/v1.0/account/{accountId}/extension/{extensionId}/message-store
      operations:
      - name: listmessages
        method: GET
        description: List Messages
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: availability
          in: query
          type: array
          description: Specifies the availability status for resulting messages.
        - name: conversationId
          in: query
          type: string
          description: Specifies a conversation identifier for the resulting messages
        - name: dateFrom
          in: query
          type: string
          description: Start date/time for resulting messages in ISO 8601 format
        - name: dateTo
          in: query
          type: string
          description: End date/time for resulting messages in ISO 8601 format including
        - name: direction
          in: query
          type: array
          description: Direction for resulting messages. If not specified, both
        - name: distinctConversations
          in: query
          type: boolean
          description: If `true`, then the latest messages per every conversation ID
        - name: messageType
          in: query
          type: array
          description: Type of resulting messages. If not specified, all messages
        - name: readStatus
          in: query
          type: array
          description: Read status for resulting messages. Multiple values are
        - name: page
          in: query
          type: integer
          description: Indicates a page number to retrieve. Only positive number values
        - name: perPage
          in: query
          type: integer
          description: Indicates a page size (number of items)
        - name: phoneNumber
          in: query
          type: string
          description: Phone number. If specified, messages are returned for this
      - name: deletemessagebyfilter
        method: DELETE
        description: Delete Conversation
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: conversationId
          in: query
          type: array
        - name: dateTo
          in: query
          type: string
          description: Messages received earlier then the date specified will be deleted.
        - name: type
          in: query
          type: string
          description: Type of messages to be deleted
    - name: restapi-v1.0-account-accountId-extension-extensionId-message-store-messageId
      path: /restapi/v1.0/account/{accountId}/extension/{extensionId}/message-store/{messageId}
      operations:
      - name: readmessage
        method: GET
        description: Get Message(s)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updatemessage
        method: PUT
        description: Update Message(s)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: patchmessage
        method: PATCH
        description: Patch Message(s)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: deletemessage
        method: DELETE
        description: Delete Message
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: purge
          in: query
          type: boolean
          description: If the value is `true`, then the message is purged immediately
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: restapi-v1.0-account-accountId-extension-extensionId-message-store-messageId-con
      path: /restapi/v1.0/account/{accountId}/extension/{extensionId}/message-store/{messageId}/content/{attachmentId}
      operations:
      - name: readmessagecontent
        method: GET
        description: Get Message Attachment Content
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: messageId
          in: path
          type: string
          required: true
        - name: attachmentId
          in: path
          type: string
          required: true
    - name: restapi-v1.0-account-accountId-extension-extensionId-message-sync
      path: /restapi/v1.0/account/{accountId}/extension/{extensionId}/message-sync
      operations:
      - name: syncmessages
        method: GET
        description: Sync Messages
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: conversationId
          in: query
          type: integer
          description: Conversation identifier for the resulting messages. Meaningful
        - name: dateFrom
          in: query
          type: string
          description: The start date/time for resulting messages in ISO 8601 format
        - name: dateTo
          in: query
          type: string
          description: The end date/time for resulting messages in ISO 8601 format including
        - name: direction
          in: query
          type: array
          description: Direction for the resulting messages. If not specified, both
        - name: distinctConversations
          in: query
          type: boolean
          description: If `true`, then the latest messages per every conversation ID
        - name: messageType
          in: query
          type: array
          description: Type for the resulting messages. If not specified, all types
        - name: recordCount
          in: query
          type: integer
          description: Limits the number of records to be returned (works in combination
        - name: syncToken
          in: query
          type: string
          description: A `syncToken` value from the previous sync response (for `ISync` mode only, mandatory)
        - name: syncType
          in: query
          type: string
          description: Type of message synchronization
        - name: voicemailOwner
          in: query
          type: array
          description: This query parameter will filter voicemail messages based on its owner.
    - name: restapi-v1.0-account-accountId-message-store-configuration
      path: /restapi/v1.0/account/{accountId}/message-store-configuration
      operations:
      - name: readmessagestoreconfiguration
        method: GET
        description: Get Message Store Configuration
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updatemessagestoreconfiguration
        method: PUT
        description: Update Message Store Configuration
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    authentication:
      type: bearer
      token: '{{env.RINGCENTRAL_API_KEY}}'
  exposes:
  - type: rest
    namespace: platform-message-store-rest
    port: 8080
    description: REST adapter for RingCentral API — Message Store. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/restapi/v1-0/account/{accountid}/extension/{extensionid}/message-store
      name: restapi-v1-0-account-accountid-extension-extensionid-message-store
      description: REST surface for restapi-v1.0-account-accountId-extension-extensionId-message-store.
      operations:
      - method: GET
        name: listmessages
        description: List Messages
        call: platform-message-store.listmessages
        with:
          availability: rest.availability
          conversationId: rest.conversationId
          dateFrom: rest.dateFrom
          dateTo: rest.dateTo
          direction: rest.direction
          distinctConversations: rest.distinctConversations
          messageType: rest.messageType
          readStatus: rest.readStatus
          page: rest.page
          perPage: rest.perPage
          phoneNumber: rest.phoneNumber
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletemessagebyfilter
        description: Delete Conversation
        call: platform-message-store.deletemessagebyfilter
        with:
          conversationId: rest.conversationId
          dateTo: rest.dateTo
          type: rest.type
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/restapi/v1-0/account/{accountid}/extension/{extensionid}/message-store/{messageid}
      name: restapi-v1-0-account-accountid-extension-extensionid-message-store-messageid
      description: REST surface for restapi-v1.0-account-accountId-extension-extensionId-message-store-messageId.
      operations:
      - method: GET
        name: readmessage
        description: Get Message(s)
        call: platform-message-store.readmessage
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updatemessage
        description: Update Message(s)
        call: platform-message-store.updatemessage
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: patchmessage
        description: Patch Message(s)
        call: platform-message-store.patchmessage
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletemessage
        description: Delete Message
        call: platform-message-store.deletemessage
        with:
          purge: rest.purge
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/restapi/v1-0/account/{accountid}/extension/{extensionid}/message-store/{messageid}/content/{attachmentid}
      name: restapi-v1-0-account-accountid-extension-extensionid-message-store-messageid-con
      description: REST surface for restapi-v1.0-account-accountId-extension-extensionId-message-store-messageId-con.
      operations:
      - method: GET
        name: readmessagecontent
        description: Get Message Attachment Content
        call: platform-message-store.readmessagecontent
        with:
          messageId: rest.messageId
          attachmentId: rest.attachmentId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/restapi/v1-0/account/{accountid}/extension/{extensionid}/message-sync
      name: restapi-v1-0-account-accountid-extension-extensionid-message-sync
      description: REST surface for restapi-v1.0-account-accountId-extension-extensionId-message-sync.
      operations:
      - method: GET
        name: syncmessages
        description: Sync Messages
        call: platform-message-store.syncmessages
        with:
          conversationId: rest.conversationId
          dateFrom: rest.dateFrom
          dateTo: rest.dateTo
          direction: rest.direction
          distinctConversations: rest.distinctConversations
          messageType: rest.messageType
          recordCount: rest.recordCount
          syncToken: rest.syncToken
          syncType: rest.syncType
          voicemailOwner: rest.voicemailOwner
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/restapi/v1-0/account/{accountid}/message-store-configuration
      name: restapi-v1-0-account-accountid-message-store-configuration
      description: REST surface for restapi-v1.0-account-accountId-message-store-configuration.
      operations:
      - method: GET
        name: readmessagestoreconfiguration
        description: Get Message Store Configuration
        call: platform-message-store.readmessagestoreconfiguration
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updatemessagestoreconfiguration
        description: Update Message Store Configuration
        call: platform-message-store.updatemessagestoreconfiguration
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: platform-message-store-mcp
    port: 9090
    transport: http
    description: MCP adapter for RingCentral API — Message Store. One tool per consumed operation, routed inline through this
      capability's consumes block.
    tools:
    - name: list-messages
      description: List Messages
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: platform-message-store.listmessages
      with:
        availability: tools.availability
        conversationId: tools.conversationId
        dateFrom: tools.dateFrom
        dateTo: tools.dateTo
        direction: tools.direction
        distinctConversations: tools.distinctConversations
        messageType: tools.messageType
        readStatus: tools.readStatus
        page: tools.page
        perPage: tools.perPage
        phoneNumber: tools.phoneNumber
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-conversation
      description: Delete Conversation
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: platform-message-store.deletemessagebyfilter
      with:
        conversationId: tools.conversationId
        dateTo: tools.dateTo
        type: tools.type
      outputParameters:
      - type: object
        mapping: $.
    - name: get-message-s
      description: Get Message(s)
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: platform-message-store.readmessage
      outputParameters:
      - type: object
        mapping: $.
    - name: update-message-s
      description: Update Message(s)
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: platform-message-store.updatemessage
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: patch-message-s
      description: Patch Message(s)
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: platform-message-store.patchmessage
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-message
      description: Delete Message
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: platform-message-store.deletemessage
      with:
        purge: tools.purge
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-message-attachment-content
      description: Get Message Attachment Content
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: platform-message-store.readmessagecontent
      with:
        messageId: tools.messageId
        attachmentId: tools.attachmentId
      outputParameters:
      - type: object
        mapping: $.
    - name: sync-messages
      description: Sync Messages
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: platform-message-store.syncmessages
      with:
        conversationId: tools.conversationId
        dateFrom: tools.dateFrom
        dateTo: tools.dateTo
        direction: tools.direction
        distinctConversations: tools.distinctConversations
        messageType: tools.messageType
        recordCount: tools.recordCount
        syncToken: tools.syncToken
        syncType: tools.syncType
        voicemailOwner: tools.voicemailOwner
      outputParameters:
      - type: object
        mapping: $.
    - name: get-message-store-configuration
      description: Get Message Store Configuration
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: platform-message-store.readmessagestoreconfiguration
      outputParameters:
      - type: object
        mapping: $.
    - name: update-message-store-configuration
      description: Update Message Store Configuration
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: platform-message-store.updatemessagestoreconfiguration
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.