Skip to main content
POST
/
webhooks
Create a webhook
curl --request POST \
  --url https://api.arkhq.io/v1/webhooks \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "My App Webhook",
  "url": "https://myapp.com/webhooks/email",
  "events": [
    "MessageSent",
    "MessageDeliveryFailed",
    "MessageBounced"
  ]
}
'
{
  "success": true,
  "data": {
    "id": "456",
    "uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "name": "<string>",
    "url": "<string>",
    "events": [
      "MessageSent"
    ],
    "allEvents": true,
    "enabled": true,
    "createdAt": "2023-11-07T05:31:56Z"
  },
  "meta": {
    "requestId": "req_V1StGXR8_Z5jdHi6"
  }
}

Authorizations

Authorization
string
header
required

Use your API key from arkhq.io/org/credentials

Authorization: Bearer YOUR_API_KEY

Body

application/json
name
string
required

Webhook name for identification

Minimum string length: 1
url
string<uri>
required

HTTPS endpoint URL

Minimum string length: 1
events
enum<string>[] | null

Events to subscribe to (accepts null):

  • MessageSent - Email successfully delivered to recipient's server
  • MessageDelayed - Temporary delivery failure, will retry
  • MessageDeliveryFailed - Permanent delivery failure
  • MessageHeld - Email held for manual review
  • MessageBounced - Email bounced back
  • MessageLinkClicked - Recipient clicked a tracked link
  • MessageLoaded - Recipient opened the email (tracking pixel loaded)
  • DomainDNSError - DNS configuration issue detected
Minimum array length: 1
Available options:
MessageSent,
MessageDelayed,
MessageDeliveryFailed,
MessageHeld,
MessageBounced,
MessageLinkClicked,
MessageLoaded,
DomainDNSError
allEvents
boolean | null
default:false

Subscribe to all events (ignores events array, accepts null)

enabled
boolean | null
default:true

Whether the webhook is enabled (accepts null)

Response

Webhook created

success
boolean
required
data
object
required
meta
object
required