Skip to main content
POST
Create a Sending API key for the application (`mode` live or test, `name`, `access` full or custom with `scopes` per product, `expires_in_days`, `ip_allowlist`); answers the key with its `plaintext`, shown this once.

Authorizations

Authorization
string
header
required

An account token from Settings › Account API in the Tawked console: Authorization: Bearer tk_acct_…

Headers

Idempotency-Key
string

One per intended change (1 to 128 printable ASCII characters): a retry with the same key and the same request answers the stored 2xx with Idempotent-Replayed: true, for 24 hours. A 428 approval_required is never stored: send the approved request again with the same key or none. An answer that carried a secret shown once is never kept: its replay answers 409 idempotency_secret_not_replayable with the id of what it made.

Required string length: 1 - 128
Tawked-Approval
string<uuid>

The id of an approval its person approved (approvals.show answers approved): the same request then runs, once.

Path Parameters

application
string
required

An application's id (a UUID); list them with applications.applications.list.

Pattern: ^(?:[\da-fA-F]{8}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{12})$

Body

application/json
mode
enum<string>
required
Available options:
live,
test
access
enum<string>

Required with scopes.

Available options:
full,
custom
expires_in_days
enum<integer> | null
Available options:
30,
90,
180,
365
ip_allowlist
string | null
Maximum string length: 2000
name
string | null
Maximum string length: 80
scope
enum<string>
Available options:
full,
check
scopes
object | null

Response

Created.

data
object
required