Model schemas
These 55 definitions describe the JSON used by the API. Request and response models can differ. References link to definitions without expanding recursive models.
55 models
APIError
objectcodeRequiredfield_detailsOptionalarrayEach array item
messageRequiredstringrequest_idRequiredstringValidation rules
- Minimum length
- 1
- Pattern
- ^[^\p{Cc}\p{Cf}]+$
APIErrorCode
stringAllowed:
"malformed_json""invalid_authentication""invalid_destination""ambiguous_destination""ambiguous_conversation""disallowed_recipient""unknown_conversation""unknown_message""unknown_media""unknown_request""unsupported_capability""sender_unavailable""database_unavailable""invalid_cursor""unsafe_media""media_too_large""duplicate_request""send_result_unknown""reaction_result_unknown""read_result_unknown""messages_unavailable""typing_conflict""typing_result_unknown""request_tracking_unavailable""invalid_request""internal_error""not_found"APIFieldError
objectfieldRequiredstringmessageRequiredstring
CapabilityAvailability
stringAllowed:
"available""unavailable""permission_unknown""unsupported"Conversation
objectdisplay_nameOptionalstringidRequiredstringValidation rules
- Minimum length
- 1
- Pattern
- ^[^\p{Cc}\p{Cf}]+$
identifierOptionalstringis_groupRequiredbooleanlast_message_atOptionalstring (date-time)participantsRequiredarrayEach array item
provider_guidOptionalstringserviceOptionalstringunread_countRequiredinteger
ConversationReadResponse
objectconversation_idRequiredstringValidation rules
- Minimum length
- 1
- Pattern
- ^[^\p{Cc}\p{Cf}]+$
request_idRequiredstringValidation rules
- Minimum length
- 1
- Pattern
- ^[^\p{Cc}\p{Cf}]+$
statusRequired
ConversationReadStatus
stringAllowed:
"applied""unchanged"ConversationTypingResponse
objectconversation_idRequiredstringValidation rules
- Minimum length
- 1
- Pattern
- ^[^\p{Cc}\p{Cf}]+$
expires_atOptionalstring (date-time)request_idRequiredstringValidation rules
- Minimum length
- 1
- Pattern
- ^[^\p{Cc}\p{Cf}]+$
statusRequired
ConversationTypingStatus
stringAllowed:
"active""inactive"DatabaseStatus
objecterrorOptionalstringidentityOptionalstringreadyRequiredboolean
DeliveryState
stringAllowed:
"unknown""not_sent""sent""delivered""failed"MediaAvailableEvent
objectmedia_idRequiredstringValidation rules
- Minimum length
- 1
- Pattern
- ^[^\p{Cc}\p{Cf}]+$
message_idRequiredstringValidation rules
- Minimum length
- 1
- Pattern
- ^[^\p{Cc}\p{Cf}]+$
observed_atRequiredstring (date-time)
MediaReceipt
objectmedia_idRequiredstring | nullValidation rules
- Minimum length
- 1
- Pattern
- ^[^\p{Cc}\p{Cf}]+$
message_idRequiredstring | nullValidation rules
- Minimum length
- 1
- Pattern
- ^[^\p{Cc}\p{Cf}]+$
requested_media_idRequiredstringValidation rules
- Minimum length
- 1
- Pattern
- ^[^\p{Cc}\p{Cf}]+$
MediaReference
objectbyte_sizeOptionalinteger (int64)filenameOptionalstringis_stickerRequiredbooleanmedia_idRequiredstringValidation rules
- Minimum length
- 1
- Pattern
- ^[^\p{Cc}\p{Cf}]+$
mime_typeOptionalstringsourceRequired
MediaSource
stringAllowed:
"messages""upload"Message
objectattachmentsRequiredarrayEach array item
balloon_bundle_idOptionalstringconversation_idRequiredstringValidation rules
- Minimum length
- 1
- Pattern
- ^[^\p{Cc}\p{Cf}]+$
created_atRequiredstring | null (date-time)delivered_atRequiredstring | null (date-time)delivery_stateRequiredidRequiredstringValidation rules
- Minimum length
- 1
- Pattern
- ^[^\p{Cc}\p{Cf}]+$
is_audio_messageOptionalbooleanis_from_meRequiredbooleanpartsRequiredarray | nullEach array item
pollOptionalprovider_guidRequiredstring | nullreactionsRequiredarrayEach array item
read_atRequiredstring | null (date-time)read_stateRequiredscheduleOptionalsenderRequiredtextRequiredstring | nullthreadRequiredurl_previewOptional
MessageChangedField
stringAllowed:
"delivery_state""read_state"MessageCreatedEvent
objectconversation_idRequiredstringValidation rules
- Minimum length
- 1
- Pattern
- ^[^\p{Cc}\p{Cf}]+$
is_from_meRequiredbooleanmessage_idRequiredstringValidation rules
- Minimum length
- 1
- Pattern
- ^[^\p{Cc}\p{Cf}]+$
observed_atRequiredstring (date-time)
MessagePart
Exactly one of these3 variants
objectindexRequiredintegerValidation rules
- Minimum
- 0
textRequiredstringtypeRequiredstringValue:"text"
objectattachmentRequiredindexRequiredintegerValidation rules
- Minimum
- 0
typeRequiredstringValue:"attachment"
objectindexRequiredintegerValidation rules
- Minimum
- 0
typeRequiredstringValue:"unknown"
MessageReceipt
objectmessage_idRequiredstringValidation rules
- Minimum length
- 1
- Pattern
- ^[^\p{Cc}\p{Cf}]+$
statusRequired
MessageSchedule
objectscheduled_atOptionalstring (date-time)stateRequiredinteger (int64)typeRequiredinteger (int64)
MessageStatus
stringAllowed:
"accepted""queued""sending""sent""delivered""read""failed""unsupported""result_unknown"MessageUpdatedEvent
objectchanged_fieldsRequiredarrayEach array item
conversation_idRequiredstringValidation rules
- Minimum length
- 1
- Pattern
- ^[^\p{Cc}\p{Cf}]+$
message_idRequiredstringValidation rules
- Minimum length
- 1
- Pattern
- ^[^\p{Cc}\p{Cf}]+$
observed_atRequiredstring (date-time)
NativePoll
objectkindRequiredoriginal_message_idOptionalstringValidation rules
- Minimum length
- 1
- Pattern
- ^[^\p{Cc}\p{Cf}]+$
NativePollKind
stringAllowed:
"created""vote"PaginatedResponseOfConversation
objecthas_moreRequiredbooleanitemsRequiredarrayEach array item
next_cursorOptionalstringValidation rules
- Minimum length
- 1
- Pattern
- ^[^\p{Cc}\p{Cf}]+$
PaginatedResponseOfMessage
objecthas_moreRequiredbooleanitemsRequiredarrayEach array item
next_cursorOptionalstringValidation rules
- Minimum length
- 1
- Pattern
- ^[^\p{Cc}\p{Cf}]+$
PermissionAvailability
stringAllowed:
"granted""not_granted""unknown"Reaction
objectactionRequiredcreated_atOptionalstring (date-time)emojiOptionalstringidRequiredstringValidation rules
- Minimum length
- 1
- Pattern
- ^[^\p{Cc}\p{Cf}]+$
is_from_meRequiredbooleankindRequiredsenderOptionaltarget_part_indexOptionalinteger
ReactionAction
stringAllowed:
"added""removed"ReactionChangedEvent
objectmessage_idRequiredstringValidation rules
- Minimum length
- 1
- Pattern
- ^[^\p{Cc}\p{Cf}]+$
observed_atRequiredstring (date-time)reaction_idRequiredstringValidation rules
- Minimum length
- 1
- Pattern
- ^[^\p{Cc}\p{Cf}]+$
ReactionKind
stringAllowed:
"love""like""dislike""laugh""emphasis""question""custom""unknown"ReactionWriteResponse
objectmessage_idRequiredstringValidation rules
- Minimum length
- 1
- Pattern
- ^[^\p{Cc}\p{Cf}]+$
reactionRequiredrequest_idRequiredstringValidation rules
- Minimum length
- 1
- Pattern
- ^[^\p{Cc}\p{Cf}]+$
statusRequired
ReactionWriteStatus
stringAllowed:
"applied""unchanged"ReadState
stringAllowed:
"unknown""unread""read"RecipientHandle
objectdisplay_valueOptionalstringtypeRequiredvalueRequiredstring
RecipientHandleType
stringAllowed:
"phone""email""other"ReplyTarget
objectmessage_idRequiredstringValidation rules
- Minimum length
- 1
- Pattern
- ^[^\p{Cc}\p{Cf}]+$
SendCorrelationStatus
stringAllowed:
"pending""partial""complete""ambiguous"Sender
objectaccount_identityOptionalstringavailabilityRequiredcapabilitiesRequiredconfiguredRequiredbooleanidRequiredstringValidation rules
- Minimum length
- 1
- Pattern
- ^[^\p{Cc}\p{Cf}]+$
loginOptionalpermissionsRequiredreasonOptionalstring
SenderAvailability
stringAllowed:
"available""unavailable""permission_unknown"SenderCapabilities
objectgroup_creationRequiredmediaRequirednative_replyRequiredreactionsRequiredtextRequired
SenderPermissions
objectaccessibilityRequiredautomationRequired
SendMediaReference
objectmedia_idRequiredstringValidation rules
- Minimum length
- 1
- Pattern
- ^[^\p{Cc}\p{Cf}]+$
SendMessageRequest
All of these2 variants
objectExactly one non-null destination. The service requires text or uploaded media. Participant sends require text and do not support media or reply_to. Normalized participants must be unique.
conversation_idOptionalstring | nullValidation rules
- Minimum length
- 1
- Pattern
- ^[^\p{Cc}\p{Cf}]+$
mediaOptionalarray | nullEach array item
participantsOptionalarray | nullValidation rules
- Minimum items
- 2
Each array item
stringValidation rules
- Minimum length
- 1
reply_toOptionaltextOptionalstring | nulltoOptionalstring | nullValidation rules
- Minimum length
- 1
Other fields are not accepted.
Exactly one of these3 variants
objectconversation_idRequiredstringValidation rules
- Minimum length
- 1
- Pattern
- ^[^\p{Cc}\p{Cf}]+$
participantsOptionalnulltoOptionalnull
objectconversation_idOptionalnullparticipantsOptionalnulltoRequiredstringValidation rules
- Minimum length
- 1
objectconversation_idOptionalnullparticipantsRequiredarrayValidation rules
- Minimum items
- 2
Each array item
stringValidation rules
- Minimum length
- 1
toOptionalnull
SendMessageResponse
objectconversation_idOptionalstringValidation rules
- Minimum length
- 1
- Pattern
- ^[^\p{Cc}\p{Cf}]+$
correlation_statusRequiredmediaRequiredarrayEach array item
messagesRequiredarrayEach array item
poll_urlOptionalstringrequest_idRequiredstringValidation rules
- Minimum length
- 1
- Pattern
- ^[^\p{Cc}\p{Cf}]+$
statusRequired
ServiceStatus
objectdatabaseRequiredhealthyRequiredbooleansenderRequiredversionRequiredstring
SetReactionRequest
objectreactionRequired
StreamReadyEvent
objectdatabase_identityRequiredstringreplay_supportedRequiredboolean
StreamResetEvent
objectmessageRequiredstringreasonRequiredrefetch_requiredRequiredbooleanresume_after_event_idOptionalstring
StreamResetReason
stringAllowed:
"database_changed""observer_failed""replay_unavailable""subscriber_overflow"ThreadReference
objectprovider_reply_to_message_idOptionalstringValidation rules
- Minimum length
- 1
- Pattern
- ^[^\p{Cc}\p{Cf}]+$
reply_to_message_idOptionalstringValidation rules
- Minimum length
- 1
- Pattern
- ^[^\p{Cc}\p{Cf}]+$
thread_originator_message_idOptionalstringValidation rules
- Minimum length
- 1
- Pattern
- ^[^\p{Cc}\p{Cf}]+$
UploadMediaResponse
objectdownload_urlRequiredstringmediaRequired
URLPreview
objectballoon_bundle_idRequiredstringcreated_atOptionalstring (date-time)message_idRequiredstringValidation rules
- Minimum length
- 1
- Pattern
- ^[^\p{Cc}\p{Cf}]+$
provider_guidRequiredstring
WritableReaction
stringAllowed:
"love""like""dislike""laugh""emphasis""question"