OpenAPI reference · Ideas
Update an idea's brief
/ideas/{ideaId}Edits the board's update field set: title, body, pillar, post
format, visual format, hook, topic, and/or the column. Only
provided fields change; brief fields accept null to clear.
status accepts only inbox | in_production — review/done
are derived from the linked post and cannot be written. There is
no REST delete: the destroy verb is two-phase and not exposed on
REST.
Required scope: ideas:write.
Authorization
AuthorizationstringrequiredBearer token in the Authorization header.
Pass
Authorization: Bearer scripe_sk_live_<...>(orscripe_sk_test_<...>for test keys) on every request. Keys are scoped to a single workspace and can be revoked from the Scripe dashboard.The same header also accepts an OAuth 2.1 access token (
scripe_oat_*); both credentials share one scope vocabulary and every operation below documents the scope it requires. An API key can hold every scope named on this surface exceptwebhooks:manage, which is grantable to OAuth tokens only today — the webhook-endpoint operations answer403 scope_missingto every API key. Operations that name no scope accept any valid token of the workspace.
Path parameters
ideaIdstringrequired
Header parameters
Scripe-Api-VersionstringPin the API version. Format
YYYY-MM-DD. Omit to receive the currently rolling default. Unknown versions return400 version_unsupported.
Request bodyapplication/json
projectIdstringrequiredtitlestringcontentstringstatusstringAllowed values:
inbox,in_productionpillarstring | nullpostTypestring | nullassetFormatstring | nullhookstring | nulltopicstring | null
Responses
- 200
The updated idea (status is the DERIVED value).
- 400
Malformed request (bad cursor, bad limit, etc.).
- 401
Missing, malformed, expired, or revoked API key.
- 403
Plan not eligible, scope missing, or workspace mismatch.
- 404
Resource not found in this workspace.
- 422
Body shape was JSON but failed validation (
unprocessable). - 429
Sliding-window rate limit exceeded.
Example request
curl --request PATCH \
--url 'https://api.scripe.io/v1/ideas/{ideaId}' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"projectId": "proj_a1b2c3d4e5f6g7h8",
"title": "string",
"content": "string",
"status": "inbox",
"pillar": "string",
"postType": "string",
"assetFormat": "string",
"hook": "string",
"topic": "string"
}'Example response (200)
{
"data": {
"id": "idea_a1b2c3d4e5f6g7h8",
"title": "string",
"status": "inbox",
"pillar": "string",
"postType": "string",
"assetFormat": "string",
"hook": "string",
"topic": "string",
"scheduledFor": "string",
"linkedPost": {
"id": "post_a1b2c3d4e5f6g7h8",
"statusCategory": "string"
},
"createdAt": "string"
}
}