POST
/v1/content/{contentId}/archive

Put a piece away without deleting it. Archived content drops out of the default list and out of the writer's Content surface, and POST /v1/content/{contentId}/restore brings it back.

Any suggestion still proposing the piece is dismissed along with it, so nothing is left offering to send something you've filed away. A piece with a send already queued can't be archived — cancel the schedule first.

Authorization

apiKey
headerAuthorizationBearer <token>

API key for authenticating protected endpoints. Pass as Bearer token in Authorization header.

Path Parameters

contentId*string

Unique identifier of the content

Request Body

Body

application/json
  1. body

Response Body

Content archived successfully

application/json
  1. response
id*string

Unique identifier for this piece of content

kind*string

What this piece is: tweet, linkedin, newsletter, or x_article

title*string

What this piece is called in your library

excerpt*string

First readable line of the body, for listing views

status*string

Whether this piece has been delivered, is still a draft, or was archived

Value in"draft""published""archived"
scheduled*boolean

Whether a scheduled send is queued against this piece

lockedReason*|

Why this piece can't be edited right now, or null when it can. A queued or in-flight send locks the words, because they go out exactly as written.

publishedAt*|

ISO 8601 timestamp of the first delivery, or null

url*|

Where this piece went live, from the same delivery publishedAt came from. Null when it hasn't been delivered, and null by design for a channel that publishes no page: a custom email renders into the message itself, so there is no address to link to. Never guessed — a delivery whose id isn't shaped like its channel reports null rather than a link that would 404.

archivedAt*|

ISO 8601 timestamp of when this piece was archived, or null

bucketId*|

The bucket grouping this piece with the post it was made from, or null when it stands alone. Read it back with GET /v1/buckets/{bucketId}.

createdAt*string

ISO 8601 timestamp of creation

updatedAt*string

ISO 8601 timestamp of the last change

body*

The artifact itself, in the shape its kind uses

curl -X POST "https://example.com/v1/content/string/archive" \  -H "Content-Type: application/json" \  -d '{}'
{  "id": "string",  "kind": "string",  "title": "string",  "excerpt": "string",  "status": "draft",  "scheduled": true,  "lockedReason": "string",  "publishedAt": "string",  "url": "string",  "archivedAt": "string",  "bucketId": "string",  "createdAt": "string",  "updatedAt": "string",  "body": {    "property1": null,    "property2": null  }}