Skip to content

Get the embed snippet

GET
/v1/channels/{channelId}/embed-snippet
curl --request GET \
--url https://api.keliplay.com/v1/channels/example/embed-snippet \
--header 'Authorization: Bearer <token>'

Returns the HTML snippet to paste into your page for this channel, and the play address it loads from. Replace YOUR_CLIENT_TOKEN with a token your backend mints from POST /v1/auth/session-tokens.

playBaseUrl is also returned on its own, for when you build the embed yourself (for example with the React component).

Permission: campaigns.read.

channelId
required
string

The channel’s id.

The snippet.

Media typeapplication/json
object
snippet
required

HTML to paste where the game should appear.

string
channelId
required
string
playBaseUrl
required

The play address games load from. The same value is shown in the channel’s Embed tab.

string
Example
{
"snippet": "<div id=\"krds-channel-0192f3a1-0000-7000-8000-00000000c001\"></div>\n<script src=\"https://play.keliplay.com/sdk/loader.js\"></script>\n<script>\n KrdsGames.mount('#krds-channel-0192f3a1-0000-7000-8000-00000000c001', {\n channelId: '0192f3a1-0000-7000-8000-00000000c001',\n clientToken: 'YOUR_CLIENT_TOKEN',\n playBaseUrl: 'https://play.keliplay.com',\n });\n</script>",
"channelId": "0192f3a1-0000-7000-8000-00000000c001",
"playBaseUrl": "https://play.keliplay.com"
}

The API key is missing, malformed or revoked.

Media typeapplication/json
object
error
required
object
code
required

Stable and safe to branch on.

  • invalid_request (400): the request is not valid.
  • unauthorized (401): missing, malformed or revoked API key.
  • upgrade_required (402): not in your plan, or a plan limit is reached.
  • forbidden (403): the key lacks a permission, or the action is not allowed.
  • not_found (404): nothing with that id in your account.
  • conflict (409): clashes with the current state.
  • confirmation_required (409): repeat with confirm=true. Folder deletion only.
  • rate_limited (429): wait for Retry-After seconds.
  • internal_error (500) and service_unavailable (503): try again later.
string
Allowed values: invalid_request unauthorized upgrade_required forbidden not_found conflict confirmation_required rate_limited internal_error service_unavailable
message
required

Written for a person. May change; do not parse it.

string
details
One of:
Array<object>
object
path
required

The failing field, dot separated, such as prize.label.

string
message
required
string
Example
{
"error": {
"code": "unauthorized",
"message": "Invalid or revoked API key."
}
}

The API key does not carry the permission this needs, or the request is not allowed.

Media typeapplication/json
object
error
required
object
code
required

Stable and safe to branch on.

  • invalid_request (400): the request is not valid.
  • unauthorized (401): missing, malformed or revoked API key.
  • upgrade_required (402): not in your plan, or a plan limit is reached.
  • forbidden (403): the key lacks a permission, or the action is not allowed.
  • not_found (404): nothing with that id in your account.
  • conflict (409): clashes with the current state.
  • confirmation_required (409): repeat with confirm=true. Folder deletion only.
  • rate_limited (429): wait for Retry-After seconds.
  • internal_error (500) and service_unavailable (503): try again later.
string
Allowed values: invalid_request unauthorized upgrade_required forbidden not_found conflict confirmation_required rate_limited internal_error service_unavailable
message
required

Written for a person. May change; do not parse it.

string
details
One of:
Array<object>
object
path
required

The failing field, dot separated, such as prize.label.

string
message
required
string
Example
{
"error": {
"code": "forbidden",
"message": "Your role does not allow this (draws.run)."
}
}

Nothing with that id exists in your account.

Media typeapplication/json
object
error
required
object
code
required

Stable and safe to branch on.

  • invalid_request (400): the request is not valid.
  • unauthorized (401): missing, malformed or revoked API key.
  • upgrade_required (402): not in your plan, or a plan limit is reached.
  • forbidden (403): the key lacks a permission, or the action is not allowed.
  • not_found (404): nothing with that id in your account.
  • conflict (409): clashes with the current state.
  • confirmation_required (409): repeat with confirm=true. Folder deletion only.
  • rate_limited (429): wait for Retry-After seconds.
  • internal_error (500) and service_unavailable (503): try again later.
string
Allowed values: invalid_request unauthorized upgrade_required forbidden not_found conflict confirmation_required rate_limited internal_error service_unavailable
message
required

Written for a person. May change; do not parse it.

string
details
One of:
Array<object>
object
path
required

The failing field, dot separated, such as prize.label.

string
message
required
string
Example
{
"error": {
"code": "not_found",
"message": "Channel 0192f3a1-0000-7000-8000-00000000c009 not found."
}
}