---
title: "Create a new support issue"
method: POST
path: "/v4/support/issues"
tags: ["Support"]
---

# Create a new support issue

`POST /v4/support/issues`

## Request

- Base URL: `https://api.kadoa.com`
- URL: `https://api.kadoa.com/v4/support/issues`
- Auth: API key in header `x-api-key`

Creates a support ticket. User info is inferred from auth context.

## Request body

- object
  - `title` string, required: Issue title
  - `category` 'bug' | 'feature' | 'workflow_issue' | 'template_issue' | 'integration' | 'billing' | 'data_diff', required
  - `priority` 0 | 1 | 2 | 3 | 4
  - `description` string, required
  - `files` object[]: File attachments to include with the issue. Each file must already be hosted at a publicly accessible URL.
    - `name` string, required: File name (e.g. screenshot.png)
    - `url` string, required: Publicly accessible URL of the file
    - `type` string, required: MIME type (e.g. image/png, application/pdf)
    - `size` number, required: File size in bytes
  - `workflowId` string: Optional workflow ID to link the issue
  - `templateId` string, uuid: Optional template ID to link the issue. Only relevant when category is template_issue.
  - `dataChangeId` string: ID of a data change from the Data Changes API (GET /v4/changes). Links the support issue to a specific data diff so the team can review the exact change being reported. Only relevant when category is data_diff.
  - `subcategory` 'wrong_data' | 'missing_fields' | 'wrong_website' | 'scraper_broken' | 'other' | 'integration_slack' | 'integration_snowflake' | 'integration_cloud_storage' | 'integration_databricks' | 'integration_sftp' | 'integration_sdk' | 'integration_other': Optional subcategory for workflow or integration issues
  - `jobId` string, uuid: Optional ID of the workflow run the issue is about.
  - `copilotSessionId` string, uuid: Kadoa Assistant session the issue was raised from. Must be a session of the caller's team. Marks the ticket as assistant-created and links the session for support.

## Response `202`

Issue creation accepted, or skipped when the ticket is not eligible (skipped is true and reason explains why)

- object
  - `success` boolean
  - `issueId` string: Local support request ID
  - `supportRequestId` string: Local support request ID
  - `jobId` string: Engine event job ID
  - `status` 'accepted'
  - `skipped` boolean: True when no ticket was filed
  - `reason` string: Why the ticket was skipped
  - `code` string: Machine-readable skip code

## Other responses

- `409`: The linked workflow already has an open support issue

---

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