Skip to content

API reference

Every schema below is generated directly from @olobolo-com/contracts — the same Zod contracts the server validates against and the CLI validates before buffering. 57 schemas, one source of truth.

All evidence payloads are metadata only: hashes, references, counts and timestamps. Source code, prompts, spec text, review comments and test output have no fields to live in.

Field Type Required
actor_id string yes
actor_type "human" | "agent" yes
git_identity string yes
agent_tool string no
agent_model string no
agent_version string no
Field Type Required
actor_id string (^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}...) yes
actor_type "human" | "agent" yes
agent_tool string (^[\w.\/@+-]+$) no
agent_model string (^[\w.\/@+-]+$) no
agent_version string (^[\w.+-]+$) no
Field Type Required
action "actor.deleted" | "plan.changed" | "badge.revoked" | "content.published" | "price.changed" yes
subject_ref string (^[\w.\/:#?=&%+-]+$) yes
actor object yes
details_hash string (^[0-9a-f]{64}$) no
actioned_at string (^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\...) yes
Field Type Required
org_id string yes
action string yes
plan "record" | "team" | "compliance" yes
tokens_revoked integer no
chain_event_queued boolean yes
chain_repo_id string no
Field Type Required
available boolean yes
file string no
title string no
markdown string no
modified_at string (^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\...) no
Field Type Required
available boolean yes
reports array of object yes
open_findings array of object yes
Field Type Required
repo_id string no
reason string no
Field Type Required
org_id string yes
repo_id string no
action "badge.revoked" | "badge.restored" yes
state "verified" | "neutral" | "revoked" yes
chain_event_queued boolean yes
chain_repo_id string no
chain_note string no
Field Type Required
repos array of object yes
failing_repos integer yes
unanchored_repos integer yes
Field Type Required
customers array of object yes
paying_orgs integer yes
mrr_eur number yes
conversion_pct integer yes
Field Type Required
inquiries array of object yes
open integer yes
Field Type Required
available boolean yes
markdown string no
generated_at string (^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\...) no
Field Type Required
followed_projects integer yes
organizations integer yes
paying_orgs integer yes
mrr_eur number yes
conversion_pct integer yes
entries_total integer yes
latest_entry_at string (^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\...) no
badges object yes
acquisition_note string yes
Field Type Required
org_id string yes
name string yes
plan "record" | "team" | "compliance" yes
plan_status string yes
plan_interval "month" | "year" no
stripe_customer_ref string no
mrr_eur number yes
active_tokens integer yes
repos array of object yes
Field Type Required
plan "record" | "team" | "compliance" yes
reason string no
Field Type Required
pricing object yes
chain_event_queued boolean yes
chain_repo_id string no
stripe_note string yes
Field Type Required
team_eur_month integer no
compliance_eur_month integer no
record_private_repo_cap integer no
record_display_window_days integer no
reason string no
Field Type Required
pricing object yes
Field Type Required
trustmarks array of object yes
Field Type Required
token string yes
Field Type Required
ok true yes
email string (email) yes
org_id string yes
Field Type Required
ok true yes
Field Type Required
email string (email) yes
Field Type Required
sent true yes
Field Type Required
authenticated boolean yes
email string (email) no
org_id string no
org_name string no
Field Type Required
tier "team" | "compliance" yes
interval "month" | "year" yes
Field Type Required
url string yes
tier "team" | "compliance" yes
interval "month" | "year" yes
Field Type Required
url string yes
Field Type Required
name string yes
email string (email) yes
org string no
topic "support" | "sales" | "press" | "security" | "partnership" | "other" yes
message string yes
lang "en" | "da" no
website string no
Field Type Required
received true yes
Field Type Required
org_id string yes
repo_id string no
anchors array of object yes
stale boolean yes
verify string yes
Field Type Required
repo_id string no
variant "full" | "pill" no
theme "dark" | "light" no
size "regular" | "small" | "mini" no
Field Type Required
org_id string yes
repo_id string no
variant "full" | "pill" yes
theme "dark" | "light" yes
size "regular" | "small" | "mini" yes
width integer yes
height integer yes
badge_url string yes
verify_url string yes
markdown string yes
html string yes
Field Type Required
org_id string yes
repo_id string no
total integer yes
exceptions array of object yes
Field Type Required
org_id string yes
repo_id string no
entries array of object yes
next_cursor string no
Field Type Required
org_id string yes
repo_id string no
period_days integer yes
total_changes integer yes
ai_changes integer yes
ai_share_pct integer no
review_coverage_pct integer no
test_evidence_pct integer no
unlinked_changes integer yes
Field Type Required
org_id string yes
repo_id string no
releases array of object yes
trend array of object yes
Field Type Required
repo_id string yes
version string yes
Field Type Required
org_id string yes
recorder_active boolean yes
sources array of object yes
repos array of object yes
last_entry_at string (^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\...) no
Field Type Required
org_id string yes
repo_id string no
status "passed" | "failed" | "never" yes
entry_count integer no
head string (^[0-9a-f]{64}$) no
failure_count integer no
verified_at string (^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\...) no
Field Type Required
repo_id string yes
Field Type Required
error string yes
details array of object no
Field Type Required
repo_id string yes
event_type "change.authored" | "spec.linked" | "change.reviewed" | "test.evidenced" | "release.sealed" | "admin.actioned" yes
schema_version "0" | "1" no
occurred_at string (^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\...) yes
payload unknown yes
Field Type Required
queued true yes
inbox_id integer yes
Field Type Required
org_id string yes
repo_id string no
entry_count integer yes
head string (^[0-9a-f]{64}$) no
counts_by_type record<string, integer> yes
last_entry_at string (^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\...) no
anchor object no
anchor_pending boolean no
Field Type Required
entry_hash string (^[0-9a-f]{64}$) yes
envelope object yes
payload unknown yes
Field Type Required
commit_sha string yes
diff_fingerprint string (^[0-9a-f]{64}$) yes
file_paths array of string yes
actor object yes
session_ref string no
session_hash string (^[0-9a-f]{64}$) no
loc_added integer yes
loc_removed integer yes
Field Type Required
commit_sha string (^[0-9a-f]{7,40}$) yes
diff_fingerprint string (^[0-9a-f]{64}$) yes
file_paths array of string (^[^<>\x00-\x1f]+$) yes
actor object yes
session_ref string (^[\w.\/:#?=&%+-]+$) no
session_hash string (^[0-9a-f]{64}$) no
loc_added integer yes
loc_removed integer yes
Field Type Required
change_ref string yes
reviewer object yes
decision "approved" | "rejected" | "changes" yes
thread_ref string no
decided_at string (^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\...) yes
Field Type Required
change_ref string (^[\w.\/:#?=&%+-]+$) yes
reviewer object yes
decision "approved" | "rejected" | "changes" yes
thread_ref string (^[\w.\/:#?=&%+-]+$) no
decided_at string (^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\...) yes
Field Type Required
algo "sha256" yes
schema_version "0" | "1" yes
event_type "change.authored" | "spec.linked" | "change.reviewed" | "test.evidenced" | "release.sealed" | "admin.actioned" yes
payload_hash string (^[0-9a-f]{64}$) yes
prev_entry_hash string (^[0-9a-f]{64}$) yes
occurred_at string (^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\...) yes
org_id string yes
repo_id string yes
Field Type Required
version string yes
first_entry_hash string (^[0-9a-f]{64}$) yes
last_entry_hash string (^[0-9a-f]{64}$) yes
chain_hash string (^[0-9a-f]{64}$) yes
sealed_at string (^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\...) yes
Field Type Required
version string (^[\w.+-]+$) yes
first_entry_hash string (^[0-9a-f]{64}$) yes
last_entry_hash string (^[0-9a-f]{64}$) yes
chain_hash string (^[0-9a-f]{64}$) yes
sealed_at string (^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\...) yes
Field Type Required
change_ref string yes
spec_ref string yes
spec_version string no
spec_hash string (^[0-9a-f]{64}$) yes
linked_at string (^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\...) yes
Field Type Required
change_ref string (^[\w.\/:#?=&%+-]+$) yes
spec_ref string (^[\w.\/:#?=&%+-]+$) yes
spec_version string (^[^<>\u0000-\u001F]+$) no
spec_hash string (^[0-9a-f]{64}$) yes
linked_at string (^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\...) yes
Field Type Required
change_ref string yes
result "passed" | "failed" yes
tests_passed integer yes
tests_failed integer yes
coverage_pct string (^\d+(\.\d+)?$) no
ci_run_ref string no
artifact_hashes array of string (^[0-9a-f]{64}$) yes
Field Type Required
change_ref string (^[\w.\/:#?=&%+-]+$) yes
result "passed" | "failed" yes
tests_passed integer yes
tests_failed integer yes
coverage_pct string (^\d+(\.\d+)?$) no
ci_run_ref string (^[\w.\/:#?=&%+-]+$) no
artifact_hashes array of string (^[0-9a-f]{64}$) yes