---
title: "Update conformity assessment"
method: PUT
path: "/api/v1/euaiact/conformity/{assessment_id}"
tags: ["EU AI Act"]
---

# Update conformity assessment

`PUT /api/v1/euaiact/conformity/{assessment_id}`

## Request

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

Update a conformity assessment (only allowed for draft/in_progress status).

## Path parameters

- `assessment_id` string, required

## Request body

- UpdateConformityRequest: Request body for `PUT /api/v1/euaiact/conformity/{assessment_id}`. All fields optional — only the fields present are updated. Mirrors `platform/orchestrator/euaiact/types.go::UpdateAssessmentRequest`. The handler rejects updates when the assessment status is no longer `draft` or `in_progress`.
  - `system_name` string
  - `risk_category` 'minimal' | 'limited' | 'high-risk' | 'unacceptable'
  - `assessors` string[]
  - `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
  - `recommendations` string[]

## Response `200`

Assessment updated

- 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
- `404`: Resource not found

---

[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)
