# Reschedule post

URL: https://clippie.ai/developers/docs/reschedule-post

Moves a scheduled post to a new time (up to 180 days ahead). Posts that have started publishing cannot move.

## At a glance

| Property | Value |
| --- | --- |
| REST | `PATCH https://api.clippie.ai/v1/social/posts/:id` |
| MCP tool | `reschedule_post` |
| Scope | `publish` |
| Cost | Spends nothing. Needs the `publish` scope and a paid plan, and posts under the user's name: confirm the details with them first. |

## Parameters

| Name | In | Type | Required | Default | Description |
| --- | --- | --- | --- | --- | --- |
| `id` | path | string | Yes |  | The post id from post_video or list_posts. 1-64 chars. |
| `scheduledFor` | body | string | Yes |  | The new time (ISO 8601 with a time zone). |

## Example

curl:

```bash
curl https://api.clippie.ai/v1/social/posts/ID \
  -H "Authorization: Bearer $CLIPPIE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "scheduledFor": "SCHEDULED_FOR"
  }'
```

reschedule-post.mjs:

```js
const auth = { Authorization: `Bearer ${process.env.CLIPPIE_API_KEY}` };

const res = await fetch('https://api.clippie.ai/v1/social/posts/ID', {
  method: 'POST',
  headers: { ...auth, 'Content-Type': 'application/json' },
  body: JSON.stringify({
    "scheduledFor": "SCHEDULED_FOR"
  }),
});
if (!res.ok) throw new Error((await res.json()).error.message);
console.log(await res.json());
```

## Response

`200` with JSON. The full response schema is in the [OpenAPI spec](https://api.clippie.ai/v1/openapi.json).

## From an MCP client

Your AI calls `reschedule_post` with the same fields as JSON arguments. See [MCP server](https://clippie.ai/developers/docs.md#mcp) to connect one.

tools/call:

```json
{
  "name": "reschedule_post",
  "arguments": {
    "id": "ID",
    "scheduledFor": "SCHEDULED_FOR"
  }
}
```
