chat.bsky.convo.send Message

POST {{baseUrl}}/xrpc/chat.bsky.convo.sendMessage

This endpoint is part of the Bluesky Chat (DMs) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the single central chat service by setting the appropriate service DID (did:web:api.bsky.chat) in the service proxying header.

To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.

Request Body

{"convoId"=>"<string>", "message"=>{"text"=>"<string>", "facets"=>[{"index"=>{"byteStart"=>"<integer>", "byteEnd"=>"<integer>"}, "features"=>[{"did"=>{"value"=>"<Error: Too many levels of nesting to fake this schema>"}}, {"did"=>{"value"=>"<Error: Too many levels of nesting to fake this schema>"}}]}, {"index"=>{"byteStart"=>"<integer>", "byteEnd"=>"<integer>"}, "features"=>[{"did"=>{"value"=>"<Error: Too many levels of nesting to fake this schema>"}}, {"did"=>{"value"=>"<Error: Too many levels of nesting to fake this schema>"}}]}], "embed"=>{"record"=>{"uri"=>"<at-uri>", "cid"=>"<cid>"}}}}

HEADERS

KeyDatatypeRequiredDescription
Content-Typestring
Acceptstring

RESPONSES

status: OK

{&quot;id&quot;:&quot;\u003cstring\u003e&quot;,&quot;rev&quot;:&quot;\u003cstring\u003e&quot;,&quot;text&quot;:&quot;\u003cstring\u003e&quot;,&quot;sender&quot;:{&quot;did&quot;:&quot;\u003cdid\u003e&quot;},&quot;sentAt&quot;:&quot;\u003cdateTime\u003e&quot;,&quot;facets&quot;:[{&quot;index&quot;:{&quot;byteStart&quot;:&quot;\u003cinteger\u003e&quot;,&quot;byteEnd&quot;:&quot;\u003cinteger\u003e&quot;},&quot;features&quot;:[{&quot;did&quot;:&quot;\u003cdid\u003e&quot;},{&quot;did&quot;:&quot;\u003cdid\u003e&quot;}]},{&quot;index&quot;:{&quot;byteStart&quot;:&quot;\u003cinteger\u003e&quot;,&quot;byteEnd&quot;:&quot;\u003cinteger\u003e&quot;},&quot;features&quot;:[{&quot;did&quot;:&quot;\u003cdid\u003e&quot;},{&quot;did&quot;:&quot;\u003cdid\u003e&quot;}]}],&quot;embed&quot;:{&quot;record&quot;:{&quot;uri&quot;:&quot;\u003cat-uri\u003e&quot;,&quot;cid&quot;:&quot;\u003ccid\u003e&quot;,&quot;author&quot;:{&quot;did&quot;:&quot;\u003cdid\u003e&quot;,&quot;handle&quot;:&quot;\u003chandle\u003e&quot;,&quot;displayName&quot;:&quot;\u003cstring\u003e&quot;,&quot;avatar&quot;:&quot;\u003curi\u003e&quot;,&quot;associated&quot;:{&quot;value&quot;:&quot;\u003cError: Too many levels of nesting to fake this schema\u003e&quot;},&quot;viewer&quot;:{&quot;value&quot;:&quot;\u003cError: Too many levels of nesting to fake this schema\u003e&quot;},&quot;labels&quot;:[{&quot;value&quot;:&quot;\u003cError: Too many levels of nesting to fake this schema\u003e&quot;},{&quot;value&quot;:&quot;\u003cError: Too many levels of nesting to fake this schema\u003e&quot;}],&quot;createdAt&quot;:&quot;\u003cdateTime\u003e&quot;},&quot;value&quot;:{},&quot;indexedAt&quot;:&quot;\u003cdateTime\u003e&quot;,&quot;labels&quot;:[{&quot;src&quot;:{&quot;value&quot;:&quot;\u003cError: Too many levels of nesting to fake this schema\u003e&quot;},&quot;uri&quot;:{&quot;value&quot;:&quot;\u003cError: Too many levels of nesting to fake this schema\u003e&quot;},&quot;val&quot;:{&quot;value&quot;:&quot;\u003cError: Too many levels of nesting to fake this schema\u003e&quot;},&quot;cts&quot;:{&quot;value&quot;:&quot;\u003cError: Too many levels of nesting to fake this schema\u003e&quot;},&quot;ver&quot;:{&quot;value&quot;:&quot;\u003cError: Too many levels of nesting to fake this schema\u003e&quot;},&quot;cid&quot;:{&quot;value&quot;:&quot;\u003cError: Too many levels of nesting to fake this schema\u003e&quot;},&quot;neg&quot;:{&quot;value&quot;:&quot;\u003cError: Too many levels of nesting to fake this schema\u003e&quot;},&quot;exp&quot;:{&quot;value&quot;:&quot;\u003cError: Too many levels of nesting to fake this schema\u003e&quot;},&quot;sig&quot;:{&quot;value&quot;:&quot;\u003cError: Too many levels of nesting to fake this schema\u003e&quot;}},{&quot;src&quot;:{&quot;value&quot;:&quot;\u003cError: Too many levels of nesting to fake this schema\u003e&quot;},&quot;uri&quot;:{&quot;value&quot;:&quot;\u003cError: Too many levels of nesting to fake this schema\u003e&quot;},&quot;val&quot;:{&quot;value&quot;:&quot;\u003cError: Too many levels of nesting to fake this schema\u003e&quot;},&quot;cts&quot;:{&quot;value&quot;:&quot;\u003cError: Too many levels of nesting to fake this schema\u003e&quot;},&quot;ver&quot;:{&quot;value&quot;:&quot;\u003cError: Too many levels of nesting to fake this schema\u003e&quot;},&quot;cid&quot;:{&quot;value&quot;:&quot;\u003cError: Too many levels of nesting to fake this schema\u003e&quot;},&quot;neg&quot;:{&quot;value&quot;:&quot;\u003cError: Too many levels of nesting to fake this schema\u003e&quot;},&quot;exp&quot;:{&quot;value&quot;:&quot;\u003cError: Too many levels of nesting to fake this schema\u003e&quot;},&quot;sig&quot;:{&quot;value&quot;:&quot;\u003cError: Too many levels of nesting to fake this schema\u003e&quot;}}],&quot;replyCount&quot;:&quot;\u003cinteger\u003e&quot;,&quot;repostCount&quot;:&quot;\u003cinteger\u003e&quot;,&quot;likeCount&quot;:&quot;\u003cinteger\u003e&quot;,&quot;quoteCount&quot;:&quot;\u003cinteger\u003e&quot;,&quot;embeds&quot;:[{&quot;value&quot;:&quot;\u003cError: Too many levels of nesting to fake this schema\u003e&quot;},{&quot;value&quot;:&quot;\u003cError: Too many levels of nesting to fake this schema\u003e&quot;}]}}}