Skip to main content
POST
Upload a CSV of contacts (columns: phone, and optionally name, tags, city): read and counted, nothing imported yet. Answers the import, `pending`, with its preview (rows, valid, duplicates, outside Saudi Arabia, invalid); confirm it next with contacts.imports.confirm.

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

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

multipart/form-data
csv
string | null

Required without file.

Maximum string length: 10485760
file
file | null

Required without csv.

Maximum string length: 10240
file_name
string | null
Maximum string length: 191

Response

Created.

data
object
required