---
title: "Persist a batch of engineering tickets"
method: POST
path: "/api/v1/tickets"
tags: ["Tickets"]
---

# Persist a batch of engineering tickets

`POST /api/v1/tickets`

## Request

- Base URL: `https://www.specky.space`
- URL: `https://www.specky.space/api/v1/tickets`
- Auth: HTTP bearer

## Request body

- CreateTicketsRequest
  - `feature_title` string, required
  - `tickets` object[], required
    - `type` 'epic' | 'story' | 'task', required
    - `title` string, required
    - `description` string, required
    - `priority` 'critical' | 'high' | 'medium' | 'low'
    - `estimate` number
    - `labels` string[]

## Response `200`

Successful response. Always includes `summary` (string) and `ok: true`; mutating endpoints additionally include the created resource id under a tool-specific key.

- OkSummary
  - `ok` true
  - `summary` string: Human-readable result text.

## Other responses

- `400`: Invalid request body or path
- `401`: Missing or invalid bearer token

---

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