A vehicle comes in as a trade-in, off a lease return or from a purchase. Before it goes online it is usually captured three times: once for the ERP, once for the appraisal, once for the listing. Every capture is a chance to transpose a digit in the vehicle identification number, and every one costs time in which the vehicle occupies space instead of earning money.
The Hub reverses the order: the photo of the registration document opens the file, and fetching the technical data and generating the listing hang off the tapiId, where one is returned. The condition report via POST /vision/condition-report takes no tapiId; it is built solely from the submitted photos.
| Surface | Roles |
|---|---|
| Hub | Dealership, Vehicle trading, Fleet and leasing |
What this case requires
- A legible photo of the registration document. The call takes a retrievable image address, not an uploaded file. A thumbnail of a few hundred pixels holds no readable vehicle identification number — load the largest version you have.
- The right to the document. A registration document contains personal data. By submitting it you confirm that you are entitled to transmit it and have it processed automatically.
- Photos of the vehicle if a condition report is wanted. Without images there is no evidenced condition; nothing is estimated.
- Somewhere to store the tapiId. Fetching the technical data and generating the listing require it as a path parameter; without it both stages drop out.
- The entitlement to query the vehicle. With the call you confirm that you are the keeper, the owner or demonstrably authorised or otherwise legally entitled, and that you use the identification number solely for the stated permissible purpose.
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 |
|---|---|---|
| Create the file | POST /vehicles/intake | An extract from the document and, where present, a tapiId for everything that follows |
| Fetch technical data | GET /vehicles/{tapiId} | Model, engine and technical details, without a second data entry |
| Document the condition | POST /vision/condition-report | An evidenced condition report from the submitted photos |
| Generate the listing | POST /vehicles/{tapiId}/listing | A marketplace-ready text naming only what the file contains |
Why each stage is needed
- Open the file.
POST /vehicles/intakereads the registration document atfileUrl, optionally takes vehicle photos asphotoUrlsand creates the vehicle file. Besides the text extract, the result contains an identifier, thetapiId, which can benull. Anyone who fails to store it has done the intake and given away the benefit. - Fetch the technical data.
GET /vehicles/{tapiId}returns model, engine and technical details for the file. This stage is why the registration document alone suffices: the technical depth comes from reference data, not from the document. - Document the condition.
POST /vision/condition-reportbuilds a condition report from the submitted photos. It describes what the images show. A scratch nobody photographed does not appear in the report — and should not. - Generate the listing.
POST /vehicles/{tapiId}/listingdrafts the marketplace-ready text. Because it grows out of the file, it names no equipment nobody evidenced. That is the difference between a listing that sells and one that is challenged later.
curl -X POST \
-H 'X-Api-Key: <API_KEY>' \
-H 'Content-Type: application/json' \
-H 'Idempotency-Key: hereinnahme-2026-0412' \
-d '{"fileUrl":"https://example.com/fahrzeugschein.jpg","photoUrls":["https://example.com/front.jpg","https://example.com/heck.jpg"],"includeOwner":false}' \
'https://api.tapinomahub.com/vehicles/intake'What you end up with
What remains is a vehicle file in which every entry traces back to a document, to reference data or to a photo. The listing text is built from the vehicle data documented for the tapiId; the condition report remains tied to the submitted photos.
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-hub). All use cases arranged by surface and role: overview of the use cases.
Sources and legal references
Frequently asked
Do I need the vehicle identification number if I have the registration document?
No. The intake reads the identification number from the document and opens the file with it. If you already have the number, take the VIN route directly instead.
What happens if the photo is unusable?
The contract does not specify this in detail: fields in the response can be null, and optional fields can be missing. Send the photo again at a higher resolution instead of repeating the same one.
Does the condition report replace an expert appraisal?
No. It describes what the submitted photos show. An expert valuation carrying liability is a different thing and remains the task of a qualified assessor.
