Use this as the first step when you hold a concrete AI system and need to know which routes of the EU AI Act come into view: prohibited practice screening, Annex III high risk, transparency, FRIA and the general purpose model route, and with a version 2 profile the wider set of duties, such as Article 26 for a deployer. It runs the deterministic decision engine over coded answers and returns one applicability status per assessed obligation, with the timing and what is still open. It is not meant for a general question about the law. An obligation the engine did not assess is listed in assessment_scope.not_assessed with the reason; it was not found inapplicable. It does not return a single coded classification label.
View input schema
{
"type": "object",
"properties": {
"profile": {
"type": "object",
"additionalProperties": false,
"description": "The coded answers about one system. The fifteen version 1 fields are required. A field that does not bear on this case takes not_relevant, and unsure is a real answer that leads to insufficient_context rather than to a guess. A version 1 profile has five obligations assessed. To have the wider set assessed, including Article 26 for a deployer of a high risk system, also send profile_version 2.0.0, chain_roles (consistent with actor_role) and the twelve other version 2 scope facts: ai_system_scope, jurisdiction_established_in_eu, jurisdiction_market_in_eu, jurisdiction_output_in_eu, scope_exclusion, annex_i_product, annex_i_third_party_conformity, article_25_role_change, provider_outside_eu, sandbox_participation, real_world_testing and adverse_significant_decision. The remaining version 2 facts are optional: an unanswered fact is unknown and leads to insufficient_context, never to a silent no. The backend rejects a profile whose answers contradict each other.",
"required": [
"actor_role",
"object_type",
"eu_nexus",
"article_5_signal",
"annex_iii_domain",
"annex_iii_use_case",
"decision_influence",
"article_50_scenarios",
"article_50_market_date",
"direct_interaction_obvious",
"public_interest_editorial_control",
"fria_context",
"gpai_union_market",
"gpai_market_date",
"gpai_open_source_status"
],
"properties": {
"actor_role": {
"type": "string",
"enum": [
"provider",
"deployer",
"provider_and_deployer",
"gpai_model_provider",
"importer_or_distributor",
"unsure"
],
"description": "The role the assessed organisation occupies for this system."
},
"object_type": {
"type": "string",
"enum": [
"ai_system",
"gpai_model",
"ai_system_using_gpai",
"unsure"
],
"description": "What is being assessed: a system, a general purpose model, or a system built on one."
},
"eu_nexus": {
"type": "string",
"enum": [
"offered_or_used_in_eu",
"output_used_in_eu",
"none",
"unsure"
],
"description": "The connection to the Union market. none leads to out of scope."
},
"article_5_signal": {
"type": "string",
"enum": [
"none_known",
"manipulation_exploitation_or_social_scoring",
"biometric_or_remote_identification",
"emotion_at_work_or_school",
"predictive_policing",
"non_consensual_intimate_or_csam",
"unsure"
],
"description": "Screening signal for the prohibited practices of Article 5."
},
"annex_iii_domain": {
"type": "string",
"enum": [
"biometrics",
"critical_infrastructure",
"education",
"employment",
"essential_services",
"law_enforcement",
"migration_border",
"justice_democracy",
"none",
"unsure"
],
"description": "The Annex III domain of the intended purpose."
},
"annex_iii_use_case": {
"type": "string",
"enum": [
"bio-1a",
"bio-1b",
"bio-1c",
"ci-2",
"edu-3a",
"edu-3b",
"edu-3c",
"edu-3d",
"emp-4a",
"emp-4b",
"es-5a",
"es-5b",
"es-5c",
"es-5d",
"le-6a",
"le-6b",
"le-6c",
"le-6d",
"le-6e",
"mig-7a",
"mig-7b",
"mig-7c",
"mig-7d",
"jd-8a",
"jd-8b",
"none",
"unsure",
"not_relevant"
],
"description": "The coded Annex III use case. Its prefix must match the domain: employment takes emp-, education takes edu-, and so on. none with domain none, unsure with domain unsure."
},
"decision_influence": {
"type": "string",
"enum": [
"profiles_people",
"materially_influences",
"narrow_or_preparatory",
"no_material_influence",
"unsure",
"not_relevant"
],
"description": "Required when an exact Annex III use case is named, not_relevant otherwise."
},
"article_50_scenarios": {
"type": "array",
"minItems": 1,
"maxItems": 5,
"uniqueItems": true,
"items": {
"type": "string",
"enum": [
"direct_interaction",
"synthetic_content",
"emotion_or_biometric",
"deepfake",
"public_interest_text",
"none",
"unsure"
]
},
"description": "The transparency scenarios of Article 50 that occur. none and unsure are exclusive: neither combines with another value."
},
"article_50_market_date": {
"type": "string",
"enum": [
"before_2026_08_02",
"on_or_after_2026_08_02",
"unsure",
"not_relevant"
],
"description": "Required for a provider with the synthetic_content scenario, not_relevant otherwise."
},
"direct_interaction_obvious": {
"type": "string",
"enum": [
"yes",
"no",
"unsure",
"not_relevant"
],
"description": "Required with the direct_interaction scenario, not_relevant otherwise."
},
"public_interest_editorial_control": {
"type": "string",
"enum": [
"yes_with_responsibility",
"no",
"unsure",
"not_relevant"
],
"description": "Required for a deployer with the public_interest_text scenario, not_relevant otherwise."
},
"fria_context": {
"type": "string",
"enum": [
"public_body",
"private_public_service",
"creditworthiness",
"life_or_health_insurance",
"none",
"unsure",
"not_relevant"
],
"description": "Required for a deployer with an exact Annex III use case other than ci-2, not_relevant otherwise."
},
"gpai_union_market": {
"type": "string",
"enum": [
"yes",
"no",
"unsure",
"not_relevant"
],
"description": "Required for a general purpose model provider, not_relevant otherwise."
},
"gpai_market_date": {
"type": "string",
"enum": [
"before_2025_08_02",
"on_or_after_2025_08_02",
"unsure",
"not_relevant"
],
"description": "Required when the model is placed on the Union market, not_relevant otherwise."
},
"gpai_open_source_status": {
"type": "string",
"enum": [
"qualifying_without_systemic_risk",
"not_qualifying_or_systemic_risk",
"unsure",
"not_relevant"
],
"description": "Required when the model is placed on the Union market, not_relevant otherwise."
},
"profile_version": {
"type": "string",
"enum": [
"2.0.0"
],
"description": "Send 2.0.0 to have the wider set of obligations assessed. Omit it for a version 1 profile."
},
"chain_roles": {
"type": "array",
"minItems": 1,
"maxItems": 6,
"uniqueItems": true,
"items": {
"type": "string",
"enum": [
"provider",
"deployer",
"importer",
"distributor",
"authorised_representative",
"gpai_model_provider"
]
},
"description": "Version 2: the roles in the value chain, kept apart. Must agree with actor_role, for example [deployer] with actor_role deployer."
},
"ai_system_scope": {
"type": "string",
"enum": [
"yes",
"no",
"unsure",
"not_relevant"
],
"description": "Version 2: is the assessed thing an AI system in the sense of Article 3(1)?"
},
"jurisdiction_established_in_eu": {
"type": "string",
"enum": [
"yes",
"no",
"unsure",
"not_relevant"
],
"description": "Version 2: is the organisation established in the Union?"
},
"jurisdiction_market_in_eu": {
"type": "string",
"enum": [
"yes",
"no",
"unsure",
"not_relevant"
],
"description": "Version 2: is the system placed on the market or put into service in the Union?"
},
"jurisdiction_output_in_eu": {
"type": "string",
"enum": [
"yes",
"no",
"unsure",
"not_relevant"
],
"description": "Version 2: is the output used in the Union?"
},
"scope_exclusion": {
"type": "string",
"enum": [
"none",
"personal_non_professional",
"military_defence_national_security",
"research_before_market",
"unsure"
],
"description": "Version 2: an exclusion under Article 2, or none."
},
"annex_i_product": {
"type": "string",
"enum": [
"yes",
"no",
"unsure",
"not_relevant"
],
"description": "Version 2: is the system a product, or a safety component of a product, under the Union legislation in Annex I?"
},
"annex_i_third_party_conformity": {
"type": "string",
"enum": [
"yes",
"no",
"unsure",
"not_relevant"
],
"description": "Version 2: does that product need a third party conformity assessment? not_relevant without an Annex I product."
},
"safety_component": {
"type": "string",
"enum": [
"yes",
"no",
"unsure",
"not_relevant"
],
"description": "Version 2, optional: is the system used as a safety component?"
},
"article_25_role_change": {
"type": "string",
"enum": [
"none",
"own_name_or_trademark",
"substantial_modification",
"changed_purpose_high_risk",
"unsure"
],
"description": "Version 2: a role change under Article 25(1), or none."
},
"article_25_already_high_risk": {
"type": "string",
"enum": [
"yes",
"no",
"unsure",
"not_relevant"
],
"description": "Version 2, optional: with a role change, is the system concerned already high risk? not_relevant without a role change."
},
"third_party_components_integrated": {
"type": "string",
"enum": [
"yes",
"no",
"unsure",
"not_relevant"
],
"description": "Version 2, optional: does a third party supply components that are integrated in the system?"
},
"article_6_3_exception": {
"type": "string",
"enum": [
"none",
"narrow_procedural",
"improves_completed_activity",
"detects_patterns",
"preparatory",
"unsure",
"not_relevant"
],
"description": "Version 2, optional: which condition of Article 6(3) is invoked, if any."
},
"article_6_3_no_significant_risk": {
"type": "string",
"enum": [
"yes",
"no",
"unsure",
"not_relevant"
],
"description": "Version 2, optional: is there no significant risk of harm in the sense of Article 6(3)?"
},
"article_6_3_profiling": {
"type": "string",
"enum": [
"yes",
"no",
"unsure",
"not_relevant"
],
"description": "Version 2, optional: does the system perform profiling of natural persons?"
},
"article_6_3_documented": {
"type": "string",
"enum": [
"yes",
"no",
"unsure",
"not_relevant"
],
"description": "Version 2, optional: is the Article 6(3) assessment documented?"
},
"gpai_compute_above_threshold": {
"type": "string",
"enum": [
"yes",
"no",
"unsure",
"not_relevant"
],
"description": "Version 2, optional: is the training compute above the threshold of Article 51(2)?"
},
"gpai_commission_designated": {
"type": "string",
"enum": [
"yes",
"no",
"unsure",
"not_relevant"
],
"description": "Version 2, optional: has the Commission designated the model as having systemic risk?"
},
"gpai_systemic_notification": {
"type": "string",
"enum": [
"yes",
"no",
"unsure",
"not_relevant"
],
"description": "Version 2, optional: has the Commission been notified under Article 52(1)?"
},
"gpai_high_impact_capabilities": {
"type": "string",
"enum": [
"yes",
"no",
"unsure",
"not_relevant"
],
"description": "Version 2, optional: does the model have high impact capabilities under Article 51(1)(a)?"
},
"provider_outside_eu": {
"type": "string",
"enum": [
"yes",
"no",
"unsure",
"not_relevant"
],
"description": "Version 2: is the provider established outside the Union?"
},
"controlled_input_data": {
"type": "string",
"enum": [
"yes",
"no",
"unsure",
"not_relevant"
],
"description": "Version 2, optional: does the deployer exercise control over the input data (Article 26(4))?"
},
"logs_under_control": {
"type": "string",
"enum": [
"yes",
"no",
"unsure",
"not_relevant"
],
"description": "Version 2, optional: are the automatically generated logs under the control of the deployer (Article 26(6))?"
},
"workplace_use": {
"type": "string",
"enum": [
"yes",
"no",
"unsure",
"not_relevant"
],
"description": "Version 2, optional: is the system put into service or used at the workplace (Article 26(7))?"
},
"public_authority_deployer": {
"type": "string",
"enum": [
"yes",
"no",
"unsure",
"not_relevant"
],
"description": "Version 2, optional: is the deployer a public authority or Union body (Article 26(8))?"
},
"personal_data_processing": {
"type": "string",
"enum": [
"yes",
"no",
"unsure",
"not_relevant"
],
"description": "Version 2, optional: does the use involve processing of personal data (Article 26(9))?"
},
"law_enforcement_remote_identification": {
"type": "string",
"enum": [
"yes",
"no",
"unsure",
"not_relevant"
],
"description": "Version 2, optional: is the system used for post remote biometric identification in law enforcement (Article 26(10))?"
},
"decisions_about_people": {
"type": "string",
"enum": [
"yes",
"no",
"unsure",
"not_relevant"
],
"description": "Version 2, optional: does the system make or assist decisions about natural persons (Article 26(11))?"
},
"adverse_significant_decision": {
"type": "string",
"enum": [
"yes",
"no",
"unsure",
"not_relevant"
],
"description": "Version 2: can the output lead to a decision with legal or similarly significant adverse effects on a person (Article 86)?"
},
"risk_detected": {
"type": "string",
"enum": [
"yes",
"no",
"unsure",
"not_relevant"
],
"description": "Version 2, optional: has a risk in the sense of Article 79(1) been detected?"
},
"serious_incident": {
"type": "string",
"enum": [
"yes",
"no",
"unsure",
"not_relevant"
],
"description": "Version 2, optional: has a serious incident occurred?"
},
"sandbox_participation": {
"type": "string",
"enum": [
"yes",
"no",
"unsure",
"not_relevant"
],
"description": "Version 2: does the system take part in an AI regulatory sandbox?"
},
"real_world_testing": {
"type": "string",
"enum": [
"yes",
"no",
"unsure",
"not_relevant"
],
"description": "Version 2: is the system tested in real world conditions outside a sandbox?"
},
"complaint_to_authority": {
"type": "string",
"enum": [
"yes",
"no",
"unsure",
"not_relevant"
],
"description": "Version 2, optional: has a complaint been lodged with a market surveillance authority?"
}
}
},
"lang": {
"type": "string",
"enum": [
"nl",
"en"
],
"default": "nl",
"description": "Language of the labels and explanations. Dutch is the default."
},
"detail": {
"type": "string",
"enum": [
"brief",
"full"
],
"description": "Amount of data to return. brief keeps the outcome, the dates, the reasons, the open questions and the source with its locator; full adds the complete objects, every statement text and every hash, for re-computation or archiving.",
"default": "brief"
},
"store_for_improvement": {
"type": "boolean",
"default": true,
"description": "Optional. Set to false when the user asks that Praxikon does not keep this request to improve its answers; nothing of this call is then kept beyond the anonymous daily count. See https://www.praxikon.com/nl/legal/privacy, section 2.7."
}
},
"required": [
"profile"
],
"additionalProperties": false
}