Skip to main content
POST
AhaSend Go SDK

Authorizations

Authorization
string
header
required

API key for authentication

Headers

Idempotency-Key
string

Optional idempotency key for safe request retries. Must be a unique string for each logical request. Requests with the same key will return the same response. Keys for non-secret responses expire after 24 hours. API-key create responses include a one-time secret_key, so their encrypted replay responses expire after 5 minutes.

Maximum string length: 255

Path Parameters

account_id
string<uuid>
required

Account ID

Body

application/json
name
string
required

Webhook name

Maximum string length: 255
url
string<uri>
required

Webhook URL

scope
enum<string>
required

Webhook scope

Available options:
global,
scoped
enabled
boolean
default:true

Whether the webhook is enabled

on_reception
boolean
default:false

Trigger on message reception

on_delivered
boolean
default:false

Trigger on message delivery

on_transient_error
boolean
default:false

Trigger on transient errors

on_failed
boolean
default:false

Trigger on permanent failures

on_bounced
boolean
default:false

Trigger on bounces

on_suppressed
boolean
default:false

Trigger on suppressions

on_opened
boolean
default:false

Trigger on opens

on_clicked
boolean
default:false

Trigger on clicks

on_suppression_created
boolean
default:false

Trigger on suppression creation

on_dns_error
boolean
default:false

Trigger on DNS errors

domains
string[] | null

Domains this webhook applies to

Response

Webhook created successfully

object
enum<string>
required

Object type identifier

Available options:
webhook
id
string<uuid>
required

Unique identifier for the webhook

created_at
string<date-time>
required

When the webhook was created

updated_at
string<date-time>
required

When the webhook was last updated

name
string
required

Webhook name

url
string<uri>
required

Webhook URL

enabled
boolean
required

Whether the webhook is enabled

secret
string
required

Webhook signing secret. Returned only when the webhook is created.

on_reception
boolean

Trigger on message reception

on_delivered
boolean

Trigger on message delivery

on_transient_error
boolean

Trigger on transient errors

on_failed
boolean

Trigger on permanent failures

on_bounced
boolean

Trigger on bounces

on_suppressed
boolean

Trigger on suppressions

on_opened
boolean

Trigger on opens

on_clicked
boolean

Trigger on clicks

on_suppression_created
boolean

Trigger on suppression creation

on_dns_error
boolean

Trigger on DNS errors

scope
enum<string>

Webhook scope

Available options:
global,
scoped
domains
string[]

Domains this webhook applies to

success_count
integer

Number of successful calls

error_count
integer

Number of unsuccessful calls

errors_since_last_success
integer

Number of consecutive failed calls

last_request_at
string<date-time> | null

When the webhook was last called