---
title: "Create a schedule"
method: POST
path: "/v1/schedules"
tags: ["Schedules"]
---

# Create a schedule

`POST /v1/schedules`

## Request body

- object
  - `name` string, required
  - `sourceType` 'cron', required
  - `sourceConfig` object, required
    - `cron` object, required
      - `frequency` 'daily' | 'weekly' | 'monthly', required
      - `hour` integer, required
      - `minute` integer, required
      - `dayOfWeek` integer
      - `dayOfMonth` integer
  - `targets` object, required
    - `repositoryIds` string[], required
  - `outputType` 'changelog' | 'blog_post' | 'linkedin_post' | 'twitter_post' | 'image', required
  - `outputConfig` object
    - `publishDestination` 'webflow' | 'framer' | 'custom'
    - `brandVoiceId` string
  - `enabled` boolean, required
  - `autoPublish` boolean
  - `lookbackWindow` 'current_day' | 'yesterday' | 'last_7_days' | 'last_14_days' | 'last_30_days'

## Response `201`

Schedule created successfully

- object
  - `schedule` object, required
    - `id` string, required
    - `organizationId` string, required
    - `name` string, required
    - `sourceType` 'cron', required
    - `sourceConfig` object, required
      - `cron` object, required
        - `frequency` 'daily' | 'weekly' | 'monthly', required
        - `hour` integer, required
        - `minute` integer, required
        - `dayOfWeek` integer
        - `dayOfMonth` integer
    - `targets` object, required
      - `repositoryIds` string[], required
    - `outputType` 'changelog' | 'blog_post' | 'linkedin_post' | 'twitter_post' | 'image', required
    - `outputConfig` object, nullable
      - `publishDestination` 'webflow' | 'framer' | 'custom'
      - `brandVoiceId` string
    - `enabled` boolean, required
    - `autoPublish` boolean, required
    - `createdAt` string, required
    - `updatedAt` string, required
    - `lookbackWindow` 'current_day' | 'yesterday' | 'last_7_days' | 'last_14_days' | 'last_30_days', required
  - `organization` object, required
    - `id` string, required
    - `slug` string, required
    - `name` string, required
    - `logo` string, nullable, required

## Other responses

- `400` — Invalid request
- `401` — Missing or invalid API key
- `403` — Forbidden
- `404` — Organization not found
- `409` — Duplicate schedule
- `500` — Failed to create schedule
- `503` — Authentication service unavailable

---

[API](https://skmtc.net/usenotra/apis/notra-api.md) · [All operations](https://skmtc.net/usenotra/apis/notra-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/usenotra/notra-api/revisions/4e07496e06b0/schema)
