Discord
The Discord operations of the Hub REST API (8 operations).
bearerAuthAuthorizationBearer <API key>Pod API key (Bearer) issued via /api/hub/setup/agent or pod admin tooling. Browser/web clients may use the X-Session-Token header instead. See GET /api/hub/auth/status to introspect the calling key.
application/json- body
workspaceId?stringuuiddiscordChannelId*string1 <= lengthguildId?string1 <= length <= 64discordUserId*string1 <= lengthdiscordUsername?string1 <= lengthchannelKind?string"dm""guild"text?stringlength <= 50000""messageId*string1 <= lengthattachments?array<>items <= 4Record result
application/json- response
recorded*booleancurl -X POST 'https://pod.example.com/api/hub/discord/ingest' \ -H 'Content-Type: application/json' \ -d '{ "discordChannelId": "string", "discordUserId": "string", "messageId": "string"}'{ "recorded": true}bearerAuthAuthorizationBearer <API key>Pod API key (Bearer) issued via /api/hub/setup/agent or pod admin tooling. Browser/web clients may use the X-Session-Token header instead. See GET /api/hub/auth/status to introspect the calling key.
application/json- body
workspaceId?stringuuiddiscordChannelId*string1 <= lengthguildId?string1 <= length <= 64discordUserId*string1 <= lengthdiscordUsername*string1 <= lengthchannelKind?string"dm""guild"text?stringlength <= 50000""messageId*string1 <= lengthattachments?array<>items <= 4skillName?string1 <= length <= 200priority?string"interactive""background"Agent reply (may be partial with steps when timed out mid-stream)
application/json- response
reply*stringdeliverToExternalChannelId?stringsuppressReply?booleanneedsConnect?booleandiscordUserId?stringsteps?array<>partial?booleantimedOut?booleanerror?stringturnId?stringuuidcurl -X POST 'https://pod.example.com/api/hub/discord/agent-turn' \ -H 'Content-Type: application/json' \ -d '{ "discordChannelId": "string", "discordUserId": "string", "discordUsername": "string", "messageId": "string"}'{ "reply": "string", "deliverToExternalChannelId": "string", "suppressReply": true, "needsConnect": true, "discordUserId": "string", "steps": [ { "id": "string", "type": "string", "content": "string", "timestamp": "string", "toolName": "string", "toolInput": null, "toolOutput": null, "duration": 0, "error": "string", "title": "string", "description": "string", "status": "pending", "property1": null, "property2": null } ], "partial": true, "timedOut": true, "error": "string", "turnId": "7513f73d-27ec-455d-85b7-7bd021b4dccf"}bearerAuthAuthorizationBearer <API key>Pod API key (Bearer) issued via /api/hub/setup/agent or pod admin tooling. Browser/web clients may use the X-Session-Token header instead. See GET /api/hub/auth/status to introspect the calling key.
Run summary
application/json- response
skipped?booleanreason?stringprocessed?numberposted?numberskippedMuted?numberdeniedDropped?numbercurl -X POST 'https://pod.example.com/api/hub/discord/mail-feed/run'{ "skipped": true, "reason": "string", "processed": 0, "posted": 0, "skippedMuted": 0, "deniedDropped": 0}bearerAuthAuthorizationBearer <API key>Pod API key (Bearer) issued via /api/hub/setup/agent or pod admin tooling. Browser/web clients may use the X-Session-Token header instead. See GET /api/hub/auth/status to introspect the calling key.
application/json- body
apply?booleanfalseReconcile summary
application/json- response
dryRun*booleanmatched*numberupdated*numbercurl -X POST 'https://pod.example.com/api/hub/discord/reconcile-podwide' \ -H 'Content-Type: application/json' \ -d '{}'{ "dryRun": true, "matched": 0, "updated": 0}bearerAuthAuthorizationBearer <API key>Pod API key (Bearer) issued via /api/hub/setup/agent or pod admin tooling. Browser/web clients may use the X-Session-Token header instead. See GET /api/hub/auth/status to introspect the calling key.
Run summary
application/json- response
skipped?booleanreason?stringprocessed?numbercreated?numberskippedExisting?numbercurl -X POST 'https://pod.example.com/api/hub/discord/event-sync/run'{ "skipped": true, "reason": "string", "processed": 0, "created": 0, "skippedExisting": 0}bearerAuthAuthorizationBearer <API key>Pod API key (Bearer) issued via /api/hub/setup/agent or pod admin tooling. Browser/web clients may use the X-Session-Token header instead. See GET /api/hub/auth/status to introspect the calling key.
discordUserId*string1 <= lengthLink status
application/json- response
linked*booleansynapUserId?stringdisplayName?stringcurl -X GET 'https://pod.example.com/api/hub/discord/identity?discordUserId=string'{ "linked": true, "synapUserId": "string", "displayName": "string"}bearerAuthAuthorizationBearer <API key>Pod API key (Bearer) issued via /api/hub/setup/agent or pod admin tooling. Browser/web clients may use the X-Session-Token header instead. See GET /api/hub/auth/status to introspect the calling key.
workspaceId?stringuuidLinkable members
application/json- response
members*array<>curl -X GET 'https://pod.example.com/api/hub/discord/identity/members'{ "members": [ { "userId": "string", "name": "string" } ]}bearerAuthAuthorizationBearer <API key>Pod API key (Bearer) issued via /api/hub/setup/agent or pod admin tooling. Browser/web clients may use the X-Session-Token header instead. See GET /api/hub/auth/status to introspect the calling key.
application/json- body
discordUserId*string1 <= lengthmode*string"existing""new"targetUserId?stringuuiddisplayName?string1 <= length <= 200workspaceId?stringuuidLinked
application/json- response
linked*truetruesynapUserId*stringcreated*booleancurl -X POST 'https://pod.example.com/api/hub/discord/identity/link' \ -H 'Content-Type: application/json' \ -d '{ "discordUserId": "string", "mode": "existing"}'{ "linked": true, "synapUserId": "string", "created": true}