Developers

Send approved release copy to custom destinations.

Use outbound webhooks when S2P should deliver approved posts to your CMS, community bridge, static site, or internal automation.

Approved postsRetry-safe deliveryOptional secret

At a glance

What your endpoint receives.

Your receiver gets the approved post body, destination, scheduling context, media metadata, link preview data, and a stable idempotency key.

Delivery

What your endpoint receives.

Your receiver gets the approved post body, destination, scheduling context, media metadata, link preview data, and a stable idempotency key.

Example delivery headers

Content-Type: application/json
User-Agent: Ship2Post/1.0
X-Ship2Post-Platform: custom_webhook
X-Ship2Post-Idempotency-Key: post:123:custom_webhook
Authorization: Bearer <optional secret>

Receiver contract

Return any 2xx status for success.

Your response can include the published id and public URL. Empty successful responses are accepted when your system handles the final publish internally.

Optional response

{
  "external_post_id": "cms-post-123",
  "external_url": "https://example.com/blog/cms-post-123"
}

Reliability

Build receivers for safe retries.

  • Treat post.idempotency_key as stable and avoid duplicate publishing.
  • Validate any optional bearer secret before accepting the payload.
  • Return the canonical public URL when your destination creates one.
  • Accept quickly and queue slower downstream work inside your own system.

Stop writing release posts.

Your engineers already commit. Now those commits become content - in your voice, on every channel.