Schemas
Every published request, result, page, envelope, and domain schema.
The schemas below describe requests and responses. Schema version 5 is immutable; an incompatible contract change will publish a new version.
Use the CLI to retrieve an individual schema as JSON:
dmbridge x doctor --schema message.send --prettycontracts/dmbridge/schemas.json.| Property | Type | Required |
|---|---|---|
| userID | string | yes |
| username | string | null | yes |
| displayName | string | null | yes |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"userID": {
"type": "string",
"minLength": 1
},
"username": {
"type": [
"string",
"null"
]
},
"displayName": {
"type": [
"string",
"null"
]
}
},
"required": [
"userID",
"username",
"displayName"
],
"additionalProperties": false,
"$id": "https://dmbridge.dev/schemas/v6/participant.json"
}| Property | Type | Required |
|---|---|---|
| attachmentID | string | yes |
| type | "image" | "video" | "audio" | "voice" | "file" | "gif" | "sticker" | "link" | "location" | "contact" | "sharedPost" | "sharedStory" | "sharedReel" | "reply" | "quote" | "system" | "deleted" | "unsupported" | "unknown" | yes |
| mediaType | string | null | yes |
| filename | string | null | yes |
| sourceURL | string (uri) | null | yes |
| providerData | object | no |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"attachmentID": {
"type": "string",
"minLength": 1
},
"type": {
"type": "string",
"enum": [
"image",
"video",
"audio",
"voice",
"file",
"gif",
"sticker",
"link",
"location",
"contact",
"sharedPost",
"sharedStory",
"sharedReel",
"reply",
"quote",
"system",
"deleted",
"unsupported",
"unknown"
]
},
"mediaType": {
"type": [
"string",
"null"
]
},
"filename": {
"type": [
"string",
"null"
]
},
"sourceURL": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"type": "null"
}
]
},
"providerData": {
"type": "object",
"additionalProperties": true
}
},
"required": [
"attachmentID",
"type",
"mediaType",
"filename",
"sourceURL"
],
"additionalProperties": false,
"$id": "https://dmbridge.dev/schemas/v6/attachment.json"
}| Property | Type | Required |
|---|---|---|
| reaction | string | yes |
| userIDs | array<string> | yes |
| reactedByAuthenticatedUser | boolean | null | yes |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"reaction": {
"type": "string",
"minLength": 1
},
"userIDs": {
"type": "array",
"items": {
"type": "string"
}
},
"reactedByAuthenticatedUser": {
"type": [
"boolean",
"null"
]
}
},
"required": [
"reaction",
"userIDs",
"reactedByAuthenticatedUser"
],
"additionalProperties": false,
"$id": "https://dmbridge.dev/schemas/v6/reaction.json"
}| Property | Type | Required |
|---|---|---|
| messageID | string | yes |
| conversationID | string | yes |
| senderID | string | null | yes |
| senderUsername | string | null | yes |
| sentAt | string (date-time) | null | yes |
| type | "text" | "image" | "video" | "audio" | "voice" | "file" | "gif" | "sticker" | "link" | "location" | "contact" | "sharedPost" | "sharedStory" | "sharedReel" | "reply" | "quote" | "system" | "deleted" | "unsupported" | "unknown" | yes |
| text | string | null | yes |
| direction | "inbound" | "outbound" | "unknown" | yes |
| replyToMessageID | string | null | yes |
| read | boolean | null | yes |
| attachments | array<attachment> | yes |
| reactions | array<reaction> | yes |
| providerType | string | null | yes |
| providerData | object | no |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"messageID": {
"type": "string",
"minLength": 1
},
"conversationID": {
"type": "string",
"minLength": 1
},
"senderID": {
"type": [
"string",
"null"
]
},
"senderUsername": {
"type": [
"string",
"null"
]
},
"sentAt": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
]
},
"type": {
"type": "string",
"enum": [
"text",
"image",
"video",
"audio",
"voice",
"file",
"gif",
"sticker",
"link",
"location",
"contact",
"sharedPost",
"sharedStory",
"sharedReel",
"reply",
"quote",
"system",
"deleted",
"unsupported",
"unknown"
]
},
"text": {
"type": [
"string",
"null"
]
},
"direction": {
"type": "string",
"enum": [
"inbound",
"outbound",
"unknown"
]
},
"replyToMessageID": {
"type": [
"string",
"null"
]
},
"read": {
"type": [
"boolean",
"null"
]
},
"attachments": {
"type": "array",
"items": {
"$ref": "https://dmbridge.dev/schemas/v6/attachment.json"
}
},
"reactions": {
"type": "array",
"items": {
"$ref": "https://dmbridge.dev/schemas/v6/reaction.json"
}
},
"providerType": {
"type": [
"string",
"null"
]
},
"providerData": {
"type": "object",
"additionalProperties": true
}
},
"required": [
"messageID",
"conversationID",
"senderID",
"senderUsername",
"sentAt",
"type",
"text",
"direction",
"replyToMessageID",
"read",
"attachments",
"reactions",
"providerType"
],
"additionalProperties": false,
"$id": "https://dmbridge.dev/schemas/v6/message.json"
}| Property | Type | Required |
|---|---|---|
| conversationID | string | yes |
| type | "direct" | "group" | "unknown" | yes |
| protocol | "standard" | "xchat" | "instagram" | yes |
| title | string | null | yes |
| participants | array<participant> | yes |
| unreadCount | integer | null | yes |
| unread | boolean | null | yes |
| latestMessageAt | string (date-time) | null | yes |
| latestMessageID | string | null | yes |
| lastReadMessageID | string | null | yes |
| muted | boolean | null | yes |
| archived | boolean | null | yes |
| providerData | object | no |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"conversationID": {
"type": "string",
"minLength": 1
},
"type": {
"type": "string",
"enum": [
"direct",
"group",
"unknown"
]
},
"protocol": {
"type": "string",
"enum": [
"standard",
"xchat",
"instagram"
]
},
"title": {
"type": [
"string",
"null"
]
},
"participants": {
"type": "array",
"items": {
"$ref": "https://dmbridge.dev/schemas/v6/participant.json"
}
},
"unreadCount": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"unread": {
"type": [
"boolean",
"null"
]
},
"latestMessageAt": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
]
},
"latestMessageID": {
"type": [
"string",
"null"
]
},
"lastReadMessageID": {
"type": [
"string",
"null"
]
},
"muted": {
"type": [
"boolean",
"null"
]
},
"archived": {
"type": [
"boolean",
"null"
]
},
"providerData": {
"type": "object",
"additionalProperties": true
}
},
"required": [
"conversationID",
"type",
"protocol",
"title",
"participants",
"unreadCount",
"unread",
"latestMessageAt",
"latestMessageID",
"lastReadMessageID",
"muted",
"archived"
],
"additionalProperties": false,
"$id": "https://dmbridge.dev/schemas/v6/conversation.json"
}| Property | Type | Required |
|---|---|---|
| requestID | string | yes |
| conversation | conversation | yes |
| state | "received" | "sent" | "none" | "unknown" | yes |
| category | "priority" | "hidden" | "requests" | null | yes |
| senderRecentlyModifiedProfile | boolean | null | yes |
| socialProofUserIDs | array<string> | yes |
| hasMoreMessages | boolean | null | yes |
| detailReadMarksDelivered | boolean | yes |
| providerData | object | no |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"requestID": {
"type": "string",
"minLength": 1
},
"conversation": {
"$ref": "https://dmbridge.dev/schemas/v6/conversation.json"
},
"state": {
"type": "string",
"enum": [
"received",
"sent",
"none",
"unknown"
]
},
"category": {
"anyOf": [
{
"type": "string",
"enum": [
"priority",
"hidden",
"requests"
]
},
{
"type": "null"
}
]
},
"senderRecentlyModifiedProfile": {
"type": [
"boolean",
"null"
]
},
"socialProofUserIDs": {
"type": "array",
"items": {
"type": "string"
}
},
"hasMoreMessages": {
"type": [
"boolean",
"null"
]
},
"detailReadMarksDelivered": {
"type": "boolean"
},
"providerData": {
"type": "object",
"additionalProperties": true
}
},
"required": [
"requestID",
"conversation",
"state",
"category",
"senderRecentlyModifiedProfile",
"socialProofUserIDs",
"hasMoreMessages",
"detailReadMarksDelivered"
],
"additionalProperties": false,
"$id": "https://dmbridge.dev/schemas/v6/messageRequest.json"
}| Property | Type | Required |
|---|---|---|
| provider | "x" | "instagram" | yes |
| account | string | null | yes |
| authenticated | boolean | yes |
| groupConversations | boolean | yes |
| folders | array<string> | yes |
| messageTypes | object | yes |
| mutations | object | yes |
| messageReadMode | "exact" | "through" | "conversation" | "unsupported" | yes |
| attachments | object | yes |
| messageRequests | object | yes |
| xchat | object | no |
| limitations | array<string> | yes |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"provider": {
"type": "string",
"enum": [
"x",
"instagram"
]
},
"account": {
"type": [
"string",
"null"
]
},
"authenticated": {
"type": "boolean"
},
"groupConversations": {
"type": "boolean"
},
"folders": {
"type": "array",
"items": {
"type": "string"
}
},
"messageTypes": {
"type": "object",
"properties": {
"read": {
"type": "array",
"items": {
"type": "string",
"enum": [
"text",
"image",
"video",
"audio",
"voice",
"file",
"gif",
"sticker",
"link",
"location",
"contact",
"sharedPost",
"sharedStory",
"sharedReel",
"reply",
"quote",
"system",
"deleted",
"unsupported",
"unknown"
]
}
},
"send": {
"type": "array",
"items": {
"type": "string",
"enum": [
"text",
"image",
"video",
"audio",
"voice",
"file",
"gif",
"sticker",
"link",
"location",
"contact",
"sharedPost",
"sharedStory",
"sharedReel",
"reply",
"quote",
"system",
"deleted",
"unsupported",
"unknown"
]
}
}
},
"required": [
"read",
"send"
],
"additionalProperties": false
},
"mutations": {
"type": "object",
"additionalProperties": {
"type": "boolean"
}
},
"messageReadMode": {
"type": "string",
"enum": [
"exact",
"through",
"conversation",
"unsupported"
]
},
"attachments": {
"type": "object",
"properties": {
"list": {
"type": "boolean"
},
"download": {
"type": "boolean"
},
"send": {
"type": "boolean"
}
},
"required": [
"list",
"download",
"send"
],
"additionalProperties": false
},
"messageRequests": {
"type": "object",
"properties": {
"list": {
"type": "boolean"
},
"get": {
"type": "boolean"
},
"messages": {
"type": "boolean"
},
"accept": {
"type": "boolean"
},
"decline": {
"type": "boolean"
},
"categories": {
"type": "array",
"items": {
"type": "string"
}
},
"detailReadMarksDelivered": {
"type": "boolean"
},
"acceptRequiresReply": {
"type": "boolean"
}
},
"required": [
"list",
"get",
"messages",
"accept",
"decline",
"categories",
"detailReadMarksDelivered",
"acceptRequiresReply"
],
"additionalProperties": false
},
"xchat": {
"type": "object",
"additionalProperties": true
},
"limitations": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"provider",
"account",
"authenticated",
"groupConversations",
"folders",
"messageTypes",
"mutations",
"messageReadMode",
"attachments",
"messageRequests",
"limitations"
],
"additionalProperties": false,
"$id": "https://dmbridge.dev/schemas/v6/capabilities.json"
}| Property | Type | Required |
|---|---|---|
| items | array<conversation> | yes |
| nextCursor | string | null | yes |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "https://dmbridge.dev/schemas/v6/conversation.json"
}
},
"nextCursor": {
"type": [
"string",
"null"
]
}
},
"required": [
"items",
"nextCursor"
],
"additionalProperties": false,
"$id": "https://dmbridge.dev/schemas/v6/page.conversations.json"
}| Property | Type | Required |
|---|---|---|
| items | array<message> | yes |
| nextCursor | string | null | yes |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "https://dmbridge.dev/schemas/v6/message.json"
}
},
"nextCursor": {
"type": [
"string",
"null"
]
}
},
"required": [
"items",
"nextCursor"
],
"additionalProperties": false,
"$id": "https://dmbridge.dev/schemas/v6/page.messages.json"
}| Property | Type | Required |
|---|---|---|
| items | array<messageRequest> | yes |
| nextCursor | string | null | yes |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "https://dmbridge.dev/schemas/v6/messageRequest.json"
}
},
"nextCursor": {
"type": [
"string",
"null"
]
}
},
"required": [
"items",
"nextCursor"
],
"additionalProperties": false,
"$id": "https://dmbridge.dev/schemas/v6/page.messageRequests.json"
}| Property | Type | Required |
|---|---|---|
| items | array<message> | yes |
| nextCursor | string | null | yes |
| hasMoreMessages | boolean | null | yes |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "https://dmbridge.dev/schemas/v6/message.json"
}
},
"nextCursor": {
"type": [
"string",
"null"
]
},
"hasMoreMessages": {
"type": [
"boolean",
"null"
]
}
},
"required": [
"items",
"nextCursor",
"hasMoreMessages"
],
"additionalProperties": false,
"$id": "https://dmbridge.dev/schemas/v6/page.messageRequestMessages.json"
}| Property | Type | Required |
|---|---|---|
| confirmed | boolean | yes |
| effect | string | yes |
| providerResponse | object | no |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"confirmed": {
"type": "boolean"
},
"effect": {
"type": "string"
},
"providerResponse": {
"type": "object",
"additionalProperties": true
}
},
"required": [
"confirmed",
"effect"
],
"additionalProperties": false,
"$id": "https://dmbridge.dev/schemas/v6/mutation.result.json"
}| Property | Type | Required |
|---|---|---|
| ok | boolean | yes |
| protocolVersion | number | yes |
| provider | "x" | "instagram" | null | yes |
| account | string | null | yes |
| requestID | string | yes |
| command | string | yes |
| result | unknown | yes |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"const": true
},
"protocolVersion": {
"type": "number",
"const": 1
},
"provider": {
"anyOf": [
{
"type": "string",
"enum": [
"x",
"instagram"
]
},
{
"type": "null"
}
]
},
"account": {
"type": [
"string",
"null"
]
},
"requestID": {
"type": "string",
"minLength": 1
},
"command": {
"type": "string"
},
"result": {}
},
"required": [
"ok",
"protocolVersion",
"provider",
"account",
"requestID",
"command",
"result"
],
"additionalProperties": false,
"$id": "https://dmbridge.dev/schemas/v6/envelope.success.json"
}| Property | Type | Required |
|---|---|---|
| ok | boolean | yes |
| protocolVersion | number | yes |
| provider | "x" | "instagram" | null | yes |
| account | string | null | yes |
| requestID | string | yes |
| command | string | yes |
| error | object | yes |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"const": false
},
"protocolVersion": {
"type": "number",
"const": 1
},
"provider": {
"anyOf": [
{
"type": "string",
"enum": [
"x",
"instagram"
]
},
{
"type": "null"
}
]
},
"account": {
"type": [
"string",
"null"
]
},
"requestID": {
"type": "string",
"minLength": 1
},
"command": {
"type": "string"
},
"error": {
"type": "object",
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"retrySafety": {
"type": "string",
"enum": [
"safe",
"unsafe",
"never"
]
},
"details": {
"type": "object",
"additionalProperties": true
}
},
"required": [
"code",
"message",
"retrySafety",
"details"
],
"additionalProperties": false
}
},
"required": [
"ok",
"protocolVersion",
"provider",
"account",
"requestID",
"command",
"error"
],
"additionalProperties": false,
"$id": "https://dmbridge.dev/schemas/v6/envelope.error.json"
}object | object
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"anyOf": [
{
"type": "object",
"properties": {
"provider": {
"type": "string",
"enum": [
"x",
"instagram"
]
},
"accounts": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
}
},
"required": [
"provider",
"accounts"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"providers": {
"type": "object",
"properties": {
"instagram": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
},
"x": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
}
},
"required": [
"instagram",
"x"
],
"additionalProperties": false
}
},
"required": [
"providers"
],
"additionalProperties": false
}
],
"$id": "https://dmbridge.dev/schemas/v6/accounts.result.json"
}| Property | Type | Required |
|---|---|---|
| provider | "x" | "instagram" | yes |
| account | string | yes |
| live | boolean | yes |
| healthy | boolean | yes |
| readReady | boolean | yes |
| mutationReady | boolean | yes |
| checks | array<object> | yes |
| capabilities | capabilities | yes |
| contracts | object | yes |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"provider": {
"type": "string",
"enum": [
"x",
"instagram"
]
},
"account": {
"type": "string"
},
"live": {
"type": "boolean"
},
"healthy": {
"type": "boolean"
},
"readReady": {
"type": "boolean"
},
"mutationReady": {
"type": "boolean"
},
"checks": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"pass",
"warn",
"fail"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
}
},
"required": [
"id",
"status",
"message",
"details"
],
"additionalProperties": false
}
},
"capabilities": {
"$ref": "https://dmbridge.dev/schemas/v6/capabilities.json"
},
"contracts": {
"type": "object",
"properties": {
"schemaVersion": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"names": {
"type": "array",
"items": {
"type": "string"
}
},
"selected": {
"anyOf": [
{
"type": "object",
"properties": {
"name": {
"type": "string"
},
"schema": {}
},
"required": [
"name",
"schema"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"schemaVersion",
"names",
"selected"
],
"additionalProperties": false
}
},
"required": [
"provider",
"account",
"live",
"healthy",
"readReady",
"mutationReady",
"checks",
"capabilities",
"contracts"
],
"additionalProperties": false,
"$id": "https://dmbridge.dev/schemas/v6/doctor.json"
}| Property | Type | Required |
|---|---|---|
| items | array<reaction> | yes |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "https://dmbridge.dev/schemas/v6/reaction.json"
}
}
},
"required": [
"items"
],
"additionalProperties": false,
"$id": "https://dmbridge.dev/schemas/v6/reactions.result.json"
}| Property | Type | Required |
|---|---|---|
| destinationURL | string (uri) | yes |
| mediaType | string | null | yes |
| bytes | integer | yes |
| sha256 | string | yes |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"destinationURL": {
"type": "string",
"format": "uri"
},
"mediaType": {
"type": [
"string",
"null"
]
},
"bytes": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"sha256": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
}
},
"required": [
"destinationURL",
"mediaType",
"bytes",
"sha256"
],
"additionalProperties": false,
"$id": "https://dmbridge.dev/schemas/v6/attachment.download.json"
}Exact Instagram credential, X OAuth client, X callback URL, or X code/state request. Secrets are read from --request or stdin and are never accepted as flags.
object | object | object | object
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"description": "Exact Instagram credential, X OAuth client, X callback URL, or X code/state request. Secrets are read from --request or stdin and are never accepted as flags.",
"oneOf": [
{
"type": "object",
"properties": {
"accessToken": {
"type": "string",
"minLength": 1
},
"accountID": {
"default": null,
"anyOf": [
{
"type": "string",
"minLength": 1
},
{
"type": "null"
}
]
},
"accountUsername": {
"default": null,
"anyOf": [
{
"type": "string",
"minLength": 1
},
{
"type": "null"
}
]
},
"apiVersion": {
"default": null,
"anyOf": [
{
"type": "string",
"minLength": 1
},
{
"type": "null"
}
]
}
},
"required": [
"accessToken",
"accountID",
"accountUsername",
"apiVersion"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"clientID": {
"type": "string",
"minLength": 1
},
"clientSecret": {
"default": null,
"anyOf": [
{
"type": "string",
"minLength": 1
},
{
"type": "null"
}
]
},
"clientType": {
"type": "string",
"enum": [
"public",
"confidential"
]
},
"redirectURI": {
"type": "string",
"format": "uri"
},
"realmTokenIssuerURL": {
"default": null,
"anyOf": [
{
"type": "string",
"minLength": 1
},
{
"type": "null"
}
]
}
},
"required": [
"clientID",
"clientSecret",
"clientType",
"redirectURI",
"realmTokenIssuerURL"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"callbackURL": {
"type": "string",
"format": "uri"
}
},
"required": [
"callbackURL"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"code": {
"type": "string",
"minLength": 1
},
"state": {
"type": "string",
"minLength": 1
}
},
"required": [
"code",
"state"
],
"additionalProperties": false
}
],
"$id": "https://dmbridge.dev/schemas/v6/accounts.add.request.json"
}Complete externally refreshed X OAuth credential. Secrets are read from --request or stdin and are never accepted as flags or returned in command results.
| Property | Type | Required |
|---|---|---|
| clientID | string | yes |
| clientSecret | string | null | yes |
| clientType | "public" | "confidential" | yes |
| redirectURI | string (uri) | yes |
| accessToken | string | yes |
| refreshToken | string | null | yes |
| expiresAt | number | yes |
| accountUserID | string | yes |
| accountUsername | string | yes |
| grantedScopes | array<string> | yes |
| realmTokenIssuerURL | string | null | yes |
| refreshMode | string | yes |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"clientID": {
"type": "string",
"minLength": 1
},
"clientSecret": {
"anyOf": [
{
"type": "string",
"minLength": 1
},
{
"type": "null"
}
]
},
"clientType": {
"type": "string",
"enum": [
"public",
"confidential"
]
},
"redirectURI": {
"type": "string",
"format": "uri"
},
"accessToken": {
"type": "string",
"minLength": 1
},
"refreshToken": {
"anyOf": [
{
"type": "string",
"minLength": 1
},
{
"type": "null"
}
]
},
"expiresAt": {
"type": "number"
},
"accountUserID": {
"type": "string",
"minLength": 1
},
"accountUsername": {
"type": "string",
"minLength": 1
},
"grantedScopes": {
"type": "array",
"items": {
"type": "string"
}
},
"realmTokenIssuerURL": {
"anyOf": [
{
"type": "string",
"minLength": 1
},
{
"type": "null"
}
]
},
"refreshMode": {
"type": "string",
"const": "external"
}
},
"required": [
"clientID",
"clientSecret",
"clientType",
"redirectURI",
"accessToken",
"refreshToken",
"expiresAt",
"accountUserID",
"accountUsername",
"grantedScopes",
"realmTokenIssuerURL",
"refreshMode"
],
"additionalProperties": false,
"description": "Complete externally refreshed X OAuth credential. Secrets are read from --request or stdin and are never accepted as flags or returned in command results.",
"$id": "https://dmbridge.dev/schemas/v6/accounts.import.x.request.json"
}| Property | Type | Required |
|---|---|---|
| type | "text" | "image" | "video" | "audio" | "voice" | "file" | "gif" | "sticker" | "link" | "location" | "contact" | "sharedPost" | "sharedStory" | "sharedReel" | "reply" | "quote" | "system" | "deleted" | "unsupported" | "unknown" | yes |
| text | string | no |
| content | object | no |
| attachments | array<object> | no |
| recipientID | string | no |
| requestID | string | no |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"text",
"image",
"video",
"audio",
"voice",
"file",
"gif",
"sticker",
"link",
"location",
"contact",
"sharedPost",
"sharedStory",
"sharedReel",
"reply",
"quote",
"system",
"deleted",
"unsupported",
"unknown"
]
},
"text": {
"type": "string"
},
"content": {
"type": "object",
"additionalProperties": true
},
"attachments": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
"recipientID": {
"type": "string"
},
"requestID": {
"type": "string"
}
},
"required": [
"type"
],
"additionalProperties": false,
"$id": "https://dmbridge.dev/schemas/v6/message.send.json"
}| Property | Type | Required |
|---|---|---|
| type | string | yes |
| text | string | yes |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "text"
},
"text": {
"type": "string",
"minLength": 1
}
},
"required": [
"type",
"text"
],
"additionalProperties": false,
"$id": "https://dmbridge.dev/schemas/v6/message.edit.json"
}| Property | Type | Required |
|---|---|---|
| reaction | string | yes |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"reaction": {
"type": "string",
"minLength": 1
}
},
"required": [
"reaction"
],
"additionalProperties": false,
"$id": "https://dmbridge.dev/schemas/v6/reaction.request.json"
}Source of truth
The runtime schemas are defined in
src/protocol.ts.
Provider credential shapes live in
src/providers/x/credentials.ts
and
src/providers/instagram/credentials.ts.