Skip to content
Docs

Chat API

Send messages to your chat and moderate it.

View as Markdown
On this page

Authenticate with a personal token as Authorization: Bearer pxp_...; the operations are also MCP tools unless noted. The full machine-readable definition is in the OpenAPI specification.

OperationMethod and pathScope
Get chat capabilitiesGET /overlays/{overlayId}/chatoverlays:read
Send chat messagePOST /overlays/{overlayId}/chat/messageschat:write
Moderate chatPOST /overlays/{overlayId}/chat/moderationchat:moderate
Get chat modeGET /overlays/{overlayId}/chat/modeoverlays:read
Set chat modePUT /overlays/{overlayId}/chat/modechat:moderate

Operations

Get chat capabilities

GET/api/v1/overlays/{overlayId}/chat

Returns for Twitch, Kick and YouTube whether the overlay owner's chat is connected and whether you can send messages, moderate and change chat modes there (null = only the platform knows).

Scope: overlays:read (Read overlays) · MCP tool: get_chat_capabilities · Notes: read only

NameInTypeRequiredDescription
overlayIdpathstringrequiredOverlay id (from list_overlays); its owner's channels are the chat. Up to 64 characters
Terminal
curl -X GET "https://pxstudio.cloud/api/v1/overlays/<overlayId>/chat" \
  -H "Authorization: Bearer $PX_TOKEN"

Send chat message

POST/api/v1/overlays/{overlayId}/chat/messages

PUBLIC: posts a message as your own account in the overlay owner's chat on Twitch, Kick and/or YouTube (all platforms where you can send when platforms is left out; YouTube only while the stream is live). Viewers see it right away.

Scope: chat:write (Send chat messages) · MCP tool: send_chat_message · Notes: needs confirmation in MCP

NameInTypeRequiredDescription
overlayIdpathstringrequiredOverlay id (from list_overlays); its owner's channels are the chat. Up to 64 characters
textbodystringrequiredUp to 500 characters
platformsbodyarray of twitch, kick, youtubeoptionalUp to 3 items
Terminal
curl -X POST "https://pxstudio.cloud/api/v1/overlays/<overlayId>/chat/messages" \
  -H "Authorization: Bearer $PX_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "text": "..." }'

Moderate chat

POST/api/v1/overlays/{overlayId}/chat/moderation

MODERATION: deletes a chat message, times out, bans or unbans a viewer in the overlay owner's chat, with your own moderator rights there. delete needs msgId; timeout, ban and unban need targetUserId (both come from the chat panel).

Scope: chat:moderate (Moderate chat) · MCP tool: moderate_chat · Notes: destructive, needs confirmation in MCP

NameInTypeRequiredDescription
overlayIdpathstringrequiredOverlay id (from list_overlays); its owner's channels are the chat. Up to 64 characters
platformbodytwitch, kick, youtuberequired
actionbodydelete, timeout, ban, unbanrequired
msgIdbodystringoptionalUp to 64 characters
targetUserIdbodystringoptionalUp to 64 characters
targetNamebodystringoptionalUp to 40 characters
durationSbodyintegeroptional1 to 1209600
reasonbodystringoptionalUp to 100 characters
Terminal
curl -X POST "https://pxstudio.cloud/api/v1/overlays/<overlayId>/chat/moderation" \
  -H "Authorization: Bearer $PX_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "platform": "twitch", "action": "delete" }'

Get chat mode

GET/api/v1/overlays/{overlayId}/chat/mode

Returns the chat modes of the overlay owner's Twitch chat: slow mode seconds, followers only (minutes or null), subscribers only, emote only and unique chat.

Scope: overlays:read (Read overlays) · MCP tool: get_chat_mode · Notes: read only

NameInTypeRequiredDescription
overlayIdpathstringrequiredOverlay id (from list_overlays); its owner's channels are the chat. Up to 64 characters
platformquerytwitchoptional
Terminal
curl -X GET "https://pxstudio.cloud/api/v1/overlays/<overlayId>/chat/mode" \
  -H "Authorization: Bearer $PX_TOKEN"

Set chat mode

PUT/api/v1/overlays/{overlayId}/chat/mode

MODERATION: changes chat modes of the overlay owner's Twitch chat right away (send only what changes): slowModeS (0 = off, 3 to 120), followersOnlyMin (null = off, minutes followed), subscribersOnly, emoteOnly, uniqueChat (no repeated messages).

Scope: chat:moderate (Moderate chat) · MCP tool: set_chat_mode · Notes: destructive, needs confirmation in MCP

NameInTypeRequiredDescription
overlayIdpathstringrequiredOverlay id (from list_overlays); its owner's channels are the chat. Up to 64 characters
platformbodytwitchrequired
settingsbodyobjectrequired
Terminal
curl -X PUT "https://pxstudio.cloud/api/v1/overlays/<overlayId>/chat/mode" \
  -H "Authorization: Bearer $PX_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "platform": "twitch", "settings": {} }'

Was this page helpful?