---
title: "Reschedule a scheduled or failed post"
method: POST
path: "/api/posts/{id}/reschedule"
tags: ["Posts"]
---

# Reschedule a scheduled or failed post

`POST /api/posts/{id}/reschedule`

## Request

- Base URL: `https://api.dunsocial.com`
- URL: `https://api.dunsocial.com/api/posts/{id}/reschedule`
- Auth: HTTP bearer

## Path parameters

- `id` string, required

## Headers

- `X-Workspace-Id` string, required

## Request body

- ReschedulePostRequest
  - `scheduledAt` string, date-time, required
  - `content` string
  - `metadata` PostMetadata
    - `reddit` RedditPostOptions
      - `subreddit` string, required
      - `title` string, required
      - `kind` 'self' | 'link' | 'image' | 'video', required
      - `body` string
      - `url` string
      - `flairId` string
      - `flairText` string
      - `posterMediaAssetId` string
      - `nsfw` boolean
      - `spoiler` boolean
      - `sendReplies` boolean
      - `resubmit` boolean
    - `instagram` InstagramPostOptions
      - `format` 'feed_image' | 'carousel' | 'reel' | 'story', required
      - `caption` string
      - `altText` string
      - `shareToFeed` boolean
      - `coverMediaAssetId` string
      - `thumbOffset` number
      - `audioName` string
      - `collaborators` string[]
    - `pinterest` PinterestPostOptions
      - `boardId` string, required
      - `boardName` string
      - `title` string, required
      - `description` string, required
      - `link` string
    - `tiktok` TikTokPostOptions
      - `title` string
      - `privacyLevel` 'PUBLIC_TO_EVERYONE' | 'MUTUAL_FOLLOW_FRIENDS' | 'FOLLOWER_OF_CREATOR' | 'SELF_ONLY', required
      - `disableComment` boolean
      - `disableDuet` boolean
      - `disableStitch` boolean
      - `videoCoverTimestampMs` number
    - `discord` DiscordPostOptions
      - `channelId` string, required: Discord channel snowflake
      - `channelName` string
    - `slack` SlackPostOptions
      - `channelId` string, required: Slack channel id (C… or G…)
      - `channelName` string
  - `mediaUrls` string[]

## Response `200`

Updated post

- SuccessEnvelope
  - `success` true, required
  - `data` unknown

## Other responses

- `400`: Validation or business rule failed
- `401`: Missing or invalid bearer token
- `402`: Workspace is not on a paid plan
- `403`: Wrong workspace, missing scope, or role
- `404`: Resource not found

---

[API](https://skmtc.dev/dunsocial/apis/dunsocial-api.md) · [All operations](https://skmtc.dev/dunsocial/apis/dunsocial-api/llms.txt) · [OpenAPI document](https://skmtc.dev/dunsocial/apis/dunsocial-api/revisions/3c586d59e76f?raw)
