---
title: "Create a schedule"
method: POST
path: "/schedules"
---

# Create a schedule

`POST /schedules`

## Request

- Base URL: `https://app.gecko.security/api/v1`
- URL: `https://app.gecko.security/api/v1/schedules`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer

## Headers

- `Idempotency-Key` string

## Request body

- CreateScheduleRequest
  - `name` string, required
  - `repository_ids` unknown, required
  - `cron_expression` string, required
  - `branch` string
  - `timezone` string
  - `scan_mode` 'full' | 'diff'
  - `model` 'haiku' | 'sonnet' | 'opus'

## Response `201`

Success

- Schedule
  - `object` 'schedule', required
  - `id` string, uuid, required
  - `name` string, required
  - `repository_ids` string[], required
  - `branch` string, nullable, required
  - `cron_expression` string, required
  - `timezone` string, nullable, required
  - `scan_mode` string, required
  - `model` string, nullable, required
  - `is_active` boolean, required
  - `next_run_at` string, nullable, required
  - `last_run_at` string, nullable, required
  - `created_at` string, required

## Other responses

- `401`: Authentication error
- `403`: Authorization error
- `404`: Not found
- `429`: Rate limited

---

[API](https://skmtc.dev/gecko/apis/gecko-security-api.md) - [All operations](https://skmtc.dev/gecko/apis/gecko-security-api/llms.txt) - [OpenAPI document](https://skmtc.dev/gecko/apis/gecko-security-api/revisions/9da49dae8b07?raw)
