---
title: "Create up to 20 deadlines"
method: POST
path: "/deadlines/batch"
---

# Create up to 20 deadlines

`POST /deadlines/batch`

## Request

- Base URL: `https://www.scadenzario.app/api/v1`
- URL: `https://www.scadenzario.app/api/v1/deadlines/batch`
- Auth: HTTP bearer

## Request body

- BatchCreateInput
  - `deadlines` CreateDeadlineInput[], required
    - `title` string, required
    - `due_at` string, required: ISO date (treated as that morning) or full ISO date-time.
    - `notes` string
    - `emoji` string
    - `recurrence` 'none' | 'daily' | 'weekly' | 'monthly' | 'yearly' | 'multiple_daily' | 'interval' | 'quarterly' | 'bimonthly' | 'biennial' | 'semiannual'
    - `custom_interval` integer
    - `reminder_days` integer[]
    - `notification_times` string[]
    - `amount` number
    - `transaction_type` 'none' | 'expense' | 'income'
    - `label_id` string
    - `label_ids` string[]
    - `time_zone` string: IANA zone for the civil due date. Defaults to the digest preference, else Europe/Rome.
    - `client_request_id` string: Stable key making retries idempotent. The Idempotency-Key header fills this automatically.

## Response `200`

Partial success is normal: check created and failed.

- BatchCreateOutcome
  - `created` Deadline[], required
    - `id` string, required
    - `title` string, required
    - `due_at` string, date-time, required
    - `notes` string, nullable
    - `emoji` string, nullable
    - `recurrence` 'none' | 'daily' | 'weekly' | 'monthly' | 'yearly' | 'multiple_daily' | 'interval' | 'specific_dates' | 'yearly_dates' | 'quarterly' | 'bimonthly' | 'biennial' | 'semiannual', required
    - `custom_interval` integer
    - `reminder_days` integer[]
    - `notification_times` string[]
    - `amount` number, nullable
    - `transaction_type` 'none' | 'expense' | 'income'
    - `is_paid` boolean
    - `paid_at` string, date-time, nullable
    - `paid_amount` number, nullable: Amount actually paid, when it differs from amount.
    - `is_done` boolean, required
    - `label_id` string, nullable
    - `label_ids` string[]
    - `has_attachment` boolean
    - `created_at` string, nullable
    - `updated_at` string, nullable
  - `failed` object[], required
    - `index` integer, required
    - `client_request_id` string
    - `reason` string, required

## Other responses

- `400`: Invalid input.
- `401`: Missing or invalid token.
- `403`: PRO required.

---

[API](https://skmtc.dev/scadenzario/apis/scadenzario-api.md) · [All operations](https://skmtc.dev/scadenzario/apis/scadenzario-api/llms.txt) · [OpenAPI document](https://skmtc.dev/scadenzario/apis/scadenzario-api/revisions/4ad6b339ccef?raw)
