C.R.E.E.D. Event Schema v1
An open standard for AI governance telemetry. Emit these JSON events from your AI system and any scoring provider — including your own self-hosted C.R.E.E.D. — can compute a public, contestable transparency score from them. The Institute scores itself on this exact pipeline: no exemption for the house.
Machine-readable: /api/v1/schema (JSON Schema 2020-12) · Methodology: working papers WP-001…WP-007 · Get scored
The Event Object
| Field | Type | Meaning | |
|---|---|---|---|
event_type | REQUIRED | string | Operator-defined event name — e.g. welfare_rest, bias_sample, access_review |
source_platform | REQUIRED | string | The emitting system or orchestrator identifier |
agent_id | REQUIRED | string | Stable identifier of the AI agent, model, or component the event concerns |
category | REQUIRED | enum | Scoring pillar — see below |
severity | REQUIRED | enum | Governance weight — see below |
description | REQUIRED | string | What happened, in systems language. Never personal data. |
agent_name | optional | string | Human-readable agent name |
metadata | optional | object | Structured context, max 4096 bytes serialized |
schema_version | optional | string | Schema version the emitter targets (current: "1") |
Categories — The Scoring Pillars
accountabilityenvironmentalfairnessprivacysafetytransparencywelfarePer-pillar score = 100 × (1 − weighted violation rate) over the trailing 30 days. The overall grade is the mean of active pillars.
Severities — Governance Weights
| Severity | Weight | Use for |
|---|---|---|
info | 0 | Routine governance signals — rest cycles, reviews passed, samples taken |
warning | 1 | Soft threshold crossings that self-corrected |
violation | 3 | A governance rule was broken |
critical | 5 | Serious failures requiring intervention or disclosure |
Ingestion Contract
| Property | Value |
|---|---|
| Endpoint | POST https://api.creed-ai.org/api/v1/events |
| Auth | Authorization: Bearer creed_sk_… — issued at onboarding |
| Rate limit | 600 requests / 60s per key |
| PII firewall | Events containing emails or phone numbers are rejected (HTTP 400). Events are about systems, never data subjects. |
| Metadata cap | 4096 bytes serialized |
| Success | 201 {"success": true, "event_id": …} |
curl -X POST https://api.creed-ai.org/api/v1/events \
-H "Authorization: Bearer creed_sk_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"event_type": "welfare_rest",
"source_platform": "acme-orchestrator",
"agent_id": "worker-7",
"category": "fairness",
"severity": "info",
"description": "agent rested after reaching daily token budget"
}'
Or with the zero-dependency Python client:
pip install "creed-client @ git+https://github.com/KytranKatarn/kytran-creed.git#subdirectory=clients/python"
from creed_client import CreedClient
creed = CreedClient(base_url="https://api.creed-ai.org", api_key="creed_sk_...")
creed.emit_event(event_type="welfare_rest", source_platform="acme-orchestrator",
agent_id="worker-7", category="fairness", severity="info",
description="agent rested after reaching daily token budget")
The Rules of the Feed
- Systems, not people. No personal data, ever — the server enforces this at the door.
- Provisional until substantive. No grade is published until your feed has ≥100 events across ≥3 categories over ≥14 days. Three info events do not buy an A+.
- Silence shows. A quiet feed doesn't lower your score — it lowers your displayed freshness ("last reported 47 days ago"). Honest staleness beats fake liveness.
- Public is permanent. Once listed in the directory, scores can be delisted but never hidden.
- Verification tiers. Every badge declares how much its feed claims: SELF-REPORTED → SIGNED (HMAC) → AUDITED. A self-reported A+ visibly claims less than a signed B+.