Agent Governance Protocol
API ReferenceRegistry APIPolicy Sets

Register a policy set

Registers a versioned policy ruleset in the AGP Registry. Once registered, PolicyDecisions may reference this PolicySet via policy_set_ref to attribute verdicts to specific rules and frameworks. The ruleset content (e.g. OPA bundle) is not stored here — only its hash and provenance metadata. See §25.

POST
/agp/policy-sets

Authorization

AuthorizationBearer <token>

In: header

Scope: agp.registry.read, agp.registry.write

Header Parameters

Idempotency-Key?string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

A registered, versioned policy ruleset. See §25.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/agp/policy-sets" \  -H "Content-Type: application/json" \  -d '{    "type": "PolicySet",    "policy_set_id": "string",    "name": "string",    "version": "string",    "publisher": "string",    "regulatory_frameworks": [      "EU_AI_ACT_2024"    ],    "jurisdictions": [      "string"    ],    "ruleset_hash": "string",    "ruleset_engine": "opa",    "attestation_level": "unverified",    "status": "active",    "effective_from": "2019-08-24T14:15:22Z",    "created_at": "2019-08-24T14:15:22Z"  }'
{  "type": "PolicySet",  "policy_set_id": "string",  "name": "string",  "version": "string",  "publisher": "string",  "regulatory_frameworks": [    "EU_AI_ACT_2024"  ],  "jurisdictions": [    "string"  ],  "ruleset_hash": "string",  "ruleset_engine": "opa",  "ruleset_engine_version": "string",  "ruleset_uri": "http://example.com",  "attestation_level": "unverified",  "certifying_body": "string",  "status": "active",  "effective_from": "2019-08-24T14:15:22Z",  "expires_at": "2019-08-24T14:15:22Z",  "supersedes": "string",  "created_at": "2019-08-24T14:15:22Z",  "signature": {    "alg": "string",    "kid": "string",    "issuer": "string",    "issued_at": "2019-08-24T14:15:22Z",    "payload_hash": "string",    "value": "string"  }}
{  "error": {    "code": "AGP_INVALID_REQUEST",    "message": "string",    "retryable": true,    "details": {}  }}
{  "error": {    "code": "AGP_INVALID_REQUEST",    "message": "string",    "retryable": true,    "details": {}  }}
{  "error": {    "code": "AGP_INVALID_REQUEST",    "message": "string",    "retryable": true,    "details": {}  }}
{  "error": {    "code": "AGP_INVALID_REQUEST",    "message": "string",    "retryable": true,    "details": {}  }}