Unable to exchange Authorization Code + PKCE for user token / unable to send chat messages
Hello Kick Dev Team,
I am developing a custom application for my own Kick channel.
What works
Using grant_type=client_credentials, I can successfully obtain an app token.
Token introspection returns:
{
"active": true,
"token_type": "app"
}
With this token I can successfully:
- Create event subscriptions
- Receive webhook events
- Receive chat.message.sent events
What does not work
Sending messages through:
returns:
when using the app token.
Authorization Code + PKCE
I generated a valid:
- code_verifier
- code_challenge (S256)
The authorization endpoint successfully returns an authorization code.
However, exchanging the authorization code for a user token fails.
Tests performed:
- client_id + client_secret in request body → 401
- Basic Authentication → 400
The same credentials successfully work with:
grant_type=client_credentials
Questions
- Can
POST /public/v1/chat be used with an app token obtained via client_credentials?
- If not, what exact OAuth flow is required?
- Is Authorization Code + PKCE currently supported for chat message publishing?
- Which scopes are required?
- Could you provide a working example of the token exchange request?
- Does sending chat messages require additional approval or bot-specific credentials?
Thank you.
Luis
Unable to exchange Authorization Code + PKCE for user token / unable to send chat messages
Hello Kick Dev Team,
I am developing a custom application for my own Kick channel.
What works
Using
grant_type=client_credentials, I can successfully obtain an app token.Token introspection returns:
{ "active": true, "token_type": "app" }With this token I can successfully:
What does not work
Sending messages through:
returns:
401 Unauthorizedwhen using the app token.
Authorization Code + PKCE
I generated a valid:
The authorization endpoint successfully returns an authorization code.
However, exchanging the authorization code for a user token fails.
Tests performed:
The same credentials successfully work with:
Questions
POST /public/v1/chatbe used with an app token obtained viaclient_credentials?Thank you.
Luis