Skip to main content
POST
/
api
/
calendar
/
posts
/
{postId}
/
restore
Restore an archived social post
curl --request POST \
  --url https://app.puffle.ai/api/calendar/posts/{postId}/restore \
  --header 'Authorization: Bearer <token>'
{
  "post": {
    "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "calendar_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "title": "<string>",
    "content": "<string>",
    "hashtags": [
      "<string>"
    ],
    "channels": [
      "<string>"
    ],
    "scheduled_at": "2023-11-07T05:31:56Z",
    "account_ids": [
      "3c90c3cc-0d44-4b50-8888-8dd25736052a"
    ],
    "status": "draft",
    "late_post_id": "<string>",
    "media_items": [
      {
        "url": "<string>",
        "type": "image"
      }
    ],
    "archived_at": "<unknown>"
  }
}

Overview

Un-archive a post by clearing archived_at. The post remains in draft status after restoration — restoring does NOT re-create the Late post. If you want it to publish again, re-schedule via updateSocialPost and set status: "scheduled" with a future scheduled_at.

AI agent notes

Post-condition — status is draft, archived_at is null, and late_post_id is null. The post is editable but not queued for publishing until you explicitly re-schedule.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

postId
string<uuid>
required

Post UUID. Must currently be archived (archived_at != null).

Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$

Response

Post restored; archived_at cleared.

post
object
required