Skip to main content
POST
/
api
/
webhooks
Create a new webhook endpoint
curl --request POST \
  --url https://api.wappfy.io/api/webhooks \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "url": "https://example.com/webhook",
  "events": [
    "message.received",
    "message.sent"
  ],
  "secret": "<string>",
  "description": "<string>",
  "instance_id": "<string>",
  "headers": {
    "X-Custom": "value"
  },
  "retry_count": 3,
  "timeout_ms": 5000
}
'
{
  "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "user_id": "<string>",
  "url": "https://example.com/webhook",
  "events": [
    "message.received",
    "message.sent"
  ],
  "retry_count": 3,
  "timeout_ms": 5000,
  "is_active": true,
  "created_at": "<string>",
  "updated_at": "<string>",
  "secret": "<string>",
  "description": "Production webhook",
  "instance_id": "<string>",
  "headers": {}
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
url
string
required
Example:

"https://example.com/webhook"

events
enum<string>[]
required
Available options:
message.received,
message.sent,
message.delivered,
message.read,
message.failed,
message.reaction,
instance.connected,
instance.disconnected,
instance.qr,
contact.created,
group.joined,
group.left
Example:
["message.received", "message.sent"]
secret
string

HMAC secret for verifying webhook signatures

description
string
instance_id
string

Scope to a specific instance. NULL = global (all instances).

headers
object

Custom HTTP headers sent with each delivery

Example:
{ "X-Custom": "value" }
retry_count
number
default:3
timeout_ms
number
default:5000

Response

Webhook endpoint created

id
string
required

Webhook endpoint UUID

Example:

"a1b2c3d4-e5f6-7890-abcd-ef1234567890"

user_id
string
required

Owner user ID

url
string
required

Destination URL

Example:

"https://example.com/webhook"

events
string[]
required

Subscribed event types

Example:
["message.received", "message.sent"]
retry_count
number
required

Max retry attempts on failure

Example:

3

timeout_ms
number
required

Request timeout in milliseconds

Example:

5000

is_active
boolean
required

Whether the endpoint is active

Example:

true

created_at
string
required

Creation timestamp

updated_at
string
required

Last update timestamp

secret
string

HMAC secret for signature verification

description
string

Human-readable description

Example:

"Production webhook"

instance_id
string

Scoped instance ID (null = all instances)

headers
object

Custom HTTP headers sent with each delivery