A removed airbag looks flawless. So does a belt tensioner. The condition grade “very good” is correct and completely irrelevant to the question of whether the part may be refitted. Keeping both in one field eventually sells a safety-relevant part because it looked good.
The treatment stages are therefore built as a sequence with prerequisites: the permit is verified before treatment; parts are separately assessed for reuse safety; and the remaining body can only be compacted once the prerequisite tasks are done.
| Surface | Roles |
|---|---|
| Compliance | Vehicle recyclers, Parts trading |
What this case requires
- A valid treatment permit for the site. It is verified, not assumed; the verification records time and method.
- Tasks kept as tasks. A depollution completed only in someone’s head produces no material flows.
- Measured values wherever quantities arise. The task completions take quantities and measurements — without them the material flow lacks its basis.
- An attestation for the compaction. That no parts remain to be removed has to be declared by somebody.
The sequence
The table names the responsible call per stage and what exists afterwards. The reasoning for why a stage cannot be skipped follows below it.
| Stage | Call | What exists afterwards |
|---|---|---|
| Verify the permit | POST /compliance/facilities/{id}/treatment-permits/{permitId}/verify | verifiedAt and method — the entitlement is checked, not assumed |
| Complete the task | POST /compliance/treatment-tasks/{id}/complete | quantities, measurements and outputs; depollution itself produces material flows |
| Assess the part | POST /compliance/parts/{id}/assessments | reuseSafetyStatus decides on reuse — kept apart from the commercial grade |
| Triage the battery | POST /compliance/batteries/{id}/triage | damageIndicators and decision, before the battery is moved at all |
| Compact the body | POST /compliance/bodies/{id}/compact | prerequisiteTaskIds and an attestation that no parts remain to be removed |
Why each stage is needed
- Verify the permit.
POST /compliance/facilities/{id}/treatment-permits/{permitId}/verifyrecords time and method of the check. A permit sitting in a folder is not a verified permit — and in an audit what counts is when somebody last looked. - Complete the treatment task.
POST /compliance/treatment-tasks/{id}/completetakes result, quantities, measurements andoutputswithassetTypeand, where applicable,positionCode. Depollution thereby produces the material flows to be accounted for later itself — instead of estimating them afterwards. - Assess the part.
POST /compliance/parts/{id}/assessmentscarries result,reuseSafetyStatus, condition, defects and the tests performed. Reuse safety is its own field, separate from the commercial grade. Precisely this separation prevents selling a safety-relevant part on the basis of its appearance. - Triage the battery.
POST /compliance/batteries/{id}/triagetakes battery type, damage indicators, measurements and decision. This stage comes before any movement: a damaged high-voltage battery is not stored first and assessed afterwards. - Compact the remaining body.
POST /compliance/bodies/{id}/compactrequires the prerequisite tasks and an attestation that no parts remain to be removed. Compaction is irreversible, which is why it comes last and not wherever space is needed.
curl -X POST \
-H 'Cookie: __Host-tapinomahub_session=<SITZUNG>' \
-H 'X-CSRF-Token: <CSRF_TOKEN>' \
-H 'X-Compliance-Organisation-Id: <ORGANISATION>' \
-H 'If-Match: "<etag>"' \
-H 'Idempotency-Key: verdichtung-karosse-88213' \
-H 'Content-Type: application/json' \
-d '{"compactedAt":"2026-09-12T15:00:00Z","areaOrFacilityId":"<facilityId>","noFurtherPartsAttestationId":"<attestationId>","prerequisiteTaskIds":["<taskId>"],"evidenceIds":["<evidenceId>"]}' \
'https://api.tapinomahub.com/compliance/bodies/<id>/compact'What you end up with
In the end a vehicle is treated, and every removal, every release and every irreversible action knows its person and its time. The parts going into sale carry their own statement on reuse safety.
Where to find this in the documentation
The binding field lists, error codes and sample responses live in this surface’s OpenAPI contract at docs.tapinomahub.com (tapinoma-compliance). All use cases arranged by surface and role: overview of the use cases.
Sources and legal references
Frequently asked
Why is reuse safety not part of the condition grade?
Because a part can look flawless and still not be allowed back in. Airbags and belt tensioners are the standard example. Two questions, two fields.
Can I compact while tasks are still open?
No. Compaction requires the prerequisite tasks and an attestation. That is a deliberate stop, because the step is irreversible.
Do I have to triage batteries individually?
The triage refers to a concrete battery and carries its measurements. A blanket classification would miss exactly the cases that matter.
