Skip to main content

Conformity Assessment API

The Conformity Assessment API manages product-scoped EU AI Act conformity assessments for AI products. It supports assessment creation, checklist evidence updates, review lifecycle transitions, draft Declaration of Conformity generation, CE marking, and substantial-modification checks.

All paths below are under /api/v1.0. The router is gated by governance.conformity_assessment and requires access to the target space and product.

Endpoints Overview

MethodEndpointDescription
POST/catalog/spaces/{space_slug}/products/{product_id}/conformity-assessments/Create a draft assessment with the default Article 9-15 checklist.
GET/catalog/spaces/{space_slug}/products/{product_id}/conformity-assessments/List assessments for one product.
GET/catalog/spaces/{space_slug}/products/{product_id}/conformity-assessments/{assessment_id}Retrieve one assessment.
PUT/catalog/spaces/{space_slug}/products/{product_id}/conformity-assessments/{assessment_id}Update checklist and assessment metadata while editable.
POST/catalog/spaces/{space_slug}/products/{product_id}/conformity-assessments/{assessment_id}/submit-reviewMove a draft assessment to review.
POST/catalog/spaces/{space_slug}/products/{product_id}/conformity-assessments/{assessment_id}/reviewRecord review outcome.
POST/catalog/spaces/{space_slug}/products/{product_id}/conformity-assessments/{assessment_id}/ce-markingApply CE marking to a passed assessment.
POST/catalog/spaces/{space_slug}/products/{product_id}/conformity-assessments/{assessment_id}/generate-declarationGenerate a draft Declaration of Conformity reference and data payload.
POST/catalog/spaces/{space_slug}/products/{product_id}/conformity-assessments/evaluate-modificationEvaluate whether a product change is substantial.

Lifecycle

FieldValues
assessment_typeself, third_party, dual
statusdraft, in_review, passed, ce_marked
Checklist item statuspending, pass, fail, na
review_outcomepass, fail, conditional
ce_marking_statusnot_applied, applied, revoked

New assessments start as draft. Only draft and in_review assessments can be updated. Submitting for review requires draft status. A pass or conditional review moves the assessment to passed; a fail review returns it to draft. CE marking requires passed status and changes the assessment status to ce_marked.

Create Assessment

POST /api/v1.0/catalog/spaces/{space_slug}/products/{product_id}/conformity-assessments/
{
"assessment_type": "self",
"notes": "Initial Annex VI assessment"
}

assessment_type must be self, third_party, or dual. The response includes the default checklist for Art. 9 through Art. 15, the assessor, timestamps, ce_marking_status, and declaration fields.

List Assessments

GET /api/v1.0/catalog/spaces/{space_slug}/products/{product_id}/conformity-assessments/?limit=20&offset=0

The list is ordered newest first. limit is 1-100.

Update Assessment

PUT /api/v1.0/catalog/spaces/{space_slug}/products/{product_id}/conformity-assessments/{assessment_id}
{
"checklist": [
{
"article": "Art. 9",
"title": "Risk Management System",
"status": "pass",
"evidence_refs": ["doc:technical-file-123"],
"notes": "Risk management procedure approved."
}
],
"notified_body_name": "Example Notified Body",
"notified_body_certificate_ref": "NB-2026-001",
"valid_from": "2026-06-29T00:00:00Z",
"valid_until": "2027-06-29T00:00:00Z",
"reassessment_reason": "Annual review"
}

Updating a completed assessment returns 409. Create a new reassessment instead.

Submit for Review

POST /api/v1.0/catalog/spaces/{space_slug}/products/{product_id}/conformity-assessments/{assessment_id}/submit-review
{
"reviewer_id": "00000000-0000-0000-0000-000000000000"
}

The assessment must be in draft status. The response has status: "in_review" and records the reviewer ID.

Complete Review

POST /api/v1.0/catalog/spaces/{space_slug}/products/{product_id}/conformity-assessments/{assessment_id}/review
{
"outcome": "pass",
"remediation_notes": null
}

The assessment must be in in_review. outcome must be pass, fail, or conditional.

Apply CE Marking

POST /api/v1.0/catalog/spaces/{space_slug}/products/{product_id}/conformity-assessments/{assessment_id}/ce-marking

The assessment must be passed. The response sets status to ce_marked and ce_marking_status to applied.

Generate Declaration

POST /api/v1.0/catalog/spaces/{space_slug}/products/{product_id}/conformity-assessments/{assessment_id}/generate-declaration

The assessment cannot be draft. The response includes declaration_ref and declaration_data with generated timestamp, assessment type, product ID, assessor/reviewer IDs, review outcome, checklist summary, CE marking status, notified-body fields, and validity dates.

Evaluate Substantial Modification

POST /api/v1.0/catalog/spaces/{space_slug}/products/{product_id}/conformity-assessments/evaluate-modification
{
"accuracy_delta": 0.06,
"data_volume_delta": 0.3,
"architecture_changed": false,
"feature_set_changed": true,
"intended_purpose_changed": false
}

The heuristic weights accuracy delta, training data volume change, architecture changes, feature-set changes, and intended-purpose changes. The response includes is_substantial, confidence_score, factors, and a human-readable recommendation. The heuristic threshold for a substantial modification is a confidence score of 0.5.

Response Fields

Assessment responses include:

FieldDescription
id, product_id, space_idAssessment identity and scope.
assessment_type, statusLifecycle state.
checklistArticle-level checklist items with evidence refs and notes.
assessor_id, assessed_atCreator and assessment timestamp.
reviewer_id, reviewed_at, review_outcome, remediation_notesReview metadata.
notified_body_name, notified_body_certificate_refThird-party assessment metadata.
ce_marking_statusCE marking state.
declaration_ref, declaration_dataGenerated declaration data.
valid_from, valid_until, reassessment_reasonValidity and reassessment metadata.
substantial_mod_heuristicStored substantial-modification result when present.
created_at, updated_atAudit timestamps.

Error Responses

StatusDescription
400Invalid assessment type or review outcome.
401Authentication required.
404Product or assessment not found in the space.
409Invalid lifecycle transition, such as updating a completed assessment or applying CE marking before pass.