Skip to main content

Change Post Status

POST/api/v1/dashboard/content/posts/{post_id}/status

Overview

Sets a post to any valid lifecycle status. This is the general-purpose status endpoint. For simple publish/unpublish actions, you can also use the dedicated Publish and Unpublish endpoints.

Post Lifecycle

draft  -->  pending_review  -->  published  -->  archived
^ | |
| v |
+----------------------------------+--------------+
(can revert to draft at any time)

Authentication

info

Bearer authentication required - Pass your credentials as Authorization: Bearer <client_id>:<api_key>:<api_secret>.

Headers

HeaderTypeRequiredDescription
AuthorizationstringYesBearer <client_id>:<api_key>:<api_secret>
Content-TypestringYesapplication/json

Path Parameters

ParameterTypeRequiredDescription
post_idstring (UUID)YesThe unique identifier of the post

Request Body

ParameterTypeRequiredDescription
statusstringYesOne of: draft, pending_review, published, archived

Response

Returns the full PostResponse object with the updated status.

Example Request

curl -X POST "https://spideriq.ai/api/v1/dashboard/content/posts/a1b2c3d4-e5f6-7890-abcd-ef1234567890/status" \
-H "Authorization: Bearer $CLIENT_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "status": "pending_review" }'

Example Response

{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"slug": "getting-started-with-spideriq",
"title": "Getting Started with SpiderIQ",
"status": "pending_review",
"published_at": null,
"updated_at": "2026-04-08T14:00:00Z"
}

Status Codes

Status CodeMeaningDescription
200OKStatus updated successfully
400Bad RequestInvalid status value
401UnauthorizedInvalid or missing Bearer token
404Not FoundPost not found or belongs to another client