Restore an archived piece
Bring an archived piece back into your library. Suggestions dismissed when it was archived stay dismissed — you get the draft back, not the to-do items telling you to ship it.
apiKeyAuthorizationBearer <token>API key for authenticating protected endpoints. Pass as Bearer token in Authorization header.
contentId*stringUnique identifier of the content
Body
application/json- body
Content restored successfully
application/json- response
id*stringUnique identifier for this piece of content
kind*stringWhat this piece is: tweet, linkedin, newsletter, or x_article
title*stringWhat this piece is called in your library
excerpt*stringFirst readable line of the body, for listing views
status*stringWhether this piece has been delivered, is still a draft, or was archived
"draft""published""archived"scheduled*booleanWhether 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*stringISO 8601 timestamp of creation
updatedAt*stringISO 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/restore" \ -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 }}Archive a piece of content POST
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.
List content groups GET
Retrieve the content groups in your publication, most recently active first. The publication is identified by the API key. A group ("bucket") is one identity for a post and everything made out of it — the post, the X thread drawn from it, the LinkedIn version, the newsletter. It's what the writer sees as a single stacked row under Content. Each group lists its members in display order, with the post it was seeded from first. Bodies aren't included; fetch the member with `GET /v1/content/{id}` or `GET /v1/posts/{id}` to read one.