Describes the current state. Live figures are on current status.
Records in Contexts, served over HTTP - implementation-neutral, IIIF-inspired.
OpenRiC is an open specification for how archival descriptions map to RiC-CM / RiC-O, how that data is served over HTTP for both reading and writing, and how graph-based interfaces can render it consistently across any conformant server. Not a product. A contract anyone can implement.
In plain language: OpenRiC lets different archival systems publish, exchange, validate, and explore RiC-based archival data in a consistent way. It's a shared contract - like IIIF for images, but for archival description. Any system that implements it can be read, written to, and graph-walked the same way. Not a developer? Try the archivist view instead.
See it in action
Open the live 2D/3D viewer against a demonstration archival dataset - no install, no signup. The viewer talks to ric.theahg.co.za/api/ric/v1, the public reference implementation. Click Browse for a starting list of entities, or paste any path.
How the pieces fit together
The base documents, 7 normative and 5 draft profiles, 21 JSON Schemas, SHACL shapes, a 36-case fixture pack, an OpenAPI 3.1 contract, and a black-box conformance probe. CC-BY 4.0. Versioned; v0.55.1 is current. It targets RiC-O 1.1; the namespace audit of April 2026 cleared the reference implementation's entity responses, and the one place that still carries an older term is listed in the drift log.
One Laravel service that implements the OpenRiC contract. A demonstration archival dataset behind it. Full create, read, update and delete for eight entity types (Records, Agents, Places, Rules, Activities, Instantiations, Repositories, Functions), OAI-PMH, auto-generated OpenAPI. AGPL-3.0. Anyone can run their own.
Three pure-browser apps that talk to any conformant server - not just the reference. 2D + 3D graph rendering, data capture, Swagger UI. No privileged access; they use the same HTTP contract adopters see.
An existing GLAM platform from the same maintainers, with RiC built in. It can read graph data from the Reference API over HTTP, but it still writes through its own copy of the RiC routes on a database it shares with the reference service. So it is not independent evidence that the contract alone is enough for a production archive. AGPL.
If you only remember one thing: OpenRiC is the contract; Heratio is one consumer of that contract. The contract is deliberately designed so that any archival system - not just Heratio - can speak it.
Evaluate OpenRiC in 5 minutes
Zero to working integration: reads, writes, graph, harvest, embed.
Full create, read, update and delete for eight entity types: Records, Agents, Places, Rules, Activities, Instantiations, Repositories, Functions.
Click any node to drill into its RiC-O neighbourhood. Same data, visual.
Swagger UI: "Try it out" on every endpoint of a live server, with your own key. The normative contract is the specification's OpenAPI 3.1 document.
Pure bash + jq. Point at any OpenRiC server; get a pass/fail report across every required endpoint.
Seven base documents (mapping, viewing API, graph primitives, conformance, the API contract, change control, known issues) and the profiles.
Four public deployments
These are the four independently-hosted, separately-licensed, interoperable surfaces that make up the OpenRiC ecosystem. Any one of them can be replaced by a third-party implementation without touching the others - that is the point.
Specification live
Base documents, 21 JSON Schemas, SHACL shapes, 36-case fixture pack, validator CLI, conformance probe, OpenAPI 3.1 contract. CC-BY 4.0.
Viewer live
2D + 3D graph rendering for any conformant server. Drives Heratio's reference API and a non-Heratio static-fixture backend in the same page.
Capture live
Pure-browser data-entry client. Paste a server URL and API key, then create, edit and delete every entity type and relation, and attach files.
Reference API live
Independently-deployed Laravel service backed by a demonstration archival database. Read, write and OAI-PMH endpoints with full create, read, update and delete for eight entity types, X-API-Key auth, auto-generated OpenAPI at /api/ric/v1/openapi.json. Also hosts a live RiC-CM reference navigator at /reference/ric-cm/ - SPARQL-backed, declared-vs-inherited separation, versioned URLs.
Pages on openric.org
These live inside the specification site itself - interactive tools, reference material, and evidence pages layered on top of the four deployments above.
API Explorer live
Interactive Swagger UI. Point at any OpenRiC server, paste an API key, try every endpoint live from the browser.
Conformance Suite live
Black-box probe: point at any server, get a pass/fail report across every documented endpoint. Pure bash + jq.
Browse demo live
Live catalogue view - cards, per-type filters, pagination. Points at any OpenRiC server; click-through to the graph viewer.
Proof of implementation live
Real numbers, end-to-end walkthrough, ISAD(G) → RiC-O mapping, one live example per RiC-O type. The evidence the contract works.
Profiles live
Named, bounded conformance targets. Implement the subset you can support - Core Discovery is the minimum. 7 normative, 5 draft.
Where things stand
v0.1.0 to v0.37.0 done
The base documents, then one release per profile from v0.30.0 (Core Discovery) to v0.36.0 (Export-Only), then the RiC-O 1.1 namespace remediation in v0.37.0. The changelog has every release.
Part I - the Standard current
A release that can be verified, implemented and reviewed without relying on our own systems: change control, the API contract, release bundles with checksums, the known-issues log, and an external technical review. It ends at the Standard Acceptance Gate. See current status.
Part II - OpenRiC Workspace planned
The archival application, built on the accepted Standard. Work on it starts only after the Standard Acceptance Gate is signed.
v1.0 freeze planned
One gate: a second implementation, built outside AHG, passes the conformance probe for at least one profile. An institution committing to deploy and contributors from outside the maintainers are maturity goals that decide when governance grows, not conditions for v1.0. See governance.
Read next
Engagement
Seed Discussions are open - feedback of any shape is welcome.
- #1 · Announcement - the v0.1.0 introduction.
- #2 · Second-implementer questions - what would make it tractable to emit
/api/ric/v1/*from your platform? - #3 · Mapping sanity-check - where does the ISAD(G) → RiC-O mapping feel wrong to you?
- #4 · Progress update - capture app live, reference impl now a consumer of its own API.
Licence & contact
Specification: Creative Commons Attribution 4.0. Reference implementation, viewer, capture client: GNU AGPL 3.0.
Dr Johan Pieterse - johan@theahg.co.za · The Archive and Heritage Digital Commons Group (Pty) Ltd.