Skip to main content
POST
AhaSend Go SDK

Authorizations

Authorization
string
header
required

API key for authentication. Non-empty Security Requirement values are AhaSend API-key roles. Roles listed within one requirement object are jointly required; separate requirement objects are alternatives.

Headers

Idempotency-Key
string

Optional idempotency key for safe request retries. Must be a unique string for each logical request. An identical request with a completed stored outcome returns the original status and body. An in-progress execution returns 409, a changed method/path/body returns 422, and a released 5xx execution may run again. Keys for non-secret responses expire after 24 hours. API-key create responses include a one-time secret_key, so successful encrypted replay responses for those operations 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

For scoped, a non-empty array is required. For global, this may be omitted, null, empty, or non-empty; supplied values are accepted but ignored.

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

on_reception
boolean
required

Trigger on message reception

on_delivered
boolean
required

Trigger on message delivery

on_transient_error
boolean
required

Trigger on transient errors

on_failed
boolean
required

Trigger on permanent failures

on_bounced
boolean
required

Trigger on bounces

on_suppressed
boolean
required

Trigger on suppressions

on_opened
boolean
required

Trigger on opens

on_clicked
boolean
required

Trigger on clicks

on_suppression_created
boolean
required

Trigger on suppression creation

on_dns_error
boolean
required

Trigger on DNS errors

scope
enum<string>
required

Webhook scope

Available options:
global,
scoped
domains
string[]
required

Domains this webhook applies to. Always present; global webhooks return an empty array.

success_count
integer
required

Number of successful calls

error_count
integer
required

Number of unsuccessful calls

errors_since_last_success
integer
required

Number of consecutive failed calls

last_request_at
string<date-time> | null
required

When the webhook was last called

secret
string
required

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