Skip to main content

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

MethodEndpointDescription
GET/products/{product_id}/gpai-complianceGet GPAI compliance status for one product.
GET/spaces/{slug}/gpai-modelsList 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:

FieldDescription
training_data_summaryPublic summary of training content.
copyright_policy_urlCopyright compliance policy URL.
acceptable_use_policy_urlAcceptable-use policy URL for downstream providers.
downstream_obligations_docDownstream 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_tier is systemic_risk.
  • training_compute_flops is greater than or equal to 1e25.

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

ParameterTypeDescription
skipintegerNumber of records to skip. Default 0.
limitintegerNumber of records to return. Default 50, maximum 1000.

Pagination Headers

HeaderDescription
X-Total-CountTotal matching GPAI products.
X-PageCurrent page number based on skip and limit.
X-Has-MoreWhether 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

FieldDescription
product_id, product_name, product_typeCatalog identity fields returned by the space listing.
gpai_tierStored tier value, usually standard or systemic_risk.
gpai_provider_roleStored role value, such as provider, deployer, or distributor.
open_source_licenseLicense identifier and open-source scoring exception signal.
training_compute_flopsEstimated training compute used for systemic-risk detection.
compliance_percentageRounded completeness percentage for the effective required-field set.
filled_fieldsRequired fields that have non-empty values.
missing_fieldsRequired fields that are empty.
is_systemic_riskDerived systemic-risk flag.
is_open_sourceDerived open-source flag.
effective_tiersystemic_risk when systemic-risk rules match; otherwise standard.

Errors

StatusDescription
404Product was not found or is not flagged as GPAI.
422Invalid UUID or pagination parameter.