staqlydocs

Kick

Send a post as a chat message in your Kick channel's chat, with replies as comments. What to register in Kick's developer settings.

Edit on GitHub

Staqly publishes to Kick as a chat message in the connected account's own channel: it signs in with OAuth 2.1 (with PKCE) and sends the text with POST /public/v1/chat. Kick chat takes text only. A chat message is not a lasting post: it shows in the live chat (for example an announcement when you go live) and scrolls away; the target links to the channel.

What you need

A Kick app, registered once per server. Its keys go into the server's environment (.env), the same way locally and in the cloud; a workspace can also bring its own app (see Developer apps).

Create the app

On kick.com, open Settings → Developer (two-factor authentication must be on), then Create App:

FieldValue
Redirect URLyour dashboard's /channels/callback/kick, for example http://localhost:8080/channels/callback/kick locally or https://staqly.example.com/channels/callback/kick
ScopesRead user information, Read channel information, Write to Chat feed

Copy the Client ID and Client Secret.

Give staqly the keys

.env
PROVIDER_KICK_CLIENT_ID=your-client-id
PROVIDER_KICK_CLIENT_SECRET=your-client-secret
  • Docker: docker run ... --env-file .env ghcr.io/staqly/staqly:latest, or -e PROVIDER_KICK_CLIENT_ID=....
  • Binary: export both in your shell, then run staqly serve or staqly service install.

Until both are set, Kick shows as soon in Channels → Add channel. PROVIDER_KICK_ENABLED=false hides it altogether.

Connect the account

Connect with Kick opens id.kick.com, where the person signs in and allows the app. Staqly asks for these scopes:

ScopeWhy
user:readRead the account's name and picture
channel:readRead the channel's address, to link to it
chat:writeSend chat messages

The channel shows the account's name, @channel and picture.

Limits

Text500 characters
Medianone: chat is text only

Comments

A post's thread goes out as chat replies, each to the message before it, after its delay.

When publishing fails

Kick saysStaqly does
The sign-in expired or was revoked (401, a refused refresh)Marks the channel Needs reconnect and fails the target; reconnect it from the row's menu
Rate limit (429) or Kick unavailable (5xx)Retries through the job queue (after 1, 5, then 15 minutes)
The message was not sent (slow mode, followers-only chat, a banned word), a banFails the target with the reason; retrying would not help, so it does not
The answer never came back (a dropped connection)Fails the target saying the message may have been published: check the chat before you retry

Access tokens are short-lived; staqly renews them with the refresh token before they run out and right before publishing when needed.

On this page