Change a planned piece
POST
https://seolyticize.com /api/v1/tools/update_content_plan_item Moves a planned piece to another month or date, changes its status (planned, briefed, drafting, published, dropped), target URL, keyword or notes. Answers 'mark that article published' and 'push this to May'. Free.
Parameters
Idempotency-KeystringheaderAny unique string, up to 200 characters. A retry with the same key and body is answered from the first answer (Idempotent-Replayed: true) for a day, so it never buys or writes twice; the same key with another body is refused.
Request body
application/json
clientIdstringrequiredidstringrequiredmonthstringpublishOnstringstatusstringtargetUrlstringnotesstringkeywordstring{
"clientId": "string",
"id": "string",
"month": "string",
"publishOn": "string",
"status": "planned",
"targetUrl": "string",
"notes": "string",
"keyword": "string"
}Code samples
cURL
curl -X POST "https://seolyticize.com/api/v1/tools/update_content_plan_item" \
-H "Authorization: Bearer $SEOLYTICIZE_API_KEY" \
-H "Idempotency-Key: <value>" \
-H "Content-Type: application/json" \
-d '{"clientId":"string","id":"string","month":"string","publishOn":"string","status":"planned","targetUrl":"string","notes":"string","keyword":"string"}'TypeScript
Python
Go
PHP
Ruby
Java
Responses
200 The tool's result under
data, and its meta.Example
{
"data": {},
"meta": {
"requestId": "string",
"costMicros": 0,
"cached": true,
"cachedFrom": "string",
"dataAsOf": "string",
"sources": [
"string"
],
"partial": true,
"next": [
{
"tool": "string",
"args": {},
"why": "string"
}
],
"nextCursor": "string",
"dryRun": true
}
}Schema
datarequiredmetaobjectrequiredBeside every answer: what it cost, whether it came from cache, how fresh it is, whether it is complete, and what to call next.
Show child parameters
requestIdstringrequiredcostMicrosintegerrequiredCharged by this call, micro-USD (1,000,000 = $1).
cachedbooleanrequiredTrue when nothing was bought.
cachedFromstringWhen the oldest cached answer used was bought.
dataAsOfstringsourcesstring[]partialbooleanrequiredTrue when the data is incomplete: a running crawl, unfinished days, unread pages.
nextobject[]requiredShow child parameters
toolstringargsobjectwhystringnextCursorstringPass as cursor for the next page.
dryRunbooleanHeaders
X-RateLimit-LimitintegerRequests this key may make per window.
X-RateLimit-RemainingintegerRequests left in the current window.
X-RateLimit-ResetintegerSeconds until the current window resets.
X-Request-IdstringThe id to quote about this request.
400 The body was not JSON or did not match the tool's input schema.
Example
{
"error": "string",
"code": "string",
"next": "string",
"requestId": "string"
}Schema
errorstringrequiredA sentence written for the caller. Internal failures are reduced to 'The request could not be completed.' and never carry detail.
codestringA stable snake_case reason to branch on; GET /api/v1/errors lists them all.
nextstringThe call or step that fixes it, when there is one.
requestIdstringQuote it when asking about a failure.
Headers
X-RateLimit-LimitintegerRequests this key may make per window.
X-RateLimit-RemainingintegerRequests left in the current window.
X-RateLimit-ResetintegerSeconds until the current window resets.
401 No key, or a key that is unknown or revoked.
Same as 400 · POST /api/v1/tools/update_content_plan_item
Headers
WWW-Authenticatestring403 The key's role does not permit the tool, or the key may not reach the named client.
Same as 400 · POST /api/v1/tools/update_content_plan_item
Headers
X-RateLimit-LimitintegerRequests this key may make per window.
X-RateLimit-RemainingintegerRequests left in the current window.
X-RateLimit-ResetintegerSeconds until the current window resets.
404 No tool by that name.
Same as 400 · POST /api/v1/tools/update_content_plan_item
Headers
X-RateLimit-LimitintegerRequests this key may make per window.
X-RateLimit-RemainingintegerRequests left in the current window.
X-RateLimit-ResetintegerSeconds until the current window resets.
409 A request with this Idempotency-Key is still running.
Same as 400 · POST /api/v1/tools/update_content_plan_item
Headers
X-RateLimit-LimitintegerRequests this key may make per window.
X-RateLimit-RemainingintegerRequests left in the current window.
X-RateLimit-ResetintegerSeconds until the current window resets.
422 A well-formed request the product declined, with the reason — a duplicate name, a plan limit, nothing configured to run.
Same as 400 · POST /api/v1/tools/update_content_plan_item
Headers
X-RateLimit-LimitintegerRequests this key may make per window.
X-RateLimit-RemainingintegerRequests left in the current window.
X-RateLimit-ResetintegerSeconds until the current window resets.
429 This key has used its window.
Same as 400 · POST /api/v1/tools/update_content_plan_item
Headers
X-RateLimit-LimitintegerRequests this key may make per window.
X-RateLimit-RemainingintegerRequests left in the current window.
X-RateLimit-ResetintegerSeconds until the current window resets.
Retry-AfterintegerSeconds to wait before retrying.
500 The request could not be completed.
Same as 400 · POST /api/v1/tools/update_content_plan_item
Headers
X-RateLimit-LimitintegerRequests this key may make per window.
X-RateLimit-RemainingintegerRequests left in the current window.
X-RateLimit-ResetintegerSeconds until the current window resets.
Updated