Skip to main content
POST
/
v1
/
organizations
/
{organizationId}
/
projects
/
{projectId}
/
content
/
{id}
/
discard
Discard Draft Changes
curl --request POST \
  --url https://api.example.com/v1/organizations/{organizationId}/projects/{projectId}/content/{id}/discard
Resets draft or modified content back to its last published version. This is useful when you want to abandon changes and return to a known good state.

Path Parameters

organizationId
string
required
Organization ID
projectId
string
required
Project ID
id
string
required
Content ID

Response

Returns the content restored to its last published state.
{
  "id": "cont123",
  "typeId": "ct123",
  "typeVersion": 2,
  "version": 2,
  "lastPublishedVersion": 2,
  "packageVersion": "1.0.0",
  "name": "Getting Started Guide",
  "status": "published",
  "isTemplate": false,
  "content": { ... },
  "compiled": "const body = () => { ... }",
  "tags": ["Tutorial"],
  "metadata": { ... },
  "createdAt": "2024-03-20T10:00:00Z",
  "updatedAt": "2024-03-22T10:00:00Z"
}

Requirements

  • Content must have status draft or modified
  • Content must have been previously published (has a lastPublishedVersion)

Error Responses

Invalid Status

{
  "error": {
    "code": "INVALID_STATUS",
    "message": "Can only discard changes for draft or modified content"
  }
}

Never Published

{
  "error": {
    "code": "NO_PUBLISHED_VERSION",
    "message": "Cannot discard - content has never been published"
  }
}
If the content was unpublished before modifications, discarding will return it to unpublished status (not published).

Code Examples

curl -X POST "https://api.metabind.ai/v1/organizations/org123/projects/proj456/content/cont123/discard" \
  -H "Authorization: Bearer YOUR_API_KEY"