---
title: "Create incident"
method: POST
path: "/v1/projects/{project_id}/compliance/incidents"
tags: ["compliance"]
---

# Create incident

`POST /v1/projects/{project_id}/compliance/incidents`

## Request

- Base URL: `https://api.connic.co`
- URL: `https://api.connic.co/v1/projects/{project_id}/compliance/incidents`
- Auth: HTTP bearer

Record a compliance incident for an AI system.

Required permission: `compliance.incidents.manage`.

## Path parameters

- `project_id` string, uuid, required

## Request body

- ComplianceIncidentCreate: Records an AI incident for an AI system. connic records deadlines and notifications but does not calculate deadlines or judge legal sufficiency.
  - `system_id` string, uuid, required: AI system the incident concerns.
  - `environment_id` string, uuid, nullable: Environment involved. Must be linked to the system if the system lists environments.
  - `deployment_id` string, uuid, nullable: Deployment involved. Must be linked to the system if the system lists deployments.
  - `run_id` string, uuid, nullable: Run involved. Its environment and deployment fill in omitted references and must match given ones.
  - `title` string, required: Short summary of the incident.
  - `description` string, nullable: What happened.
  - `severity` 'low' | 'medium' | 'high' | 'critical': Internal severity rating.
  - `awareness_at` string, date-time, required: When your organization first became aware of the incident.
  - `causal_link_status` 'unknown' | 'suspected' | 'confirmed' | 'ruled_out': Whether the AI system is linked to the cause of the incident.
  - `affected_rights` string[]: Rights or interests affected.
  - `member_states` string[]: EU Member States affected.
  - `reportability_status` 'not_assessed' | 'not_reportable' | 'reportable' | 'reported': Whether the incident must be reported to an authority. `reported` requires an authority notification in `notification_history`.
  - `reporting_deadline` string, date-time, nullable: Reporting deadline your organization determined. Cannot precede `awareness_at`.
  - `deadline_basis` string, nullable: Rule, decision or counsel instruction behind `reporting_deadline`.
  - `confirm_reporting_deadline` boolean: Records that you confirmed `reporting_deadline`. Requires the deadline and `deadline_basis`.
  - `containment` string, nullable: Containment measures taken.
  - `investigation` string, nullable: Investigation findings.
  - `corrective_actions` ComplianceCorrectiveAction[]: Corrective actions to track.
    - `action` string, required: What will be done.
    - `owner` string, nullable: Person or team responsible.
    - `status` string: Free-text status, such as `open` or `done`.
    - `due_at` string, date-time, nullable: When the action is due.
  - `notification_history` ComplianceIncidentNotification[]: Notifications sent about the incident, such as reports to authorities.
    - `recipient` string, required: Recipient or authority notified.
    - `channel` string, required: How the notification was sent, such as email or a portal.
    - `at` string, date-time, required: When the notification was sent.
    - `external_reference` string, required: Case or submission ID from the recipient.
    - `note` string, nullable: Additional context.

## Response `201`

Successful Response

- ComplianceIncidentResponse: An AI incident and its corrective-action and notification record.
  - `id` string, uuid, required
  - `project_id` string, uuid, required: Project the incident belongs to.
  - `system_id` string, uuid, required: AI system the incident concerns.
  - `environment_id` string, uuid, nullable, required: Environment involved.
  - `deployment_id` string, uuid, nullable, required: Deployment involved.
  - `run_id` string, uuid, nullable, required: Run involved.
  - `title` string, required: Short summary of the incident.
  - `description` string, nullable, required: What happened.
  - `severity` 'low' | 'medium' | 'high' | 'critical', required: Internal severity rating.
  - `status` 'open' | 'investigating' | 'contained' | 'resolved' | 'closed', required: Case status.
  - `awareness_at` string, date-time, required: When your organization first became aware of the incident.
  - `causal_link_status` 'unknown' | 'suspected' | 'confirmed' | 'ruled_out', required: Whether the AI system is linked to the cause of the incident.
  - `affected_rights` string[], required: Rights or interests affected.
  - `member_states` string[], required: EU Member States affected.
  - `reportability_status` 'not_assessed' | 'not_reportable' | 'reportable' | 'reported', required: Whether the incident must be reported to an authority.
  - `reporting_deadline` string, date-time, nullable, required: Reporting deadline your organization determined.
  - `deadline_basis` string, nullable, required: Rule, decision or counsel instruction behind `reporting_deadline`.
  - `deadline_confirmed_at` string, date-time, nullable, required: When `reporting_deadline` was confirmed. Cleared when the deadline, awareness time or basis changes.
  - `deadline_confirmed_by` string, nullable, required: ID of the user who confirmed the deadline.
  - `containment` string, nullable, required: Containment measures taken.
  - `investigation` string, nullable, required: Investigation findings.
  - `corrective_actions` ComplianceCorrectiveAction[], required: Corrective actions being tracked.
    - `action` string, required: What will be done.
    - `owner` string, nullable: Person or team responsible.
    - `status` string: Free-text status, such as `open` or `done`.
    - `due_at` string, date-time, nullable: When the action is due.
  - `notification_history` ComplianceIncidentNotification[], required: Notifications sent about the incident, such as reports to authorities.
    - `recipient` string, required: Recipient or authority notified.
    - `channel` string, required: How the notification was sent, such as email or a portal.
    - `at` string, date-time, required: When the notification was sent.
    - `external_reference` string, required: Case or submission ID from the recipient.
    - `note` string, nullable: Additional context.
  - `created_by` string, required: ID of the user who recorded the incident.
  - `updated_by` string, required: ID of the user who last changed the incident.
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required
  - `closed_at` string, date-time, nullable, required: When the incident was resolved or closed. null while open.

## Other responses

- `401`: Missing or invalid API key.
- `403`: The API key lacks the required permission or access to the environment.
- `422`: Validation Error
- `429`: Rate limit exceeded.

---

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