The lifecycle of a unit, newest first
Any member. Events recorded by members, service-partner reports, condition updates and second life.
apiKeyAutorisierungBearer <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.
batteryId*stringuuidlimit?integerMaximum number of items to return.
1 <= value <= 20050cursor?stringOpaque cursor from a previous page's next_cursor.
1 <= length <= 512A page of events.
application/json- response
items*array<>next_cursor*|Cursor for the next page, or null when this is the last page.
curl -X GET 'https://example.com/api/v1/batteries/497f6eca-6276-4993-bfeb-53cbbbba6f08/lifecycle-events'{ "items": [ { "api_key": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "name": "string" }, "battery_id": "bf9efcd2-a647-473f-b459-71d521ebe1ad", "created_at": "2019-08-24T14:15:22Z", "description": "string", "evidence": [ { "access_tier": "public", "filename": "string", "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "kind": "declaration_of_conformity", "revision": 1, "superseded": true, "title": "string" } ], "field_keys": [ "string" ], "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "occurred_on": "2019-08-24", "partner": { "email": "user@example.com", "name": "string", "request_id": "266ea41d-adf5-480b-af50-15b940c2b846" }, "related_battery_id": "1ce5ea42-7c27-4051-b607-ecc81b42bedf", "related_serial_number": "string", "reported_by": { "display_name": "string", "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08" }, "source": "manual", "type": "placed_on_market" } ], "next_cursor": "string"}The condition data of a unit (the registry's dynamic fields) GET
Any member. The dynamic fields visible for the unit and their current values with `measured_at`.
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).