---
title: "Create support ticket"
method: POST
path: "/v1/support/tickets"
tags: ["Accounts"]
---

# Create support ticket

`POST /v1/support/tickets`

Creates a rate-limited account-scoped service ticket with scraper request evidence. Account API keys are accepted so users and AI/API agents can open service tickets.

## Request body

- SupportTicketCreateRequest — Request body for creating an account-scoped service ticket from a user, CLI, or AI/API agent.
  - `subject` string, required
  - `details` string, required
  - `request_id` string, nullable
  - `scraper_id` string, nullable
  - `failing_command` string, nullable
  - `first_log_line` string, nullable
  - `severity` 'low' | 'normal' | 'urgent' — Support ticket severity.

## Response `200`

Account-scoped service ticket created.

- SupportTicketCreateResponse — Service ticket mutation response.
  - `ticket` SupportTicket, required — Support ticket.
    - `id` string, required
    - `created_by` 'account_api_key' | 'account_session', required — Auth surface that created the support ticket.
    - `subject` string, required
    - `details` string, required
    - `request_id` string, nullable
    - `scraper_id` string, nullable
    - `failing_command` string, nullable
    - `first_log_line` string, nullable
    - `status` 'in_progress' | 'open' | 'resolved', required — Support ticket status.
    - `severity` 'low' | 'normal' | 'urgent', required — Support ticket severity.
    - `agent_instruction` string, required
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
  - `rate_limit` SupportTicketRateLimit, required — Account support ticket rate limit.
    - `limit_per_hour` integer, required
    - `remaining_hour` integer, required
    - `limit_per_day` integer, required
    - `remaining_day` integer, required
  - `next_command` string, required

## Other responses

- `400` — Bad request.
- `401` — Unauthorized.
- `429` — Too many requests.
- `500` — Internal server error.

## Changes

- **2026-06-25** `59ecc410cd88` — 1 info
  - added the required property `ticket/created_by` to the response with the `200` status
- **2026-06-25** `4ec70e480044` — 3 breaking, 1 warning, 13 info
  - removed the required property `agent_instruction` from the response with the `200` status
  - removed the required property `ok` from the response with the `200` status
  - removed the required property `ticket/createdAt` from the response with the `200` status
  - added the new `in_progress` enum value to the `ticket/status` response property for the response status `200`
  - …13 more
- **2026-06-25** `2ac9065749ac` — 1 info
  - endpoint added
- **2026-06-25** `b99327dee320` — 1 breaking
  - api path removed without deprecation
- **2026-06-05** `3985c6090c91` — 29 breaking, 11 warning, 80 info
  - the response property `checkout_url` became nullable for the status `400`
  - the response property `checkout_url` became nullable for the status `401`
  - the response property `checkout_url` became nullable for the status `429`
  - the response property `checkout_url` became nullable for the status `500`
  - …116 more

[Change history](https://skmtc.dev/tovuk/apis/tovuk-api/changes/v1/support/tickets/post.md)

---

[API](https://skmtc.dev/tovuk/apis/tovuk-api.md) · [All operations](https://skmtc.dev/tovuk/apis/tovuk-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/tovuk/tovuk-api/revisions/ef06c3a9c42b/schema)
