Frame.io comment.created webhook payload example

Frame.io · event: comment.created · content type: application/json

This is a representative sample — fake IDs, real structure. To see a payload with your data, point the provider at a capture URL (button below).

See it live, not frozen

One click creates a free capture bin with this exact payload already in it — pretty-printed, headers inspectable, replayable to your own endpoint:

Then paste the bin's URL into Frame.io's webhook settings to capture a real delivery. No signup.

Headers

content-type: application/json
user-agent: Frame.io V4 API
x-frameio-request-timestamp: 1788518629
x-frameio-signature: v0=f543842cc443b98aeacf7acc6d68168d565a964935a7848014da182d360d7986

Body

{
  "account": {
    "id": "6f70f1bd-7e89-4a7e-b4d3-7e576585a181"
  },
  "project": {
    "id": "7e46e495-4444-4555-8649-bee4d391a997"
  },
  "resource": {
    "id": "a91d2c66-31f8-4b0c-9e5d-2f8c47a3b510",
    "type": "comment"
  },
  "type": "comment.created",
  "user": {
    "id": "56556a3f-859f-4b38-b6c6-e8625b5da8a5"
  },
  "workspace": {
    "id": "378fcbf7-6f88-4224-8139-6a743ed940b2"
  }
}

Things that bite people

Send it yourself

Reproduce this delivery against any endpoint (your handler, a bin, staging):

$ curl -X POST https://your-endpoint.example/hook \
  -H 'content-type: application/json' \
  -H 'user-agent: Frame.io V4 API' \
  -H 'x-frameio-request-timestamp: 1788518629' \
  -H 'x-frameio-signature: v0=f543842cc443b98aeacf7acc6d68168d565a964935a7848014da182d360d7986' \
 -d '{
  "account": {
    "id": "6f70f1bd-7e89-4a7e-b4d3-7e576585a181"
  },
  "project": {
    "id": "7e46e495-4444-4555-8649-bee4d391a997"
  },
  "resource": {
    "id": "a91d2c66-31f8-4b0c-9e5d-2f8c47a3b510",
    "type": "comment"
  },
  "type": "comment.created",
  "user": {
    "id": "56556a3f-859f-4b38-b6c6-e8625b5da8a5"
  },
  "workspace": {
    "id": "378fcbf7-6f88-4224-8139-6a743ed940b2"
  }
}'

← All payload examples · Signature debugger · Docs