Skip to main content
PATCH
cURL
Guide: Applications

Authorizations

Authorization
string
header
required

Authorization: Bearer . An application key (tk_live_, tk_test_) has full access, which covers every product and any product added later, or custom access, chosen when the key is created: one or more of the scopes verify:check, verify:send (includes verify:check), notifications:read, notifications:send (includes notifications:read), email:read, email:send (includes email:read), email:manage (includes email:send), webhooks:manage, email:inbound, notifications:templates (includes notifications:read), chat:menus, chat:attendant. No key made on the API keys page holds notifications:templates, full access included: the three template writes answer such a key 403 insufficient_scope. A connected app's key holds it. Nor chat:menus: the five conversation menu operations answer such a key 403 insufficient_scope, and a connected app's key holds it once the client approved it. Nor chat:attendant: the five auto-attendant operations answer such a key 403 insufficient_scope too, and a connected app's key holds it once the client approved it. email:manage and webhooks:manage are held only by a key someone chose them for: a full-access key, old or new, never holds them. email:inbound, which reads, deletes and forwards received e-mail, is opt-in on every key, full access included: a key holds it only when it was turned on when the key was created. A call outside the key's access answers 403 insufficient_scope and names the scope it needs in the WWW-Authenticate response header. A partner key (tk_partner_) always has full access. Whatever its access, a key is a server-side secret.

Headers

Idempotency-Key
string

A 1 to 128 printable-ASCII key you generate, scoped to your API key. Replaying it with the same request answers the original 2xx unchanged, with the response header Idempotent-Replayed: true, and runs nothing again; the same key with another request answers 409 idempotency_key_reused, and a request still in flight 409 idempotency_in_progress. A refused request is never stored, so a corrected retry under the same key runs. Keys expire after 24 hours.

Path Parameters

external_id
string
required

Your own id for the application, as given at provisioning.

Body

application/json
code_length
integer

Digits in the code, 4 to 8.

ttl_seconds
integer

How long a code lives, in seconds: one of 60, 120, 180, 300, 600, 900.

max_attempts
integer

Wrong codes allowed per verification, 1 to 5.

max_per_hour
integer

Sends to one destination per hour, 1 to 10.

autofill_domain_enabled
boolean

Whether the @domain #code line goes out at the end of the SMS. The domain itself is derived from the website and cannot be set here.

android_app_hash
string

The 11-character hash for Google's SMS Retriever on Android, or null to clear it.

daily_spend_cap_halalas
integer

A cap on one day's charges for this application in halalas (Riyadh calendar day), 100 to 100000000, or null for no cap. Over it, sends answer 429 spend_cap_reached.

max_per_ip_per_hour
integer

Starts per end-user IP per hour, 1 to 1000, checked only when client_ip is passed on start. Over it, that address answers 429 ip_rate_limited.

max_new_destinations_per_hour
integer

Distinct new destinations per hour, 10 to 100000. Crossing it pauses the application (service.paused) until you unpause it.

Response

The settings in force

external_id
string
verify
object