Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
171 changes: 72 additions & 99 deletions spec/v1.json
Original file line number Diff line number Diff line change
Expand Up @@ -3836,6 +3836,15 @@
"items": {
"$ref": "#/components/schemas/PostMediaItem"
}
},
"instagram_trial_reel": {
"description": "Instagram only: publish this video as a trial reel, shown to non-followers first. `manual` keeps it a trial until you share it to your followers from the Instagram app; `auto` lets Instagram share it if it performs well; `off` (the default) publishes a normal reel. Only valid on an Instagram channel. A draft may hold it before its video is attached; scheduling or publishing refuses anything that is not exactly one video (no image, carousel or second file) with 400 `validation_failed`. A non-Instagram channel or an unknown value is refused the same way, never ignored.",
"type": "string",
"enum": [
"off",
"manual",
"auto"
]
}
},
"required": [
Expand Down Expand Up @@ -4289,15 +4298,11 @@
"description": "Account handle or display name, e.g. \"@postifyhq\"."
},
"avatar_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Profile image URL, if the platform provides one."
"description": "Profile image URL, if the platform provides one.",
"type": [
"string",
"null"
]
},
"followers": {
"anyOf": [
Expand Down Expand Up @@ -4336,15 +4341,11 @@
"description": "When channel metadata was last refreshed (ISO-8601 UTC)."
},
"last_error": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Most recent connection error, if any."
"description": "Most recent connection error, if any.",
"type": [
"string",
"null"
]
},
"created_at": {
"type": "string",
Expand Down Expand Up @@ -4381,15 +4382,11 @@
"description": "True when another page exists after `next_cursor`."
},
"next_cursor": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Opaque cursor for the next page — pass as `after`. Reusing a cursor with a different query is rejected."
"description": "Opaque cursor for the next page — pass as `after`. Reusing a cursor with a different query is rejected.",
"type": [
"string",
"null"
]
}
},
"required": [
Expand Down Expand Up @@ -4435,15 +4432,11 @@
"description": "`pending` until the upload is completed; only `ready` assets should be attached to posts."
},
"url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Durable URL for the asset — use this as `media[].url` when creating posts. Null until the upload completes."
"description": "Durable URL for the asset — use this as `media[].url` when creating posts. Null until the upload completes.",
"type": [
"string",
"null"
]
},
"size_bytes": {
"anyOf": [
Expand Down Expand Up @@ -4485,15 +4478,11 @@
"description": "Pixel height, when known."
},
"duration_sec": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"description": "Duration in seconds for audio/video, when known."
"description": "Duration in seconds for audio/video, when known.",
"type": [
"number",
"null"
]
},
"created_at": {
"type": "string",
Expand Down Expand Up @@ -4564,15 +4553,11 @@
"description": "True when another page exists after `next_cursor`."
},
"next_cursor": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Opaque cursor for the next page — pass as `after`. Reusing a cursor with a different query is rejected."
"description": "Opaque cursor for the next page — pass as `after`. Reusing a cursor with a different query is rejected.",
"type": [
"string",
"null"
]
}
},
"required": [
Expand Down Expand Up @@ -4614,26 +4599,18 @@
"description": "Post format."
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Internal title (not published to platforms)."
"description": "Internal title (not published to platforms).",
"type": [
"string",
"null"
]
},
"body": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Channel-agnostic base text the variants derive from."
"description": "Channel-agnostic base text the variants derive from.",
"type": [
"string",
"null"
]
},
"scheduled_at": {
"anyOf": [
Expand Down Expand Up @@ -4718,6 +4695,14 @@
"$ref": "#/components/schemas/PostMediaItemOutput"
},
"description": "Media attached to this variant."
},
"instagram_trial_reel": {
"description": "Present only when this Instagram variant publishes as a trial reel: `manual` or `auto` (see the create request).",
"type": "string",
"enum": [
"manual",
"auto"
]
}
},
"required": [
Expand Down Expand Up @@ -4750,26 +4735,18 @@
"description": "Latest delivery stage. `indexed`/`acked` are success; `failed`/`dlq` are terminal failures; anything else is in flight."
},
"external_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "The platform's id for the published item, once known."
"description": "The platform's id for the published item, once known.",
"type": [
"string",
"null"
]
},
"error": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Why the latest delivery failed, as a sentence you can show your users. Present only when `stage` is `failed` or `dlq`; otherwise null."
"description": "Why the latest delivery failed, as a sentence you can show your users. Present only when `stage` is `failed` or `dlq`; otherwise null.",
"type": [
"string",
"null"
]
}
},
"required": [
Expand Down Expand Up @@ -5132,15 +5109,11 @@
"description": "HTTP status returned by the endpoint, or null when the request never completed (timeout, TLS failure, blocked egress)."
},
"error": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Transport-level failure detail when no HTTP response exists."
"description": "Transport-level failure detail when no HTTP response exists.",
"type": [
"string",
"null"
]
}
},
"required": [
Expand Down