---
title: "Start working on a hard ticket"
url: https://docs.gleap.ai/en/reference/rest-api/start-ticket
method: POST
path: "/hard-tickets/tickets/{ticketId}/start"
api: "API Reference"
tag: "HardTickets"
operationId: "StartTicket"
updatedAt: "2026-11-03T17:10:00.738Z"
language: en
---

# Start working on a hard ticket

`POST https://api.gleap.io/v3/hard-tickets/tickets/{ticketId}/start`

Work on the ticket: Kai Support works on it (Kai Code Cloud, a Bridge machine) or it opens in an app on your computer. One active session per ticket: a second start returns the running one (`alreadyRunning`). Apps get `kickoff` for the deeplink (AgentHandoff.ts); no report within 3 minutes reads "Not connected".

## Authorization

- `Authorization` (header, required): `Bearer <token>`

## Path parameters

- `ticketId` (string, required)

## Headers

- `project` (string, required)

## Request body (`application/json`, required)

- `runner` (object, required)

## Example request

```bash
curl --request POST \
  --url 'https://api.gleap.io/v3/hard-tickets/tickets/{ticketId}/start' \
  --header 'Authorization: Bearer <token>' \
  --header 'project: <project>' \
  --header 'Content-Type: application/json' \
  --data '{
  "runner": {
    "kind": "cloud"
  }
}'
```

## Responses

### 200 (`application/json`)

Ok
