manage_sms_conversations
Work the SMS inbox on the workspace's dialing numbers: see which numbers can text, read threads and their messages, keep read and archive state, and send a text.
# MCP tool reference
1 callable tools.
Use tools/call at https://mcp.schedulerzero.com/mcp with the exact tool name and arguments below. The /tools/ paths in this view are documentation identifiers, not HTTP endpoints. Request execution is disabled for this reference.
Inputs are shown for personal API keys (bound) and for OAuth/delegated agents. Output schemas describe MCP structuredContent: native objects pass through; arrays, scalars and null use a data wrapper. Text content retains the native JSON result.
[Connect a client](/mcp/connect) · [Authentication and authorization](/authentication) · [Generated auth guide](/auth.md) · [Download tool catalog](/mcp-catalog.json) · [Agent documentation](/llms.txt)
## manage_sms_conversations
Work the SMS inbox on the workspace's dialing numbers: see which numbers can text, read threads and their messages, keep read and archive state, and send a text.
Use to ground a claim about what was texted, to tidy the inbox, or — after a person has approved the wording and the recipient — to send one message from a number the caller owns.
Sending reaches a real phone, costs money, and cannot be recalled. It is refused for a recipient on the Do-Not-Call list or one who has opted out, and for any number the caller does not personally own. Do not send bulk or speculative messages, and do not retry a send with a fresh request id — reuse the original so the retry joins the existing message instead of texting the person twice.
Obtain the user's explicit authorization before invoking a write or destructive action. This is a client interaction requirement, not a server-issued approval token.
Scopes: unibox:read, unibox:reply, dialer:read, dialer:dial
Risk: costly; confirmation: explicit; idempotency: required.
### Input schema (personal API key)
```json
{
"type": "object",
"properties": {
"workspaceId": {
"type": "string",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
},
"action": {
"type": "string",
"enum": [
"list_numbers",
"list_conversations",
"read_conversation",
"mark_read",
"set_archived",
"send"
]
},
"numberId": {
"type": "string",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
},
"counterpartyE164": {
"$ref": "#/$defs/E164PhoneNumber"
},
"conversations": {
"type": "object",
"properties": {
"numberId": {
"type": "string",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
},
"folder": {
"type": "string",
"enum": [
"inbox",
"archived",
"all"
]
},
"search": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"cursor": {
"$ref": "#/$defs/Cursor"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"patternProperties": {
"^(?!(?:numberId|folder|search|cursor|limit)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"numberId",
"folder",
"search",
"cursor",
"limit"
]
}
},
"conversation": {
"type": "object",
"properties": {
"cursor": {
"$ref": "#/$defs/Cursor"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"patternProperties": {
"^(?!(?:cursor|limit)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"cursor",
"limit"
]
}
},
"markRead": {
"type": "object",
"properties": {
"numberId": {
"type": "string",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
},
"counterpartyE164": {
"$ref": "#/$defs/E164PhoneNumber"
},
"seenThroughMessageId": {
"$ref": "#/$defs/SmsMessageId"
}
},
"required": [
"numberId",
"counterpartyE164",
"seenThroughMessageId"
],
"patternProperties": {
"^(?!(?:numberId|counterpartyE164|seenThroughMessageId)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"numberId",
"counterpartyE164",
"seenThroughMessageId"
]
}
},
"setArchived": {
"type": "object",
"properties": {
"numberId": {
"type": "string",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
},
"counterpartyE164": {
"$ref": "#/$defs/E164PhoneNumber"
},
"archived": {
"type": "boolean"
}
},
"required": [
"numberId",
"counterpartyE164",
"archived"
],
"patternProperties": {
"^(?!(?:numberId|counterpartyE164|archived)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"numberId",
"counterpartyE164",
"archived"
]
}
},
"send": {
"type": "object",
"properties": {
"numberId": {
"type": "string",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
},
"toE164": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"body": {
"type": "string",
"minLength": 1,
"maxLength": 1600
}
},
"required": [
"numberId",
"toE164",
"body"
],
"patternProperties": {
"^(?!(?:numberId|toE164|body)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"numberId",
"toE164",
"body"
]
}
}
},
"required": [
"workspaceId",
"action"
],
"patternProperties": {
"^(?!(?:workspaceId|action|numberId|counterpartyE164|conversations|conversation|markRead|setArchived|send)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"workspaceId",
"action",
"numberId",
"counterpartyE164",
"conversations",
"conversation",
"markRead",
"setArchived",
"send"
]
},
"$defs": {
"E164PhoneNumber": {
"type": "string",
"pattern": "^\\+[1-9]\\d{1,14}$"
},
"Cursor": {
"type": "string",
"minLength": 1,
"maxLength": 2048
},
"SmsMessageId": {
"type": "string",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
}
}
}
```
### Input schema (OAuth / delegated agent)
```json
{
"type": "object",
"properties": {
"workspaceId": {
"type": "string",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
},
"action": {
"type": "string",
"enum": [
"list_numbers",
"list_conversations",
"read_conversation",
"mark_read",
"set_archived",
"send"
]
},
"numberId": {
"type": "string",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
},
"counterpartyE164": {
"$ref": "#/$defs/E164PhoneNumber"
},
"conversations": {
"type": "object",
"properties": {
"numberId": {
"type": "string",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
},
"folder": {
"type": "string",
"enum": [
"inbox",
"archived",
"all"
]
},
"search": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"cursor": {
"$ref": "#/$defs/Cursor"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"patternProperties": {
"^(?!(?:numberId|folder|search|cursor|limit)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"numberId",
"folder",
"search",
"cursor",
"limit"
]
}
},
"conversation": {
"type": "object",
"properties": {
"cursor": {
"$ref": "#/$defs/Cursor"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"patternProperties": {
"^(?!(?:cursor|limit)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"cursor",
"limit"
]
}
},
"markRead": {
"type": "object",
"properties": {
"numberId": {
"type": "string",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
},
"counterpartyE164": {
"$ref": "#/$defs/E164PhoneNumber"
},
"seenThroughMessageId": {
"$ref": "#/$defs/SmsMessageId"
}
},
"required": [
"numberId",
"counterpartyE164",
"seenThroughMessageId"
],
"patternProperties": {
"^(?!(?:numberId|counterpartyE164|seenThroughMessageId)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"numberId",
"counterpartyE164",
"seenThroughMessageId"
]
}
},
"setArchived": {
"type": "object",
"properties": {
"numberId": {
"type": "string",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
},
"counterpartyE164": {
"$ref": "#/$defs/E164PhoneNumber"
},
"archived": {
"type": "boolean"
}
},
"required": [
"numberId",
"counterpartyE164",
"archived"
],
"patternProperties": {
"^(?!(?:numberId|counterpartyE164|archived)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"numberId",
"counterpartyE164",
"archived"
]
}
},
"send": {
"type": "object",
"properties": {
"numberId": {
"type": "string",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
},
"toE164": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"body": {
"type": "string",
"minLength": 1,
"maxLength": 1600
}
},
"required": [
"numberId",
"toE164",
"body"
],
"patternProperties": {
"^(?!(?:numberId|toE164|body)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"numberId",
"toE164",
"body"
]
}
}
},
"required": [
"workspaceId",
"action"
],
"patternProperties": {
"^(?!(?:workspaceId|action|numberId|counterpartyE164|conversations|conversation|markRead|setArchived|send)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"workspaceId",
"action",
"numberId",
"counterpartyE164",
"conversations",
"conversation",
"markRead",
"setArchived",
"send"
]
},
"$defs": {
"E164PhoneNumber": {
"type": "string",
"pattern": "^\\+[1-9]\\d{1,14}$"
},
"Cursor": {
"type": "string",
"minLength": 1,
"maxLength": 2048
},
"SmsMessageId": {
"type": "string",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
}
}
}
```
### Output schema (structuredContent)
```json
{
"$defs": {
"E164PhoneNumber": {
"type": "string",
"pattern": "^\\+[1-9]\\d{1,14}$"
},
"LeadStoredText": {
"type": "string",
"maxLength": 65536
},
"UtcDateTimeEncoded": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$"
},
"SmsMessageId": {
"type": "string",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
},
"Cursor": {
"type": "string",
"minLength": 1,
"maxLength": 2048
},
"ShortText": {
"type": "string",
"minLength": 1,
"maxLength": 256
},
"ProviderId": {
"type": "string",
"minLength": 1,
"maxLength": 512
},
"HttpUrl": {
"type": "string",
"minLength": 1,
"maxLength": 2048,
"pattern": "^https?:\\/\\/[^\\s/$.?#][^\\s]*$"
}
},
"type": "object",
"anyOf": [
{
"allOf": [
{
"anyOf": [
{
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
},
"phoneE164": {
"$ref": "#/$defs/E164PhoneNumber"
},
"status": {
"type": "string",
"enum": [
"active",
"warming",
"inactive",
"error",
"alert",
"flagged",
"retired"
]
},
"capabilities": {
"anyOf": [
{
"type": "object",
"properties": {
"voice": {
"type": "boolean"
},
"sms": {
"type": "boolean"
},
"mms": {
"type": "boolean"
}
},
"required": [
"voice",
"sms",
"mms"
],
"patternProperties": {
"^(?!(?:voice|sms|mms)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"voice",
"sms",
"mms"
]
}
},
{
"type": "null"
}
]
},
"assignedUserId": {
"anyOf": [
{
"type": "string",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
},
{
"type": "null"
}
]
},
"assignedToCurrentUser": {
"type": "boolean"
},
"canSend": {
"type": "boolean"
},
"sendBlockedReason": {
"anyOf": [
{
"type": "string",
"enum": [
"dialer_access_required",
"reply_permission_required",
"number_not_assigned",
"number_unavailable",
"recipient_dnc",
"recipient_opted_out",
"self_send"
]
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"phoneE164",
"status",
"capabilities",
"assignedUserId",
"assignedToCurrentUser",
"canSend",
"sendBlockedReason"
],
"patternProperties": {
"^(?!(?:id|phoneE164|status|capabilities|assignedUserId|assignedToCurrentUser|canSend|sendBlockedReason)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"id",
"phoneE164",
"status",
"capabilities",
"assignedUserId",
"assignedToCurrentUser",
"canSend",
"sendBlockedReason"
]
}
}
}
},
"required": [
"items"
],
"patternProperties": {
"^(?!(?:items)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"anyOf": [
{
"type": "string",
"enum": [
"items"
]
}
]
}
},
{
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"numberId": {
"type": "string",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
},
"senderNumber": {
"$ref": "#/$defs/E164PhoneNumber"
},
"counterpartyE164": {
"$ref": "#/$defs/E164PhoneNumber"
},
"displayName": {
"anyOf": [
{
"$ref": "#/$defs/LeadStoredText"
},
{
"type": "null"
}
]
},
"companyName": {
"anyOf": [
{
"$ref": "#/$defs/LeadStoredText"
},
{
"type": "null"
}
]
},
"lastInboundAt": {
"anyOf": [
{
"$ref": "#/$defs/UtcDateTimeEncoded"
},
{
"type": "null"
}
]
},
"unreadCount": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"isUnread": {
"type": "boolean"
},
"archivedAt": {
"anyOf": [
{
"$ref": "#/$defs/UtcDateTimeEncoded"
},
{
"type": "null"
}
]
},
"isArchived": {
"type": "boolean"
},
"lastMessage": {
"type": "object",
"properties": {
"id": {
"$ref": "#/$defs/SmsMessageId"
},
"direction": {
"type": "string",
"enum": [
"inbound",
"outbound"
]
},
"body": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 1600
},
{
"type": "null"
}
]
},
"status": {
"type": "string",
"enum": [
"registered",
"submitting",
"queued",
"sent",
"delivered",
"delivery_failed",
"failed",
"receiving",
"received",
"receive_failed",
"unknown"
]
},
"attemptedAt": {
"$ref": "#/$defs/UtcDateTimeEncoded"
},
"attachmentCount": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"sentByUserId": {
"anyOf": [
{
"type": "string",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"direction",
"body",
"status",
"attemptedAt",
"attachmentCount",
"sentByUserId"
],
"patternProperties": {
"^(?!(?:id|direction|body|status|attemptedAt|attachmentCount|sentByUserId)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"id",
"direction",
"body",
"status",
"attemptedAt",
"attachmentCount",
"sentByUserId"
]
}
}
},
"required": [
"numberId",
"senderNumber",
"counterpartyE164",
"displayName",
"companyName",
"lastInboundAt",
"unreadCount",
"isUnread",
"archivedAt",
"isArchived",
"lastMessage"
],
"patternProperties": {
"^(?!(?:numberId|senderNumber|counterpartyE164|displayName|companyName|lastInboundAt|unreadCount|isUnread|archivedAt|isArchived|lastMessage)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"numberId",
"senderNumber",
"counterpartyE164",
"displayName",
"companyName",
"lastInboundAt",
"unreadCount",
"isUnread",
"archivedAt",
"isArchived",
"lastMessage"
]
}
}
},
"nextCursor": {
"anyOf": [
{
"$ref": "#/$defs/Cursor"
},
{
"type": "null"
}
]
}
},
"required": [
"items",
"nextCursor"
],
"patternProperties": {
"^(?!(?:items|nextCursor)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"items",
"nextCursor"
]
}
},
{
"type": "object",
"properties": {
"conversation": {
"type": "object",
"properties": {
"numberId": {
"type": "string",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
},
"senderNumber": {
"$ref": "#/$defs/E164PhoneNumber"
},
"counterpartyE164": {
"$ref": "#/$defs/E164PhoneNumber"
},
"displayName": {
"anyOf": [
{
"$ref": "#/$defs/LeadStoredText"
},
{
"type": "null"
}
]
},
"companyName": {
"anyOf": [
{
"$ref": "#/$defs/LeadStoredText"
},
{
"type": "null"
}
]
},
"archivedAt": {
"anyOf": [
{
"$ref": "#/$defs/UtcDateTimeEncoded"
},
{
"type": "null"
}
]
},
"isArchived": {
"type": "boolean"
},
"canSend": {
"type": "boolean"
},
"sendBlockedReason": {
"anyOf": [
{
"type": "string",
"enum": [
"dialer_access_required",
"reply_permission_required",
"number_not_assigned",
"number_unavailable",
"recipient_dnc",
"recipient_opted_out",
"self_send"
]
},
{
"type": "null"
}
]
}
},
"required": [
"numberId",
"senderNumber",
"counterpartyE164",
"displayName",
"companyName",
"archivedAt",
"isArchived",
"canSend",
"sendBlockedReason"
],
"patternProperties": {
"^(?!(?:numberId|senderNumber|counterpartyE164|displayName|companyName|archivedAt|isArchived|canSend|sendBlockedReason)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"numberId",
"senderNumber",
"counterpartyE164",
"displayName",
"companyName",
"archivedAt",
"isArchived",
"canSend",
"sendBlockedReason"
]
}
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"$ref": "#/$defs/SmsMessageId"
},
"direction": {
"type": "string",
"enum": [
"inbound",
"outbound"
]
},
"fromE164": {
"$ref": "#/$defs/E164PhoneNumber"
},
"toE164": {
"$ref": "#/$defs/E164PhoneNumber"
},
"body": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 1600
},
{
"type": "null"
}
]
},
"status": {
"type": "string",
"enum": [
"registered",
"submitting",
"queued",
"sent",
"delivered",
"delivery_failed",
"failed",
"receiving",
"received",
"receive_failed",
"unknown"
]
},
"attemptedAt": {
"$ref": "#/$defs/UtcDateTimeEncoded"
},
"deliveredAt": {
"anyOf": [
{
"$ref": "#/$defs/UtcDateTimeEncoded"
},
{
"type": "null"
}
]
},
"failedAt": {
"anyOf": [
{
"$ref": "#/$defs/UtcDateTimeEncoded"
},
{
"type": "null"
}
]
},
"error": {
"anyOf": [
{
"type": "object",
"properties": {
"code": {
"anyOf": [
{
"$ref": "#/$defs/ShortText"
},
{
"type": "null"
}
]
},
"message": {
"anyOf": [
{
"$ref": "#/$defs/ShortText"
},
{
"type": "null"
}
]
}
},
"required": [
"code",
"message"
],
"patternProperties": {
"^(?!(?:code|message)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"code",
"message"
]
}
},
{
"type": "null"
}
]
},
"sentByUserId": {
"anyOf": [
{
"type": "string",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
},
{
"type": "null"
}
]
},
"attachments": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"$ref": "#/$defs/ProviderId"
},
"contentType": {
"$ref": "#/$defs/ShortText"
},
"sizeBytes": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"url": {
"$ref": "#/$defs/HttpUrl"
},
"urlExpiresAt": {
"$ref": "#/$defs/UtcDateTimeEncoded"
}
},
"required": [
"id",
"contentType",
"sizeBytes",
"url",
"urlExpiresAt"
],
"patternProperties": {
"^(?!(?:id|contentType|sizeBytes|url|urlExpiresAt)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"id",
"contentType",
"sizeBytes",
"url",
"urlExpiresAt"
]
}
}
}
},
"required": [
"id",
"direction",
"fromE164",
"toE164",
"body",
"status",
"attemptedAt",
"deliveredAt",
"failedAt",
"error",
"sentByUserId",
"attachments"
],
"patternProperties": {
"^(?!(?:id|direction|fromE164|toE164|body|status|attemptedAt|deliveredAt|failedAt|error|sentByUserId|attachments)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"id",
"direction",
"fromE164",
"toE164",
"body",
"status",
"attemptedAt",
"deliveredAt",
"failedAt",
"error",
"sentByUserId",
"attachments"
]
}
}
},
"nextCursor": {
"anyOf": [
{
"$ref": "#/$defs/Cursor"
},
{
"type": "null"
}
]
}
},
"required": [
"conversation",
"items",
"nextCursor"
],
"patternProperties": {
"^(?!(?:conversation|items|nextCursor)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"conversation",
"items",
"nextCursor"
]
}
},
{
"type": "object",
"properties": {
"readThroughAt": {
"$ref": "#/$defs/UtcDateTimeEncoded"
},
"readThroughMessageId": {
"$ref": "#/$defs/SmsMessageId"
}
},
"required": [
"readThroughAt",
"readThroughMessageId"
],
"patternProperties": {
"^(?!(?:readThroughAt|readThroughMessageId)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"readThroughAt",
"readThroughMessageId"
]
}
},
{
"type": "object",
"properties": {
"archivedAt": {
"anyOf": [
{
"$ref": "#/$defs/UtcDateTimeEncoded"
},
{
"type": "null"
}
]
}
},
"required": [
"archivedAt"
],
"patternProperties": {
"^(?!(?:archivedAt)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"anyOf": [
{
"type": "string",
"enum": [
"archivedAt"
]
}
]
}
},
{
"type": "object",
"properties": {
"messageId": {
"$ref": "#/$defs/SmsMessageId"
},
"status": {
"type": "string",
"enum": [
"registered",
"submitting",
"queued",
"sent",
"delivered",
"delivery_failed",
"failed",
"receiving",
"received",
"receive_failed",
"unknown"
]
},
"deduplicated": {
"type": "boolean"
},
"enqueued": {
"type": "boolean"
}
},
"required": [
"messageId",
"status",
"deduplicated",
"enqueued"
],
"patternProperties": {
"^(?!(?:messageId|status|deduplicated|enqueued)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"messageId",
"status",
"deduplicated",
"enqueued"
]
}
}
]
},
{
"type": "object"
}
]
},
{
"type": "object",
"properties": {
"data": {
"allOf": [
{
"anyOf": [
{
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
},
"phoneE164": {
"$ref": "#/$defs/E164PhoneNumber"
},
"status": {
"type": "string",
"enum": [
"active",
"warming",
"inactive",
"error",
"alert",
"flagged",
"retired"
]
},
"capabilities": {
"anyOf": [
{
"type": "object",
"properties": {
"voice": {
"type": "boolean"
},
"sms": {
"type": "boolean"
},
"mms": {
"type": "boolean"
}
},
"required": [
"voice",
"sms",
"mms"
],
"patternProperties": {
"^(?!(?:voice|sms|mms)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"voice",
"sms",
"mms"
]
}
},
{
"type": "null"
}
]
},
"assignedUserId": {
"anyOf": [
{
"type": "string",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
},
{
"type": "null"
}
]
},
"assignedToCurrentUser": {
"type": "boolean"
},
"canSend": {
"type": "boolean"
},
"sendBlockedReason": {
"anyOf": [
{
"type": "string",
"enum": [
"dialer_access_required",
"reply_permission_required",
"number_not_assigned",
"number_unavailable",
"recipient_dnc",
"recipient_opted_out",
"self_send"
]
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"phoneE164",
"status",
"capabilities",
"assignedUserId",
"assignedToCurrentUser",
"canSend",
"sendBlockedReason"
],
"patternProperties": {
"^(?!(?:id|phoneE164|status|capabilities|assignedUserId|assignedToCurrentUser|canSend|sendBlockedReason)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"id",
"phoneE164",
"status",
"capabilities",
"assignedUserId",
"assignedToCurrentUser",
"canSend",
"sendBlockedReason"
]
}
}
}
},
"required": [
"items"
],
"patternProperties": {
"^(?!(?:items)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"anyOf": [
{
"type": "string",
"enum": [
"items"
]
}
]
}
},
{
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"numberId": {
"type": "string",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
},
"senderNumber": {
"$ref": "#/$defs/E164PhoneNumber"
},
"counterpartyE164": {
"$ref": "#/$defs/E164PhoneNumber"
},
"displayName": {
"anyOf": [
{
"$ref": "#/$defs/LeadStoredText"
},
{
"type": "null"
}
]
},
"companyName": {
"anyOf": [
{
"$ref": "#/$defs/LeadStoredText"
},
{
"type": "null"
}
]
},
"lastInboundAt": {
"anyOf": [
{
"$ref": "#/$defs/UtcDateTimeEncoded"
},
{
"type": "null"
}
]
},
"unreadCount": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"isUnread": {
"type": "boolean"
},
"archivedAt": {
"anyOf": [
{
"$ref": "#/$defs/UtcDateTimeEncoded"
},
{
"type": "null"
}
]
},
"isArchived": {
"type": "boolean"
},
"lastMessage": {
"type": "object",
"properties": {
"id": {
"$ref": "#/$defs/SmsMessageId"
},
"direction": {
"type": "string",
"enum": [
"inbound",
"outbound"
]
},
"body": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 1600
},
{
"type": "null"
}
]
},
"status": {
"type": "string",
"enum": [
"registered",
"submitting",
"queued",
"sent",
"delivered",
"delivery_failed",
"failed",
"receiving",
"received",
"receive_failed",
"unknown"
]
},
"attemptedAt": {
"$ref": "#/$defs/UtcDateTimeEncoded"
},
"attachmentCount": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"sentByUserId": {
"anyOf": [
{
"type": "string",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"direction",
"body",
"status",
"attemptedAt",
"attachmentCount",
"sentByUserId"
],
"patternProperties": {
"^(?!(?:id|direction|body|status|attemptedAt|attachmentCount|sentByUserId)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"id",
"direction",
"body",
"status",
"attemptedAt",
"attachmentCount",
"sentByUserId"
]
}
}
},
"required": [
"numberId",
"senderNumber",
"counterpartyE164",
"displayName",
"companyName",
"lastInboundAt",
"unreadCount",
"isUnread",
"archivedAt",
"isArchived",
"lastMessage"
],
"patternProperties": {
"^(?!(?:numberId|senderNumber|counterpartyE164|displayName|companyName|lastInboundAt|unreadCount|isUnread|archivedAt|isArchived|lastMessage)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"numberId",
"senderNumber",
"counterpartyE164",
"displayName",
"companyName",
"lastInboundAt",
"unreadCount",
"isUnread",
"archivedAt",
"isArchived",
"lastMessage"
]
}
}
},
"nextCursor": {
"anyOf": [
{
"$ref": "#/$defs/Cursor"
},
{
"type": "null"
}
]
}
},
"required": [
"items",
"nextCursor"
],
"patternProperties": {
"^(?!(?:items|nextCursor)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"items",
"nextCursor"
]
}
},
{
"type": "object",
"properties": {
"conversation": {
"type": "object",
"properties": {
"numberId": {
"type": "string",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
},
"senderNumber": {
"$ref": "#/$defs/E164PhoneNumber"
},
"counterpartyE164": {
"$ref": "#/$defs/E164PhoneNumber"
},
"displayName": {
"anyOf": [
{
"$ref": "#/$defs/LeadStoredText"
},
{
"type": "null"
}
]
},
"companyName": {
"anyOf": [
{
"$ref": "#/$defs/LeadStoredText"
},
{
"type": "null"
}
]
},
"archivedAt": {
"anyOf": [
{
"$ref": "#/$defs/UtcDateTimeEncoded"
},
{
"type": "null"
}
]
},
"isArchived": {
"type": "boolean"
},
"canSend": {
"type": "boolean"
},
"sendBlockedReason": {
"anyOf": [
{
"type": "string",
"enum": [
"dialer_access_required",
"reply_permission_required",
"number_not_assigned",
"number_unavailable",
"recipient_dnc",
"recipient_opted_out",
"self_send"
]
},
{
"type": "null"
}
]
}
},
"required": [
"numberId",
"senderNumber",
"counterpartyE164",
"displayName",
"companyName",
"archivedAt",
"isArchived",
"canSend",
"sendBlockedReason"
],
"patternProperties": {
"^(?!(?:numberId|senderNumber|counterpartyE164|displayName|companyName|archivedAt|isArchived|canSend|sendBlockedReason)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"numberId",
"senderNumber",
"counterpartyE164",
"displayName",
"companyName",
"archivedAt",
"isArchived",
"canSend",
"sendBlockedReason"
]
}
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"$ref": "#/$defs/SmsMessageId"
},
"direction": {
"type": "string",
"enum": [
"inbound",
"outbound"
]
},
"fromE164": {
"$ref": "#/$defs/E164PhoneNumber"
},
"toE164": {
"$ref": "#/$defs/E164PhoneNumber"
},
"body": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 1600
},
{
"type": "null"
}
]
},
"status": {
"type": "string",
"enum": [
"registered",
"submitting",
"queued",
"sent",
"delivered",
"delivery_failed",
"failed",
"receiving",
"received",
"receive_failed",
"unknown"
]
},
"attemptedAt": {
"$ref": "#/$defs/UtcDateTimeEncoded"
},
"deliveredAt": {
"anyOf": [
{
"$ref": "#/$defs/UtcDateTimeEncoded"
},
{
"type": "null"
}
]
},
"failedAt": {
"anyOf": [
{
"$ref": "#/$defs/UtcDateTimeEncoded"
},
{
"type": "null"
}
]
},
"error": {
"anyOf": [
{
"type": "object",
"properties": {
"code": {
"anyOf": [
{
"$ref": "#/$defs/ShortText"
},
{
"type": "null"
}
]
},
"message": {
"anyOf": [
{
"$ref": "#/$defs/ShortText"
},
{
"type": "null"
}
]
}
},
"required": [
"code",
"message"
],
"patternProperties": {
"^(?!(?:code|message)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"code",
"message"
]
}
},
{
"type": "null"
}
]
},
"sentByUserId": {
"anyOf": [
{
"type": "string",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
},
{
"type": "null"
}
]
},
"attachments": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"$ref": "#/$defs/ProviderId"
},
"contentType": {
"$ref": "#/$defs/ShortText"
},
"sizeBytes": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"url": {
"$ref": "#/$defs/HttpUrl"
},
"urlExpiresAt": {
"$ref": "#/$defs/UtcDateTimeEncoded"
}
},
"required": [
"id",
"contentType",
"sizeBytes",
"url",
"urlExpiresAt"
],
"patternProperties": {
"^(?!(?:id|contentType|sizeBytes|url|urlExpiresAt)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"id",
"contentType",
"sizeBytes",
"url",
"urlExpiresAt"
]
}
}
}
},
"required": [
"id",
"direction",
"fromE164",
"toE164",
"body",
"status",
"attemptedAt",
"deliveredAt",
"failedAt",
"error",
"sentByUserId",
"attachments"
],
"patternProperties": {
"^(?!(?:id|direction|fromE164|toE164|body|status|attemptedAt|deliveredAt|failedAt|error|sentByUserId|attachments)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"id",
"direction",
"fromE164",
"toE164",
"body",
"status",
"attemptedAt",
"deliveredAt",
"failedAt",
"error",
"sentByUserId",
"attachments"
]
}
}
},
"nextCursor": {
"anyOf": [
{
"$ref": "#/$defs/Cursor"
},
{
"type": "null"
}
]
}
},
"required": [
"conversation",
"items",
"nextCursor"
],
"patternProperties": {
"^(?!(?:conversation|items|nextCursor)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"conversation",
"items",
"nextCursor"
]
}
},
{
"type": "object",
"properties": {
"readThroughAt": {
"$ref": "#/$defs/UtcDateTimeEncoded"
},
"readThroughMessageId": {
"$ref": "#/$defs/SmsMessageId"
}
},
"required": [
"readThroughAt",
"readThroughMessageId"
],
"patternProperties": {
"^(?!(?:readThroughAt|readThroughMessageId)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"readThroughAt",
"readThroughMessageId"
]
}
},
{
"type": "object",
"properties": {
"archivedAt": {
"anyOf": [
{
"$ref": "#/$defs/UtcDateTimeEncoded"
},
{
"type": "null"
}
]
}
},
"required": [
"archivedAt"
],
"patternProperties": {
"^(?!(?:archivedAt)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"anyOf": [
{
"type": "string",
"enum": [
"archivedAt"
]
}
]
}
},
{
"type": "object",
"properties": {
"messageId": {
"$ref": "#/$defs/SmsMessageId"
},
"status": {
"type": "string",
"enum": [
"registered",
"submitting",
"queued",
"sent",
"delivered",
"delivery_failed",
"failed",
"receiving",
"received",
"receive_failed",
"unknown"
]
},
"deduplicated": {
"type": "boolean"
},
"enqueued": {
"type": "boolean"
}
},
"required": [
"messageId",
"status",
"deduplicated",
"enqueued"
],
"patternProperties": {
"^(?!(?:messageId|status|deduplicated|enqueued)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"messageId",
"status",
"deduplicated",
"enqueued"
]
}
}
]
},
{
"not": {
"type": "object"
}
}
]
}
},
"required": [
"data"
],
"additionalProperties": false
}
]
}
```
### Underlying API operations
- `sms.numbers`: `GET /v1/workspaces/:workspaceId/sms/numbers`
- `sms.conversations`: `GET /v1/workspaces/:workspaceId/sms/conversations`
- `sms.conversation`: `GET /v1/workspaces/:workspaceId/sms/conversations/:numberId/:counterpartyE164`
- `sms.markRead`: `POST /v1/workspaces/:workspaceId/sms/conversations/read`
- `sms.setArchived`: `POST /v1/workspaces/:workspaceId/sms/conversations/archive`
- `sms.send`: `POST /v1/workspaces/:workspaceId/sms/messages`