SparrowDesk
Articles

Update an article

PUT
/articles/{id}
AuthorizationBearer <token>

In: header

Path Parameters

idinteger

Article id

title?string
content?string

HTML content of the article, passed as a plain JSON string.

Supported tags: <p>, <h1><h6>, <ul>, <ol>, <li>, <a>, <strong>, <em>, <img>, <video>, <iframe> (YouTube), <table>, <code>, <blockquote>

Images: use src with an https:// URL or a data:image/...;base64,... string.

YouTube: embed iframes (youtube.com/embed/ID) are converted to native YouTube nodes.

Note: <script> tags and event attributes (onclick, onerror, etc.) are stripped for security.

collection_id?integer|null

Move to a different collection. Pass null to remove from collection.

brand_id?integer
publish?boolean

When true, publishes the draft after saving. Requires is_public.

is_public?boolean

Required when publish is true.

ai_agent_enabled?boolean

Enable or disable AI agent. Silently ignored without AI privilege.

ai_copilot_enabled?boolean

Enable or disable AI copilot. Silently ignored without AI privilege.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X PUT "https://app.sparrowdesk.com/v1/articles/0" \  -H "Content-Type: application/json" \  -d '{}'
{
  "id": 1001,
  "status": "DRAFT"
}
{
  "error": {
    "message": "Missing required scope or feature is not enabled"
  }
}
{
  "error": {
    "message": "Article not found"
  }
}
{
  "error": {
    "message": "is_public is required when publish is true"
  }
}
{
  "error": {
    "message": "An error occurred while updating the article"
  }
}