Skip to main content

Prohibited Practices Screening API

The Prohibited Practices Screening API manages product-scoped Article 5 screenings for AI products. It creates a default prohibited-practices questionnaire, saves draft answers, evaluates screenings, and records governance overrides for flagged outcomes.

All paths below are under /api/v1.0. Every endpoint is scoped to a product inside a space and requires space access.

Endpoints Overview

MethodEndpointDescription
POST/catalog/spaces/{space_slug}/products/{product_id}/prohibited-practices-screenings/Create a draft screening.
GET/catalog/spaces/{space_slug}/products/{product_id}/prohibited-practices-screenings/List screenings for one product.
GET/catalog/spaces/{space_slug}/products/{product_id}/prohibited-practices-screenings/{screening_id}Retrieve one screening.
PUT/catalog/spaces/{space_slug}/products/{product_id}/prohibited-practices-screenings/{screening_id}Update draft responses.
POST/catalog/spaces/{space_slug}/products/{product_id}/prohibited-practices-screenings/{screening_id}/submitSubmit and evaluate saved responses.
POST/catalog/spaces/{space_slug}/products/{product_id}/prohibited-practices-screenings/{screening_id}/overrideApply a governance override to a flagged screening.

Status And Outcome Model

FieldValues
Question answeryes, no, na, unanswered
statusdraft, cleared, flagged
outcomenot_assessed, cleared, prohibited
override_outcomeexception_granted when an override is applied

Submitting rejects screenings with unanswered questions. Any yes answer produces outcome: "prohibited", sets status: "flagged", and records flagged_articles. If all answers are no or na, the screening is cleared.

Create Screening

POST /api/v1.0/catalog/spaces/{space_slug}/products/{product_id}/prohibited-practices-screenings/
{
"responses": [
{
"article_ref": "5(1)(a)",
"question": "Does the system use subliminal techniques beyond a person's consciousness to materially distort behaviour?",
"answer": "unanswered",
"notes": ""
}
]
}

responses is optional. If omitted, Qarion creates the default Article 5 questionnaire with one question per prohibited practice.

List Screenings

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

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

Update Screening

PUT /api/v1.0/catalog/spaces/{space_slug}/products/{product_id}/prohibited-practices-screenings/{screening_id}
{
"responses": [
{
"article_ref": "5(1)(a)",
"question": "Does the system use subliminal techniques beyond a person's consciousness to materially distort behaviour?",
"answer": "no",
"notes": "The system does not use subliminal techniques."
}
]
}

Only draft screenings can be updated.

Submit for Evaluation

POST /api/v1.0/catalog/spaces/{space_slug}/products/{product_id}/prohibited-practices-screenings/{screening_id}/submit

The request body is empty. The current frontend saves the draft with PUT before calling submit. The API evaluates the stored responses and returns the updated screening.

Apply Governance Override

POST /api/v1.0/catalog/spaces/{space_slug}/products/{product_id}/prohibited-practices-screenings/{screening_id}/override
{
"justification": "Reviewed supporting evidence and determined this is a documented false positive."
}

Overrides are accepted only for flagged screenings. The justification must be at least 10 characters. The response records reviewer_id, reviewed_at, override_justification, and override_outcome: "exception_granted".

Response Fields

FieldDescription
id, product_id, space_idScreening identity and scope.
status, outcomeLifecycle and evaluation result.
responsesQuestionnaire answers with article refs, questions, answers, and notes.
flagged_articlesArticle references where the answer was yes.
screened_by_id, screened_atCreator and evaluation timestamp.
reviewer_id, reviewed_atOverride reviewer metadata.
override_justification, override_outcomeGovernance override details.
created_at, updated_atAudit timestamps.

Create, update, submit, and override actions emit audit events for prohibited_practices_screening.

Error Responses

StatusDescription
400Updating or submitting a non-draft screening, unanswered questions, overriding a non-flagged screening, or invalid payload.
401Authentication required for create and override operations.
404Product or screening not found in the space.