---
title: "Create conformity assessment"
method: POST
path: "/api/v1/euaiact/conformity"
tags: ["EU AI Act"]
---

# Create conformity assessment

`POST /api/v1/euaiact/conformity`

## Request

- Base URL: `https://orchestrator.getaxonflow.com`
- URL: `https://orchestrator.getaxonflow.com/api/v1/euaiact/conformity`
- Auth: none declared
- TypeScript: <https://skmtc.dev/getaxonflow/apis/axonflow-orchestrator-api/docs/api/v1/euaiact/conformity/post.ts> (a function with typed inputs; its response is checked against the schema)

Create a new EU AI Act conformity assessment (Article 43).
Used to document compliance for high-risk AI systems.

## Headers

- `X-Org-ID` string
- `X-User-ID` string

## Request body

- CreateConformityRequest: Request body for `POST /api/v1/euaiact/conformity`. Mirrors `platform/orchestrator/euaiact/types.go::CreateAssessmentRequest`.
  - `system_id` string, required
  - `system_name` string, required
  - `risk_category` 'minimal' | 'limited' | 'high-risk' | 'unacceptable', required
  - `assessors` string[]

## Response `201`

Assessment created

- ConformityAssessment: EU AI Act conformity assessment record (Article 43). Mirrors the wire shape of `platform/orchestrator/euaiact/types.go::ConformityAssessment`.
  - `id` string, required: Unique assessment identifier (UUID).
  - `org_id` string, required: Owning organization.
  - `system_id` string, required: AI system this assessment covers.
  - `system_name` string, required: Human-readable name of the AI system.
  - `risk_category` 'minimal' | 'limited' | 'high-risk' | 'unacceptable', required: EU AI Act risk classification.
  - `status` 'draft' | 'in_progress' | 'submitted' | 'approved' | 'rejected', required
  - `version` integer: Monotonic version (bumps on every update).
  - `assessment_date` string, date-time, required
  - `valid_until` string, date-time, nullable
  - `assessors` string[], required: Email addresses of the team members carrying out the assessment.
  - `requirements` RequirementStatus[]
    - `requirement_id` string
    - `article` string: EU AI Act article reference (e.g., "Article 9")
    - `description` string
    - `status` 'compliant' | 'non_compliant' | 'partial' | 'not_applicable'
    - `notes` string
    - `evidence_ids` string[]
  - `evidence` EvidenceItem[]
    - `id` string
    - `type` 'document' | 'test_result' | 'audit_log' | 'certification'
    - `title` string
    - `description` string
    - `file_path` string
    - `url` string
    - `uploaded_at` string, date-time
    - `uploaded_by` string
  - `findings` Finding[]
    - `id` string
    - `severity` 'critical' | 'major' | 'minor' | 'observation'
    - `category` string
    - `description` string
    - `article` string: Related EU AI Act article
    - `remediation` string
    - `status` 'open' | 'resolved' | 'accepted'
  - `risk_mitigation` object, nullable: Free-form risk-mitigation notes structured as a JSON object.
  - `recommendations` string[]
  - `created_by` string, required: User email that opened the assessment.
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required
  - `submitted_at` string, date-time, nullable
  - `submitted_by` string
  - `approved_at` string, date-time, nullable
  - `approved_by` string
  - `rejected_at` string, date-time, nullable
  - `rejected_by` string
  - `rejection_reason` string: Free-form reason a reviewer used when transitioning to `rejected`.

## Other responses

- `400`: Invalid request

---

[API](https://skmtc.dev/getaxonflow/apis/axonflow-orchestrator-api.md) - [All operations](https://skmtc.dev/getaxonflow/apis/axonflow-orchestrator-api/llms.txt) - [OpenAPI document](https://skmtc.dev/getaxonflow/apis/axonflow-orchestrator-api/revisions/f408ef3ec9dd?raw)
