Version, content hash and status of the field registry in use
Any signed-in user.
apiKeyAuthorizationBearer <token>Organisation API key sent as Authorization: Bearer bp_live_… (ADR-017). Accepted only by the
operations that list this scheme, with the scope in their x-api-key-scope.
The registry identity.
application/json- response
hash*stringSHA-256 of the canonical registry content.
status*RegistryStatusseed until verified against primary sources (docs/registry/verification-log.md).
"seed""verified"version*stringcurl -X GET 'https://example.com/api/v1/registry'{ "hash": "string", "status": "seed", "version": "string"}Report measured condition data (merge) PATCH
Editor and above, or an API key with the `condition` scope (source `api`, ADR-016, ADR-017). Merge semantics: only the named fields change, `null` clears a field. Each value has a `measured_at` (its own or the request's), which must not lie in the future or before the manufacturing date. Fields that are not dynamic fields of the unit are refused (`unknown_field`); so is the whole update when a value is invalid or the merged condition data fails a cross-field check. A value older than the stored one, or equal to it, is skipped and listed. Accepted values are stored as approved measurements and recorded as a `condition_update` lifecycle event; a published passport is re-published as the organisation's `condition_republish` setting says (immediately in this request, or by the daily job).
The editor schema of a battery category GET
Any signed-in user. Sections and fields with bilingual labels, help, tier, the requirement rule for the category (before dates, conditions and values are applied; per-target status comes from the completeness operations), validation schema and export paths.