Direct edit (no credits). body maps to the field the platform publishes. Send null to clear a field; omitted fields are preserved. Editing the primary re-derives other platforms; editing a sibling pins it.
Post body text. Maps to the field the platform actually publishes (caption / message / text / description). Send null to clear.
title
string | null
Title (YouTube Shorts / Pinterest only)
description
string | null
Description (YouTube Shorts / Pinterest only)
hashtags
string[]
Without the # prefix
altText
string | null
Alt text for the image. Send null to clear.
request
curl -X PATCH https://api.taka.ai/v1/public/posts/POST_ID \
-H "Authorization: Bearer taka_live_..." \
-H "Content-Type: application/json" \
-d '{"platform": "instagram", "body": "Fresh croissants out of the oven at 7am. Come early, they go fast.", "hashtags": ["croissants"]}'
response
{
"id": "abc123",
"name": "Weekend croissant special",
"kind": "post",
"status": "draft",
"needsApproval": false,
"idea": "Weekend special: fresh croissants",
"variants": [
{
"id": "abc123",
"platform": "instagram",
"isPrimary": true,
"status": "draft",
"body": "Fresh croissants out of the oven at 7am. Come early, they go fast.",
"title": "Weekend croissant special",
"description": "Behind the counter at Sunrise Bakery",
"hashtags": [
"croissants"
],
"altText": "A tray of golden croissants on a wooden counter",
"media": [
{
"id": "abc123",
"url": "https://media.taka.ai/abc123.jpg?signature=...",
"type": "image",
"ratio": 1,
"altText": "A tray of golden croissants on a wooden counter"
}
],
"mediaOrigin": "taka",
"scheduledAt": null,
"publishedAt": null,
"permalink": null,
"generation": {
"status": "ready",
"error": null,
"videoStatus": null
},
"score": {
"value": 82,
"verdict": "strong",
"singleFix": "Open with the offer, not the greeting"
},
"publishFailure": null,
"pinned": false
}
],
"createdAt": "2026-09-01T09:30:00Z",
"updatedAt": "2026-09-01T09:30:00Z"
}
Your uploads are published untouched (1 video = reel, 1 image = post, 2-10 images = carousel). AI editing is disabled for these posts by design. Schedule it with the schedule verb.
Path and query parameters
Idempotency-Key
string
Replay-safe retries: the same key returns the original response for 24h.
Body
attachmentIdsrequired
string[]
Your uploaded attachment ids, in display order. 1 video = reel; 1 image = post; 2-10 images = carousel. Uploads must belong to the same user identity as the API key.
platforms
string[]
Target platforms (validated against what the media shape supports)
caption
string
Caption applied to every variant
name
string
Post name (defaults to the caption, truncated)
request
curl -X POST https://api.taka.ai/v1/public/posts/from-media \
-H "Authorization: Bearer taka_live_..." \
-H "Content-Type: application/json" \
-d '{"attachmentIds": ["abc123"], "platforms": ["instagram"], "caption": "Fresh croissants out of the oven at 7am"}'
response
{
"id": "abc123",
"name": "Weekend croissant special",
"kind": "post",
"status": "draft",
"needsApproval": false,
"idea": "Weekend special: fresh croissants",
"variants": [
{
"id": "abc123",
"platform": "instagram",
"isPrimary": true,
"status": "draft",
"body": "Fresh croissants out of the oven at 7am. Come early, they go fast.",
"title": "Weekend croissant special",
"description": "Behind the counter at Sunrise Bakery",
"hashtags": [
"croissants"
],
"altText": "A tray of golden croissants on a wooden counter",
"media": [
{
"id": "abc123",
"url": "https://media.taka.ai/abc123.jpg?signature=...",
"type": "image",
"ratio": 1,
"altText": "A tray of golden croissants on a wooden counter"
}
],
"mediaOrigin": "taka",
"scheduledAt": null,
"publishedAt": null,
"permalink": null,
"generation": {
"status": "ready",
"error": null,
"videoStatus": null
},
"score": {
"value": 82,
"verdict": "strong",
"singleFix": "Open with the offer, not the greeting"
},
"publishFailure": null,
"pinned": false
}
],
"createdAt": "2026-09-01T09:30:00Z",
"updatedAt": "2026-09-01T09:30:00Z"
}
Semantic revision: the engine keeps what works. The job result carries honesty flags (revisionApplied, noVisibleChange, imageryReverted). Narrate from them, never assume the change landed.
Path and query parameters
postIdrequired
string
Post id
Idempotency-Key
string
Replay-safe retries: the same key returns the original response for 24h.
Body
feedbackrequired
string
Natural-language feedback; the engine keeps what works
curl -X POST https://api.taka.ai/v1/public/posts/POST_ID/revise \
-H "Authorization: Bearer taka_live_..." \
-H "Content-Type: application/json" \
-d '{"feedback": "Shorter, and lead with the offer", "platform": "instagram"}'