> ## Documentation Index
> Fetch the complete documentation index at: https://reach-owl.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# POST /api/v1/post-scheduler — Create or Clone a Post Scheduler

> Create a new post scheduler targeting Facebook group URLs, or clone an existing one using clone_from. Accepts interval or fixed schedule types.

Create a new post scheduler that posts content to Facebook groups on a recurring schedule. You can also clone an existing scheduler by passing `clone_from` in the body.

## Create a new scheduler

When creating a scheduler, you must specify the target groups, schedule, and executor. Each post in the `posts` array includes a `text` string that will be published.

### Body parameters

<ParamField body="name" type="string" required>
  Name of the post scheduler.
</ParamField>

<ParamField body="executor_id" type="integer" required>
  The executor (browser profile) that will perform the posts.
</ParamField>

<ParamField body="team_id" type="integer" required>
  Team the scheduler belongs to.
</ParamField>

<ParamField body="group_urls" type="array" required>
  Array of Facebook group URLs where content will be posted. Example: `["https://www.facebook.com/groups/group1"]`.
</ParamField>

<ParamField body="schedule_type" type="string" required>
  Type of schedule: `"interval"` or `"fixed"`.
</ParamField>

<ParamField body="interval" type="integer">
  Number of minutes between posts. Required when `schedule_type` is `"interval"`.
</ParamField>

<ParamField body="posts" type="array">
  Array of post objects, each with a `text` string. These posts are rotated or queued depending on schedule type.
</ParamField>

### Example request

```bash theme={null}
curl -X POST "https://reachowl.com/api/v1/post-scheduler" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Daily Promos",
    "executor_id": 5,
    "team_id": 1,
    "group_urls": [
      "https://www.facebook.com/groups/group1",
      "https://www.facebook.com/groups/group2"
    ],
    "schedule_type": "interval",
    "interval": 180,
    "posts": [
      { "text": "Check out our latest feature!" }
    ]
  }'
```

## Clone an existing scheduler

Use `clone_from` to duplicate an existing scheduler, including its group URLs and posts. You can override any field after cloning.

### Body parameters

<ParamField body="clone_from" type="integer">
  ID of the existing scheduler to clone.
</ParamField>

<ParamField body="name" type="string" required>
  Name for the cloned scheduler.
</ParamField>

<ParamField body="executor_id" type="integer" required>
  Executor for the cloned scheduler.
</ParamField>

<ParamField body="team_id" type="integer" required>
  Team the cloned scheduler belongs to.
</ParamField>

### Example request

```bash theme={null}
curl -X POST "https://reachowl.com/api/v1/post-scheduler" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "clone_from": 42,
    "name": "Daily Promos - Copy",
    "executor_id": 6,
    "team_id": 1
  }'
```
