post.content.edited
Fired when a post's content is edited (debounced per post, fires after 5 minutes). Includes latest content for all channels.
All webhook payloads follow a consistent top-level structure with event-specific data nested within the data object.
typestring
The event type (e.g. post.content.edited).
stringdataobject
Event-specific payload for this webhook.
objectdata.postobject
The edited post.
objectdata.post.idstring
Post ID.
stringdata.post.titlestring
Post title.
stringdata.post.channelsarray
Channels the post is scheduled for.
arraydata.post.campaign?object | null
Campaign if assigned. Contains id, name, startDate, and endDate.
object | nulldata.post.urlstring
Ordinal post URL.
stringdata.post.workspaceobject
Workspace the post belongs to. Contains id, slug, and name.
objectdata.post.editedByobject
User who edited the post. Contains id, firstName, lastName, and email.
objectdata.post.editedAtstring
ISO 8601 timestamp when the edit was recorded.
stringdata.post.labelsarray
Labels attached to the post. Each contains id, name, color, and backgroundColor.
arraydata.post.linkedIn?object | null
LinkedIn content when the post includes LinkedIn. Contains profile (id, name, detail), copy, and assets (id, name, url, mimetype, size, width, height, duration).
object | nulldata.post.x?object | null
X/Twitter content when the post includes Twitter. Contains profile (id, name, detail) and tweets (array of { copy, assets }).
object | nullcreatedAtstring
ISO 8601 timestamp when the webhook event was created.
string{
"type": "post.content.edited",
"data": {
"post": {
"id": "550e8400-e29b-41d4-a716-446655440001",
"title": "Q4 Product Launch Announcement",
"channels": ["LinkedIn", "Twitter"],
"campaign": {
"id": "550e8400-e29b-41d4-a716-446655440003",
"name": "Launch 2025",
"startDate": "2025-01-01",
"endDate": "2025-12-31"
},
"url": "https://app.tryordinal.com/acme/posts/550e8400-e29b-41d4-a716-446655440001",
"workspace": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"slug": "acme",
"name": "Acme Inc"
},
"editedBy": {
"id": "550e8400-e29b-41d4-a716-446655440010",
"firstName": "Jane",
"lastName": "Doe",
"email": "jane@example.com"
},
"editedAt": "2025-02-26T15:30:00.000Z",
"labels": [
{
"id": "550e8400-e29b-41d4-a716-446655440400",
"name": "Marketing",
"color": "#9333ea",
"backgroundColor": "#f3e8ff"
}
],
"linkedIn": {
"profile": {
"id": "550e8400-e29b-41d4-a716-446655440002",
"name": "Acme Inc",
"detail": "acme-inc"
},
"copy": "Updated LinkedIn content for the launch!",
"assets": [
{
"id": "550e8400-e29b-41d4-a716-446655440010",
"name": "product-photo.jpg",
"url": "https://cdn.tryordinal.com/assets/product-photo.jpg",
"mimetype": "image/jpeg",
"size": 245678,
"width": 1920,
"height": 1080,
"duration": null
}
]
},
"x": {
"profile": {
"id": "550e8400-e29b-41d4-a716-446655440004",
"name": "Acme Inc",
"detail": "@acme_inc"
},
"tweets": [
{
"copy": "Updated Twitter content for the launch!",
"assets": []
}
]
}
}
},
"createdAt": "2025-02-26T15:30:00.000Z"
}