AhaSend · Capability
AhaSend API v2 — Webhooks
AhaSend API v2 — Webhooks. 5 operations. Lead operation: AhaSend Get Webhooks. Self-contained Naftiko capability covering one Ahasend business surface.
What You Can Do
GET
Getwebhooks
— AhaSend Get Webhooks
/v1/v2/accounts/{account-id}/webhooks
POST
Createwebhook
— AhaSend Create Webhook
/v1/v2/accounts/{account-id}/webhooks
GET
Getwebhook
— AhaSend Get Webhook
/v1/v2/accounts/{account-id}/webhooks/{webhook-id}
PUT
Updatewebhook
— AhaSend Update Webhook
/v1/v2/accounts/{account-id}/webhooks/{webhook-id}
DELETE
Deletewebhook
— AhaSend Delete Webhook
/v1/v2/accounts/{account-id}/webhooks/{webhook-id}
MCP Tools
ahasend-get-webhooks
AhaSend Get Webhooks
read-only
idempotent
ahasend-create-webhook
AhaSend Create Webhook
ahasend-get-webhook
AhaSend Get Webhook
read-only
idempotent
ahasend-update-webhook
AhaSend Update Webhook
idempotent
ahasend-delete-webhook
AhaSend Delete Webhook
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: AhaSend API v2 — Webhooks
description: 'AhaSend API v2 — Webhooks. 5 operations. Lead operation: AhaSend Get Webhooks. Self-contained Naftiko capability
covering one Ahasend business surface.'
tags:
- Ahasend
- Webhooks
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
AHASEND_API_KEY: AHASEND_API_KEY
capability:
consumes:
- type: http
namespace: openapi-v2-webhooks
baseUri: https://api.ahasend.com
description: AhaSend API v2 — Webhooks business capability. Self-contained, no shared references.
resources:
- name: v2-accounts-account_id-webhooks
path: /v2/accounts/{account_id}/webhooks
operations:
- name: getwebhooks
method: GET
description: AhaSend Get Webhooks
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: account_id
in: path
type: string
description: Account ID
required: true
- name: enabled
in: query
type: boolean
description: Filter by enabled status
- name: on_reception
in: query
type: boolean
description: Filter by reception event trigger
- name: on_delivered
in: query
type: boolean
description: Filter by delivery event trigger
- name: on_transient_error
in: query
type: boolean
description: Filter by transient error event trigger
- name: on_failed
in: query
type: boolean
description: Filter by failure event trigger
- name: on_bounced
in: query
type: boolean
description: Filter by bounce event trigger
- name: on_suppressed
in: query
type: boolean
description: Filter by suppression event trigger
- name: on_opened
in: query
type: boolean
description: Filter by open event trigger
- name: on_clicked
in: query
type: boolean
description: Filter by click event trigger
- name: on_suppression_created
in: query
type: boolean
description: Filter by suppression creation event trigger
- name: on_dns_error
in: query
type: boolean
description: Filter by DNS error event trigger
- name: limit
in: query
type: integer
description: Maximum number of items to return (1-100)
- name: after
in: query
type: string
description: Pagination cursor for the next page. Provide the value provided in `next_cursor` from the response.
- name: before
in: query
type: string
description: Pagination cursor for the previous page.
- name: createwebhook
method: POST
description: AhaSend Create Webhook
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: account_id
in: path
type: string
description: Account ID
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: v2-accounts-account_id-webhooks-webhook_id
path: /v2/accounts/{account_id}/webhooks/{webhook_id}
operations:
- name: getwebhook
method: GET
description: AhaSend Get Webhook
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: account_id
in: path
type: string
description: Account ID
required: true
- name: webhook_id
in: path
type: string
description: Webhook ID
required: true
- name: updatewebhook
method: PUT
description: AhaSend Update Webhook
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: account_id
in: path
type: string
description: Account ID
required: true
- name: webhook_id
in: path
type: string
description: Webhook ID
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: deletewebhook
method: DELETE
description: AhaSend Delete Webhook
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: account_id
in: path
type: string
description: Account ID
required: true
- name: webhook_id
in: path
type: string
description: Webhook ID
required: true
authentication:
type: bearer
token: '{{env.AHASEND_API_KEY}}'
exposes:
- type: rest
namespace: openapi-v2-webhooks-rest
port: 8080
description: REST adapter for AhaSend API v2 — Webhooks. One Spectral-compliant resource per consumed operation, prefixed
with /v1.
resources:
- path: /v1/v2/accounts/{account-id}/webhooks
name: v2-accounts-account-id-webhooks
description: REST surface for v2-accounts-account_id-webhooks.
operations:
- method: GET
name: getwebhooks
description: AhaSend Get Webhooks
call: openapi-v2-webhooks.getwebhooks
with:
account_id: rest.account_id
enabled: rest.enabled
on_reception: rest.on_reception
on_delivered: rest.on_delivered
on_transient_error: rest.on_transient_error
on_failed: rest.on_failed
on_bounced: rest.on_bounced
on_suppressed: rest.on_suppressed
on_opened: rest.on_opened
on_clicked: rest.on_clicked
on_suppression_created: rest.on_suppression_created
on_dns_error: rest.on_dns_error
limit: rest.limit
after: rest.after
before: rest.before
outputParameters:
- type: object
mapping: $.
- method: POST
name: createwebhook
description: AhaSend Create Webhook
call: openapi-v2-webhooks.createwebhook
with:
account_id: rest.account_id
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/v2/accounts/{account-id}/webhooks/{webhook-id}
name: v2-accounts-account-id-webhooks-webhook-id
description: REST surface for v2-accounts-account_id-webhooks-webhook_id.
operations:
- method: GET
name: getwebhook
description: AhaSend Get Webhook
call: openapi-v2-webhooks.getwebhook
with:
account_id: rest.account_id
webhook_id: rest.webhook_id
outputParameters:
- type: object
mapping: $.
- method: PUT
name: updatewebhook
description: AhaSend Update Webhook
call: openapi-v2-webhooks.updatewebhook
with:
account_id: rest.account_id
webhook_id: rest.webhook_id
body: rest.body
outputParameters:
- type: object
mapping: $.
- method: DELETE
name: deletewebhook
description: AhaSend Delete Webhook
call: openapi-v2-webhooks.deletewebhook
with:
account_id: rest.account_id
webhook_id: rest.webhook_id
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: openapi-v2-webhooks-mcp
port: 9090
transport: http
description: MCP adapter for AhaSend API v2 — Webhooks. One tool per consumed operation, routed inline through this capability's
consumes block.
tools:
- name: ahasend-get-webhooks
description: AhaSend Get Webhooks
hints:
readOnly: true
destructive: false
idempotent: true
call: openapi-v2-webhooks.getwebhooks
with:
account_id: tools.account_id
enabled: tools.enabled
on_reception: tools.on_reception
on_delivered: tools.on_delivered
on_transient_error: tools.on_transient_error
on_failed: tools.on_failed
on_bounced: tools.on_bounced
on_suppressed: tools.on_suppressed
on_opened: tools.on_opened
on_clicked: tools.on_clicked
on_suppression_created: tools.on_suppression_created
on_dns_error: tools.on_dns_error
limit: tools.limit
after: tools.after
before: tools.before
outputParameters:
- type: object
mapping: $.
- name: ahasend-create-webhook
description: AhaSend Create Webhook
hints:
readOnly: false
destructive: false
idempotent: false
call: openapi-v2-webhooks.createwebhook
with:
account_id: tools.account_id
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: ahasend-get-webhook
description: AhaSend Get Webhook
hints:
readOnly: true
destructive: false
idempotent: true
call: openapi-v2-webhooks.getwebhook
with:
account_id: tools.account_id
webhook_id: tools.webhook_id
outputParameters:
- type: object
mapping: $.
- name: ahasend-update-webhook
description: AhaSend Update Webhook
hints:
readOnly: false
destructive: false
idempotent: true
call: openapi-v2-webhooks.updatewebhook
with:
account_id: tools.account_id
webhook_id: tools.webhook_id
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: ahasend-delete-webhook
description: AhaSend Delete Webhook
hints:
readOnly: false
destructive: true
idempotent: true
call: openapi-v2-webhooks.deletewebhook
with:
account_id: tools.account_id
webhook_id: tools.webhook_id
outputParameters:
- type: object
mapping: $.