Skip to content
Messages

Send a WhatsApp message

POST
/messages
curl --request POST \
--url https://api-kckit.kirim.chat/v1/messages \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "from": "example", "to": "example", "type": "text", "text": { "body": "example" } }'

Send a message of any supported type (text, template, image, document, video, audio, interactive). Pass Idempotency-Key to safely retry on network failure.

idempotency-key

Optional idempotency token. See /docs/idempotency.

string
Media type application/json
One of:
object
from
string
/^\+[1-9]\d{6,14}$/
to
required
string
/^\+[1-9]\d{6,14}$/
type
required
string
Allowed values: text
text
required
object
body
required
string
>= 1 characters <= 4096 characters

Message accepted for delivery

Media type application/json
object
data
required
object
id
required
string
object
required
string
Allowed values: message
to
required
string
type
required
string
status
required
string
Allowed values: queued pending sent delivered read failed
created_at
required
string format: date-time
conversation_id
string
error
object
code
required
string
message
required
string
provider_code
required
number | null
request_id
required
string
Example
{
"data": {
"id": "msg_01HXYZABCDEFGHJKMNPQRSTVWX",
"object": "message",
"status": "queued"
}
}

Validation failure

Media type application/json
object
error
required
object
type
required
string
code
required
string
message
required
string
param
string
request_id
required
string
Example
{
"error": {
"type": "invalid_request_error",
"code": "invalid_phone_number",
"request_id": "req_01HXYZABCDEFGHJKMNPQRSTVWX"
}
}

Authentication failure

Media type application/json
object
error
required
object
type
required
string
code
required
string
message
required
string
param
string
request_id
required
string
Example
{
"error": {
"type": "invalid_request_error",
"code": "invalid_phone_number",
"request_id": "req_01HXYZABCDEFGHJKMNPQRSTVWX"
}
}

Semantic failure (e.g. idempotency key reuse)

Media type application/json
object
error
required
object
type
required
string
code
required
string
message
required
string
param
string
request_id
required
string
Example
{
"error": {
"type": "invalid_request_error",
"code": "invalid_phone_number",
"request_id": "req_01HXYZABCDEFGHJKMNPQRSTVWX"
}
}

Rate limit exceeded

Media type application/json
object
error
required
object
type
required
string
code
required
string
message
required
string
param
string
request_id
required
string
Example
{
"error": {
"type": "invalid_request_error",
"code": "invalid_phone_number",
"request_id": "req_01HXYZABCDEFGHJKMNPQRSTVWX"
}
}

Upstream WhatsApp error

Media type application/json
object
error
required
object
type
required
string
code
required
string
message
required
string
param
string
request_id
required
string
Example
{
"error": {
"type": "invalid_request_error",
"code": "invalid_phone_number",
"request_id": "req_01HXYZABCDEFGHJKMNPQRSTVWX"
}
}

Service unavailable

Media type application/json
object
error
required
object
type
required
string
code
required
string
message
required
string
param
string
request_id
required
string
Example
{
"error": {
"type": "invalid_request_error",
"code": "invalid_phone_number",
"request_id": "req_01HXYZABCDEFGHJKMNPQRSTVWX"
}
}