---
title: "Create issue"
method: POST
path: "/v1/issue"
tags: ["Issue"]
---

# Create issue

`POST /v1/issue`

Opens a new issue with `source: API`. The supplied evidence (calls / chats) is attached in the same transaction; an invalid reference fails the whole request rather than leaving a half-created issue.

## Request body

- CreateIssueInput
  - `title` string, required — Short headline — required, max 280 characters
  - `summary` string, nullable — Longer-form context — optional, max 2000 characters
  - `severity` 'LOW' | 'MEDIUM' | 'HIGH' | 'CRITICAL', nullable — Coarse priority. Null when unset.
  - `evidence` CreateIssueEvidence[] — Calls / chats to attach as evidence. Optional; max 50 entries per issue.
    - `callId` string, uuid
    - `chatId` string, uuid

## Response `201`

The created issue

- object
  - `data` Issue, required — An issue surfaced on the Roark Issues page
    - `id` string, uuid, required
    - `organizationId` string, uuid, required
    - `projectId` string, uuid, required
    - `alertId` string, uuid, nullable, required — Only set when source is an alert
    - `source` 'TREND_ALERT' | 'SINGLE_CALL_ALERT' | 'TRACE_FAILURE' | 'MANUAL' | 'API' | 'AGENT', required — Who opened the issue
    - `title` string, required
    - `summary` string, nullable, required
    - `severity` 'LOW' | 'MEDIUM' | 'HIGH' | 'CRITICAL', nullable, required — Coarse priority — LOW / MEDIUM / HIGH / CRITICAL
    - `status` 'OPEN' | 'ACKED' | 'RESOLVED', required — Lifecycle state
    - `fingerprint` string, required — Producer-supplied dedup key. Same fingerprint coalesces into the same issue.
    - `eventCount` integer, required — How many times this issue has been observed.
    - `lastEventAt` string, nullable, required — Timestamp of the most recent occurrence, or null if no events yet.
    - `openedAt` string, required
    - `resolvedAt` string, nullable, required
    - `assigneeUserId` string, uuid, nullable, required
    - `evidence` IssueEvidence[], required — Calls / chats attached as evidence
      - `id` string, uuid, required
      - `callId` string, uuid, nullable, required — Call attached as evidence, or null
      - `chatId` string, uuid, nullable, required — Chat attached as evidence, or null
      - `observedAt` string, required — When the evidence was observed (ISO-8601)
    - `createdAt` string, required
    - `updatedAt` string, nullable, required

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `500` — Internal Server Error

## Changes

- **2026-08-17** `887b091b3d81` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/roarkhq/apis/roark-analytics-api/changes/v1/issue/post.md)

---

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