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.
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
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: $.