---
title: "Create schedule"
method: POST
path: "/v3/organizations/{org_id}/schedules"
tags: ["schedules"]
---

# Create schedule

`POST /v3/organizations/{org_id}/schedules`

Create a new scheduled session.

## Path parameters

- `org_id` string, required

## Request body

- ScheduleCreateRequest
  - `agent` 'devin' | 'data_analyst'
  - `bypass_approval` boolean
  - `create_as_user_id` string, nullable
  - `frequency` string, nullable
  - `interval_count` integer
  - `name` string, required
  - `notify_on` 'always' | 'failure' | 'never'
  - `platform` string, nullable — VM platform for sessions spawned by this schedule (e.g. 'windows'). When omitted, sessions fall back to the org's default platform at trigger time. Value must match a platform configured for the organization (case-insensitive); unknown values are rejected with a 400 that lists the available platform labels.
  - `playbook_id` string, nullable
  - `prompt` string, required
  - `schedule_type` 'recurring' | 'one_time'
  - `scheduled_at` string, date-time, nullable
  - `slack_channel_id` string, nullable
  - `slack_team_id` string, nullable
  - `tags` string[], nullable
  - `target_devin_id` string, nullable

## Response `200`

Successful Response

- ScheduleResponse
  - `agent` 'devin' | 'data_analyst', required
  - `bypass_approval` boolean
  - `consecutive_failures` integer, required
  - `created_at` string, date-time, required
  - `created_by` string, nullable, required
  - `enabled` boolean, required
  - `frequency` string, nullable, required
  - `interval_count` integer
  - `last_edited_by` string, nullable
  - `last_error_at` string, date-time, nullable, required
  - `last_error_message` string, nullable, required
  - `last_executed_at` string, date-time, nullable, required
  - `name` string, required
  - `notify_on` 'always' | 'failure' | 'never', required
  - `org_id` string, required
  - `platform` string, nullable
  - `playbook` PlaybookInfo, required
    - `playbook_id` string, required
    - `title` string, nullable, required
  - `prompt` string, required
  - `schedule_type` 'recurring' | 'one_time'
  - `scheduled_at` string, date-time, nullable
  - `scheduled_session_id` string, required
  - `slack_channel_id` string, nullable
  - `slack_team_id` string, nullable
  - `tags` string[], nullable
  - `target_devin_id` string, nullable
  - `updated_at` string, date-time, required

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `409` — Conflict
- `422` — Unprocessable Content
- `429` — Too Many Requests

---

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