sdp_suki_token). Read the error message before you change credentials.
Which 401 you have
On Partner APIs, Login returns
suki_token. Send that value as the sdp_suki_token header on later REST and WebSocket calls. A Partner Token alone is not enough for session, stream, or content endpoints.Partner Token validation failed
Suki validates the Partner Token (JWT) with your Partner ID and the public keys you registered (usually a JWKS URL). Validation fails when the JWT is expired, missing required claims, malformed, or signed with a key Suki cannot verify.Required JWT claims
Confirm these claims are present and valid before you call Suki (decode with jwt.io if needed):exp- Token expiration time (Unix timestamp). The token must not be expired when you send it.iss- Token issuer (usually your identity provider URL or identifier).aud- Token audience (who the token is intended for).- User identifier - A claim that uniquely identifies the user, such as
sub,email, or a custom claim likeuserId. During onboarding you tell Suki which field is primary.
header.payload.signature.
Fix Partner Token failures
1
Confirm field names for your integration
Partner APIs: Send
partner_id and partner_token in the Register and Login request body. For Bearer and Single Auth Token partners, also send provider_id when required.SDKs: Pass partnerId and partnerToken (for example through SukiAuthManager or the Headless auth hook).2
Decode and inspect the JWT
Check
exp, iss, aud, and the user identifier claim you registered during onboarding. Fix empty or null identifier values.3
Verify signing keys
Confirm your JWKS URL (or other public-key method) is reachable over HTTPS and that the
kid in the JWT header matches a key in that JWKS set. After key rotation, keep old keys available during the transition.4
Match Partner ID to onboarding
Use the Partner ID Suki issued for your account. A wrong Partner ID returns 400 with โUnknown partner identifierโ, not a successful token exchange.
invalid_sdp_token on later calls
After Login succeeds, Partner API calls authorize with the Suki Token. The common error id isinvalid_sdp_token (401): missing, expired, or invalid sdp_suki_token.
1
Confirm Login succeeded
Call Login and read
suki_token from the response. Do not reuse a Partner Token as sdp_suki_token.2
Send the documented header
Set the
sdp_suki_token header on subsequent REST and WebSocket requests. Use the same environment host for Login and for those calls.3
Refresh before or after expiry
The Suki Token is valid for 1 hour. Call Login again with a valid Partner Token to refresh, then update clients with the new
sdp_suki_token. See Suki Token expired during a long session.Next steps
Partner authentication - Token exchange, JWT claims, and auth troubleshooting Login - Exchangepartner_id and partner_token for suki_token
Ambient and Dictation error messages - Look up invalid_sdp_token and related ids
Suki Token expired during a long session - Refresh after the 1 hour lifetime
Wrong staging vs production endpoints - Align hosts, tokens, and SDK environment