When a vehicle intake is not the normal caseAll articles

When a vehicle intake is not the normal case

A vehicle with no traceable owner or an intake at the wrong place are not exceptions to settle later. This case shows which evidence belongs to which special case.

Published: 2026-09-12Reading time: 5 mintapinomahub API & workflows
API & processesDocuments & PDFAPI

A vehicle without papers stands on the premises, left there overnight. The same day an employee takes in a vehicle although the site is not authorised for it. Both happen, and in an audit both are judged not by whether they happened but by how they were handled.

When a vehicle intake is not the normal caseA special case at intake — No owner to be found, an impermissible intake, a declaration of disposal — each case has its own evidence. 1. Document an impermissible intake (POST /compliance/cases/{id}/unauthorized-receipt-incidents): receivedAt, location, reason and safeguards — what was taken in and how it is secured 2. Identify the owner (POST /compliance/cases/{id}/owner-identification): status identified, pending or not_identifiable, plus attempts 3. Record the disposal decision (POST /compliance/cases/{id}/owner-disposition-decisions): the owner’s decision with an attestation — recorded only by a signed-in person 4. Route an ownerless vehicle (POST /compliance/cases/{id}/ownerless-routing): targetAtfFacilityId and plannedTransferAt 5. Deliver the collection receipt (POST /compliance/collection-receipts/{id}/deliveries): deliveryType receipt with recipient, medium and time Which branch applies is decided case by case. The chain records that a decision was made and how.A special case atintakeNo owner to be found, animpermissible intake, adeclaration of disposal — eachcase has its own evidence.When a vehicle intake is not the normal caseDocument an impermissible intakePOST /compliance/cases/{id}/unauthorized-receipt-incidentsreceivedAt, location, reason and safeguards — what was takenin and how it is securedIdentify the ownerPOST /compliance/cases/{id}/owner-identificationstatus identified, pending or not_identifiable, plusattemptsRecord the disposal decisionPOST /compliance/cases/{id}/owner-disposition-decisionsthe owner’s decision with an attestation — recorded only bya signed-in personRoute an ownerless vehiclePOST /compliance/cases/{id}/ownerless-routingtargetAtfFacilityId and plannedTransferAtDeliver the collection receiptPOST /compliance/collection-receipts/{id}/deliveriesdeliveryType receipt with recipient, medium and timeWhich branch applies is decided case by case. The chain records that a decision was made and how.
Five branches for the special cases at intake. Not every case needs all of them — but each needs its own.

The Compliance surface gives each of these special cases its own command with its own evidence. Which branch applies depends on the individual case; the event chain records that and how a decision was made — with time, organisation and acting person.

SurfaceRoles
ComplianceVehicle recyclers

What this case requires

  • A created case. All commands except the receipt delivery refer to a case; each of the five commands requires the current ETag version in If-Match.
  • The organisation in the call. X-Compliance-Organisation-Id binds every event to the responsible organisation.
  • A signed-in person for the disposal decision. The owner’s decision is only recorded in a human session; an API key is not enough.
  • A target facility for ownerless vehicles. The routing names the receiving treatment facility explicitly.

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.

The call chain of this use case
StageCallWhat exists afterwards
Document an impermissible intakePOST /compliance/cases/{id}/unauthorized-receipt-incidentsreceivedAt, location, reason and safeguards — what was taken in and how it is secured
Identify the ownerPOST /compliance/cases/{id}/owner-identificationstatus identified, pending or not_identifiable, plus attempts
Record the disposal decisionPOST /compliance/cases/{id}/owner-disposition-decisionsthe owner’s decision with an attestation — recorded only by a signed-in person
Route an ownerless vehiclePOST /compliance/cases/{id}/ownerless-routingtargetAtfFacilityId and plannedTransferAt
Deliver the collection receiptPOST /compliance/collection-receipts/{id}/deliveriesdeliveryType receipt with recipient, medium and time

Why each stage is needed

  1. Document the impermissible intake. POST /compliance/cases/{id}/unauthorized-receipt-incidents takes receivedAt, location, reason and at least one entry in safeguards. What is recorded is not only that something went wrong, but how the vehicle is secured until clarification.
  2. Identify the owner. POST /compliance/cases/{id}/owner-identification takes status with identified, pending or not_identifiable and the attempts made. What is evidenced is the effort, not only the result — with not_identifiable in particular, that effort is the actual evidence.
  3. Record the disposal decision. POST /compliance/cases/{id}/owner-disposition-decisions takes ownerPartyId, decision, effectiveAt and an attestationId. Only a signed-in person can record this; an API key alone is not enough.
  4. Route the ownerless vehicle. POST /compliance/cases/{id}/ownerless-routing names the target facility in targetAtfFacilityId and the planned transfer in plannedTransferAt. The routing is planned and named, not a pick-up on request.
  5. Deliver the collection receipt. POST /compliance/collection-receipts/{id}/deliveries carries deliveryType receipt, recipientPartyId, medium and deliveredAt. Whoever handed over a vehicle receives the receipt verifiably — in a special case too.
Route an ownerless vehicle to a treatment facility
curl -X POST \
  -H 'X-Api-Key: <API_KEY>' \
  -H 'X-Compliance-Organisation-Id: <ORGANISATION>' \
  -H 'If-Match: "<etag>"' \
  -H 'Idempotency-Key: eignerlos-weiterleitung-0417' \
  -H 'Content-Type: application/json' \
  -d '{"targetAtfFacilityId":"<facilityId>","plannedTransferAt":"2026-09-15T08:00:00Z"}' \
  'https://api.tapinomahub.com/compliance/cases/<id>/ownerless-routing'

What you end up with

In the end every special case has its evidence: the impermissible intake with its safeguards, the owner search with its attempts, the disposal with its person, the ownerless vehicle with its target facility and the person handing over with their receipt.

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.

Frequently asked

Do I have to go through all five branches?

No. Each branch belongs to a particular special case. An ownerless vehicle needs owner identification and routing; a declaration of disposal needs the owner’s decision.

Can I record the disposal decision with an API key?

No. The contract requires a signed-in person for it. The other branches can also be recorded with an API key holding the right role.

Why are unsuccessful identification attempts recorded?

Because when an owner cannot be found, the effort itself is the evidence. A bare “not identifiable” does not survive an audit.