Subscribe to App9 Post webhooks
Receive signed brand events for account, post, delivery, inbox, and operational changes.
Create a webhook subscription with an HTTPS destination and selected event types. App9 Post sends a versioned envelope containing id, type, api_version, created_at, brand_id, and data, signs each delivery, and retains delivery history for retry and replay.
What this means in practice
Create a webhook subscription with an HTTPS destination and selected event types. App9 Post sends a versioned envelope containing id, type, api_version, created_at, brand_id, and data, signs each delivery, and retains delivery history for retry and replay.
Use the documented brand and account boundaries consistently across the scheduler, REST API, SDK, MCP tools, SSE consumers, and webhooks. That makes the same social operation explainable to an operator and reproducible by an integration.
Implementation checklist
Use a dedicated HTTPS endpoint that can read the raw request body.
Store the signing secret once and associate it with the subscription ID.
Verify timestamp and signature before parsing or enqueuing the event.
Return a 2xx quickly, then process asynchronously and deduplicate by event ID.
Use delivery history and manual replay for investigation rather than creating synthetic replacements.
Example request
This example uses a server-side API key and an explicit brand selection. Replace placeholder values and keep credentials out of browser bundles, client logs, and source control.
curl --request POST \
--url 'https://postapi.app9.co/v1/webhooks' \
--header 'Authorization: Bearer APP9_POST_API_KEY' \
--header 'X-App9-Post-Brand: BRAND_ID' \
--header 'Content-Type: application/json' \
--data '{
"url": "https://app.example.com/webhooks/app9-post",
"event_types": [
"social_post.updated",
"social_post_target.succeeded",
"social_post_target.failed",
"inbox.thread.updated"
]
}'Operational details
Delivery retries continue for a bounded period and can arrive more than once.
Event ordering should be interpreted per resource and event time rather than assumed globally.
Webhook payloads never include provider access tokens or raw API keys.
Common mistakes to avoid
- Do not trust only the source IP as webhook authentication.
- Do not perform slow provider or database work before returning the HTTP response.
- Do not use the event type alone as a deduplication key.