Skip to content

Webhook Payload

When a collection is updated, registered webhook endpoints receive an HTTP POST with the following format.

Headers

HeaderDescriptionExample
Content-TypeAlways application/jsonapplication/json
X-Webhook-EventThe event typeCOLLECTION_UPDATED
X-Webhook-Delivery-TimestampISO 8601 delivery timestamp2026-01-18T10:35:01.000Z
X-Webhook-SignatureHMAC-SHA256 signature — see Signature Verificationsha256=a1b2c3d4e5f6...

Body

json
{
  "event": "COLLECTION_UPDATED",
  "collectionId": "col_abc123",
  "timestamp": "2026-01-18T10:35:00Z",
  "data": {
    "id": "col_abc123",
    "name": "Match Day Social Feed",
    "contentType": "SOCIAL_POST",
    "stagingContentCount": 0,
    "liveContentCount": 2,
    "createdDate": "2026-01-10T08:00:00.000Z",
    "lastModifiedDate": "2026-01-18T10:35:00.000Z",
    "stagingContents": [],
    "liveContents": [
      {
        "id": "content_001",
        "fullName": "Sophie Hammer",
        "username": "sophiehammer",
        "source": "FACEBOOK",
        "message": "What a strike! Absolutely incredible goal",
        "profileImageUrl": "https://graph.facebook.com/sophie_h/picture",
        "media": [
          {
            "mediaUrl": "https://media.dizplai.com/social-media/2026/01/fb/0.jpg",
            "mediaType": "image/jpeg"
          }
        ],
        "publishedAt": "2026-01-18T10:30:00.000Z",
        "lastModifiedDate": "2026-01-18T10:35:00.000Z"
      },
      {
        "id": "content_003",
        "fullName": "Premier League",
        "username": "@premierleague",
        "source": "INSTAGRAM",
        "message": "GOAL! What a way to open the scoring",
        "profileImageUrl": "https://instagram.com/pl_avatar.jpg",
        "media": [
          {
            "mediaUrl": "https://media.dizplai.com/social-media/2026/01/ig/goal.mp4",
            "mediaType": "video/mp4"
          }
        ],
        "publishedAt": "2026-01-18T10:25:00.000Z",
        "lastModifiedDate": "2026-01-18T10:35:00.000Z"
      }
    ]
  }
}

Payload fields

Top-level

FieldTypeDescription
eventstringEvent type — always COLLECTION_UPDATED
collectionIdstringThe ID of the updated collection
timestampstringISO 8601 timestamp of when the event occurred
dataobjectFull collection data (same schema as the REST API response)

data object

The data object contains the same fields as the GET /v1/collections/:id response, without the meta field. It uses stagingContents and liveContents arrays instead of a single contents array. See JSON Schema Reference for full field definitions.

Responding to webhooks

Your endpoint must return a 2xx status code within a reasonable time to acknowledge receipt.

ResponseBehaviour
200299Delivery marked as successful
429Retried with exponential backoff
400499 (except 429)Delivery marked as failed, no retry
500599Retried with exponential backoff
Timeout / network errorRetried with exponential backoff

See Retry Policy for full retry details.

Payload size

The payload size depends on the number of content items in the collection. A typical collection with 20 social posts produces a payload of approximately 5–15 KB.

Interplai API v1.2.0