GPAI Compliance API
The GPAI Compliance API exposes read-only compliance summaries for General-Purpose AI models. It calculates Article 52-55 metadata completeness for one product or lists all GPAI-flagged products in a space.
All paths below are under /api/v1.0/catalog. Product-level reads require product view access. Space-level listing uses the current space context and returns pagination headers.
Endpoints
| Method | Endpoint | Description |
|---|---|---|
GET | /products/{product_id}/gpai-compliance | Get GPAI compliance status for one product. |
GET | /spaces/{slug}/gpai-models | List GPAI models in a space with compliance summaries. |
These endpoints do not mutate model metadata. Source fields are stored on the product's AI model details and are typically maintained through catalog product update or model repository workflows.
Required Fields
Standard GPAI models require:
| Field | Description |
|---|---|
training_data_summary | Public summary of training content. |
copyright_policy_url | Copyright compliance policy URL. |
acceptable_use_policy_url | Acceptable-use policy URL for downstream providers. |
downstream_obligations_doc | Downstream obligations or integrator information document. |
Systemic-risk models require the standard fields plus gpai_tier.
If open_source_license is populated, copyright_policy_url and acceptable_use_policy_url are removed from the required-field set for this score.
Systemic-Risk Rules
A GPAI product is treated as systemic risk when either condition is true:
gpai_tierissystemic_risk.training_compute_flopsis greater than or equal to1e25.
The API returns the derived values as is_systemic_risk and effective_tier.
Get Product Compliance
GET /api/v1.0/catalog/products/{product_id}/gpai-compliance
Returns compliance status for one product. The product must have AI model details with is_gpai set to true.
Response
{
"compliance_percentage": 75,
"filled_fields": [
"training_data_summary",
"copyright_policy_url",
"downstream_obligations_doc"
],
"missing_fields": [
"acceptable_use_policy_url"
],
"is_systemic_risk": false,
"is_open_source": false,
"effective_tier": "standard"
}
compliance_percentage is the rounded percentage of required fields that are populated. Empty strings and empty lists count as missing.
List GPAI Models
GET /api/v1.0/catalog/spaces/{slug}/gpai-models?skip=0&limit=50
Query Parameters
| Parameter | Type | Description |
|---|---|---|
skip | integer | Number of records to skip. Default 0. |
limit | integer | Number of records to return. Default 50, maximum 1000. |
Pagination Headers
| Header | Description |
|---|---|
X-Total-Count | Total matching GPAI products. |
X-Page | Current page number based on skip and limit. |
X-Has-More | Whether another page exists. |
Response
[
{
"product_id": "550e8400-e29b-41d4-a716-446655440000",
"product_name": "Foundation Assistant",
"product_type": "LLM Agent",
"gpai_tier": "standard",
"gpai_provider_role": "provider",
"open_source_license": null,
"training_compute_flops": 4.2e24,
"compliance_percentage": 75,
"filled_fields": [
"training_data_summary",
"copyright_policy_url",
"downstream_obligations_doc"
],
"missing_fields": [
"acceptable_use_policy_url"
],
"is_systemic_risk": false,
"is_open_source": false,
"effective_tier": "standard"
}
]
Response Fields
| Field | Description |
|---|---|
product_id, product_name, product_type | Catalog identity fields returned by the space listing. |
gpai_tier | Stored tier value, usually standard or systemic_risk. |
gpai_provider_role | Stored role value, such as provider, deployer, or distributor. |
open_source_license | License identifier and open-source scoring exception signal. |
training_compute_flops | Estimated training compute used for systemic-risk detection. |
compliance_percentage | Rounded completeness percentage for the effective required-field set. |
filled_fields | Required fields that have non-empty values. |
missing_fields | Required fields that are empty. |
is_systemic_risk | Derived systemic-risk flag. |
is_open_source | Derived open-source flag. |
effective_tier | systemic_risk when systemic-risk rules match; otherwise standard. |
Errors
| Status | Description |
|---|---|
404 | Product was not found or is not flagged as GPAI. |
422 | Invalid UUID or pagination parameter. |