1. Webhook
Growby
  • Start Guide
    • Getting Started
    • API Reference
  • Messages
    • Template Messages
      • Send Text Message
      • Send Interactive Message
      • Send Media Message
    • Session Messages
      • Send Text Message
      • Send Image Message
      • Send Video Message
      • Send Audio Message
      • Send Document Message
      • Send Interactive Reply Message
    • Incoming Messages
      • Received Text Message
      • Received Message with Reaction
      • Received Media Message with Image
      • Received Callback from a Quick Reply Button Click
    • Other
      • Message Status & Typing Indicator
  • Template
    • List Templates
      GET
    • Create Template
      POST
    • Delete Template
      DELETE
    • Upload Media
      POST
  • WABA
    • List WABA
      GET
    • Retrieve WABA Details from Meta
      GET
    • Retrieve WhatsApp Business Profile Detail
      GET
    • Update WhatsApp Business Profile
      POST
    • Upload WhatsApp Business Profile
      POST
  • Partner
    • Integration Guide - Option 1
    • Integration Guide - Option 2
  • Project
    • Create Project
      POST
    • List Projects
      GET
    • Update Project
      PUT
    • Retrieve Project
      GET
  • Activity Logs
    • All Event Logs
    • Incoming Message Logs
    • Message Status Logs
    • Other Event Logs
    • Multiple Event Types
  • Knowledge Base
    • Programming Languages
      • Python
      • Node.js
      • PHP
      • Laravel
      • Java
      • C# .NET
    • Product
      • Changelog
  • Webhook
    • /v1/webhook/config
      POST
    • /v1/webhook/config
      GET
    • /v1/webhook/config/{projectId}
      GET
    • /v1/webhook/details/{webhookId}
      GET
    • /v1/webhook/config/{webhookId}
      PUT
    • /v1/webhook/config/{webhookId}
      DELETE
  • Schemas
    • Schemas
      • Template Message
      • 401/403 Message Response
      • AccountLoginRequest
      • APIKeyDto
      • ReadTypingIndicatorRequest
      • AccountRegisterRequest
      • TypingIndicator
      • PartnerConfigDto
      • LoginResponse
      • PartnerInfoDto
      • WABASignUp
      • OrderCheckoutDto
      • OrderDto
      • OrderStatusEnum
      • PaymentGatewayDto
    • Knowledge Base
    • Address
    • Account
    • Webhook
    • CommonResponse
    • AccountDetailDto
    • WebhookConfigDto
    • CreateOrUpdateProjectRequest
    • Contact
    • WebhookConfiguration
    • Error
    • ContactName
    • Button
    • WebhookLogDto
    • ErrorResponse
    • CarouselCard
    • Email
    • ClientData
    • Component
    • ProjectDetailDto
    • ProjectWABADetail
    • Interactive
    • WABADetail
    • InteractiveAction
    • WABADto
    • InteractiveBody
    • CreateTemplateRequest
    • InteractiveButton
    • InteractiveFooter
    • CreateWebhookConfigRequest
    • InteractiveHeader
    • InteractiveMedia
    • Example
    • InteractiveProductItem
    • InteractiveProductSection
    • InteractiveReply
    • InteractiveRow
    • InteractiveSection
    • Location
    • Media
    • MessageRequest
    • MessageResponse
    • MessageTemplate
    • Organization
    • LimitedTimeOffer
    • Phone
    • Reaction
    • Response
    • TemplateAction
    • NamedParameter
    • TemplateButtons
    • TemplateCarousel
    • TemplateComponent
    • TemplateCurrency
    • PaginatedWebhookLogsResponse
    • TemplateDateTime
    • PartnerClientSession
    • TemplateLimitedTimeOffer
    • PartnerClientSessionDto
    • TemplateMedia
    • TemplateParameter
    • TemplateProductItem
    • TemplateSection
    • TemplateTapTargetConfiguration
    • SupportedApp
    • Text
    • Url
    • WhatsAppBusinessProfile
    • UploadMedia
  1. Webhook

/v1/webhook/config

POST
/v1/webhook/config
Creates a new webhook configuration for a project.
PropertyValue
EndpointPOST /v1/webhook/config
MethodPOST
Auth RequiredYes ([Authorize])
Content-Typeapplication/json

Field Details#

FieldTypeRequiredValidationDescription
project_idintYes—Project ID to associate the webhook with
waba_idlongYes—WABA (WhatsApp Business Account) ID
webhook_namestringYes—Display name for the webhook configuration
timeoutintNo—Request timeout in seconds
urlstringYesMust be a valid HTTP or HTTPS absolute URLCallback URL where webhook events are sent
secretstringNo—Secret key for webhook signature verification
is_activeboolNo—Whether the webhook is active (defaults to true)
subscribed_eventsHashSet<string>NoSee Subscribed EventsSet of event types the webhook should receive

Subscribed Events#

The subscribed_events field on a webhook configuration accepts the following string values (mapped from the SubscribeEvent enum):
ValueDescription
IncomingMessageReceive notifications for incoming WhatsApp messages
DeliveryStatusReceive message delivery status updates
AccountStatusReceive WhatsApp Business Account status changes
TemplateStatusReceive message template status updates
Constraints:
Request body must not be null. project_id, waba_id, webhook_name, and url are required.
url must be a valid absolute HTTP or HTTPS URL (validated server-side via Uri.TryCreate).
organization_id and account_id are resolved from the authenticated user's JWT context.

Backend Processing#

1.
Validates the request body and URL format. Returns 400 if invalid.
2.
Generates a unique webhook ID and persists the configuration to the Webhooks DynamoDB table via CreateWebhookConfigAsync.
3.
Retrieves and returns the newly created webhook configuration.

Request

Body Params application/json

Examples

Responses

🟢200
application/json
OK
Bodyapplication/json

🟠400
🟠401
🟠403
🔴500
Request Request Example
Shell
JavaScript
Java
Swift
curl --location 'https://api.sendzen.io/v1/webhook/config' \
--header 'Content-Type: application/json' \
--data '{}'
Response Response Example
200 - Example 1
{
    "id": "string",
    "project_id": 0,
    "waba_id": 0,
    "webhook_name": "string",
    "timeout": 0,
    "url": "string",
    "secret": "string",
    "is_active": true,
    "subscribed_events": [
        "string"
    ]
}
Modified at 2026-07-22 12:47:16
Previous
Changelog
Next
/v1/webhook/config
Built with