---
title: "Create a support case"
method: POST
path: "/support/tickets"
tags: ["Support"]
---

# Create a support case

`POST /support/tickets`

## Request

- Base URL: `https://api.percher.run`
- URL: `https://api.percher.run/support/tickets`
- Auth: HTTP bearer

Reachable for suspended/terms-pending/deleting accounts. `app` is re-authorized server-side. `includeLogExcerpt` records explicit consent and requires `includeDiagnostics`; the excerpt is redacted and capped. Rate-limited per user.

## Request body

- object
  - `title` string, required
  - `category` 'technical' | 'question' | 'account_billing' | 'suggestion', required
  - `description` string, required
  - `expectedBehavior` string
  - `actualBehavior` string
  - `reproductionSteps` string
  - `app` string: App name or id the case concerns (optional).
  - `includeDiagnostics` boolean
  - `includeLogExcerpt` boolean

## Response `201`

Case created

- object
  - `ticket` object
    - `id` string
    - `displayNumber` string
    - `title` string
    - `description` string
    - `category` 'technical' | 'question' | 'account_billing' | 'suggestion'
    - `status` 'RECEIVED' | 'NEEDS_INFORMATION' | 'IN_PROGRESS' | 'UNDER_REVIEW' | 'RESOLVED'
    - `appId` string, nullable
    - `hasDiagnostics` boolean
    - `createdAt` string, date-time
    - `updatedAt` string, date-time
    - `resolvedAt` string, date-time, nullable

## Other responses

- `404`: Referenced app not readable by the caller
- `429`: Rate limit exceeded

---

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