Edit, move, publish or unpublish a Docs page

posthttps://api.expiryedge.com/v1/updateKnowledgeDoc
editor or admin60/min
Request
curl -X POST 'https://api.expiryedge.com/v1/updateKnowledgeDoc' \
  -H "Authorization: Bearer $EXPIRYEDGE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "id": "kd_7Hn2qLx",
  "status": "published"
}'
Response
{
  "doc": {
    "id": "kd_7Hn2qLx",
    "title": "How we renew our food hygiene certificate",
    "content": "<h2>Steps</h2><ol><li><p>Book the inspection 8 weeks before expiry</p></li></ol>",
    "emoji": "🧾",
    "tags": [
      "food-safety",
      "procedures"
    ],
    "parent_id": "kd_1Proc",
    "status": "published",
    "organization_id": "org_northwind",
    "created_by": "u_71bXq",
    "created_by_name": "Priya Shah",
    "created_by_email": "priya@northwinddental.com",
    "created_at": "2026-09-27T14:05:00.000Z",
    "updated_by": "u_71bXq",
    "updated_by_name": "Priya Shah",
    "updated_at": "2026-09-27T14:12:00.000Z"
  }
}

Send only the fields you want to change. parent_id must be a page in your organization and cannot be the page itself or one of its sub-pages; null moves it to the top level. Other fields in the body are ignored.

Body parameters

application/json
  • idstringrequired
  • titlestring
    max length: 300
  • contentstring
    HTML, max 500 KB. Allowed - headings, paragraphs, bold/italic/underline/strike, lists, task lists, links (http, https, mailto), https images, tables, code, blockquotes, text color/highlight/alignment.
  • emojistring
    max length: 16
  • tagsarray of string
    max length: 50 · max items: 30
  • parent_idstring | null
  • statusstring
    Alloweddraftpublished

Returns

200
The updated page.
  • docobjectrequired
    A page in the Docs (knowledge base) section. Same record the web app creates.

Errors

400
The request is missing required fields or contains invalid values.
401
Missing, expired or invalid bearer token.
403
Authenticated, but your role or organization does not allow this action.
404
The record does not exist or is not in your organization.
405
The endpoint does not accept this HTTP method.
429
Too many requests for this endpoint from your IP. Wait Retry-After seconds.
500
Unexpected server error. Retry later; quote requestId to support.