Vehicle file from the registration document: intake, condition, listingAll articles

Vehicle file from the registration document: intake, condition, listing

A vehicle arrives and has to be sellable fast. This case shows how a photo of the registration document and photos of the vehicle yield technical data, a condition report and a listing text.

Published: 2026-09-12Reading time: 5 mintapinomahub API & workflows
API & processesVehicle dataMarketplacesDocuments & PDFVINAPIERP & inventory

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.

From the registration document to a sellable vehicle fileInput: the vehicle is on the yard, its registration document beside it 1. Create the file (POST /vehicles/intake): An extract from the document and, where present, a tapiId for everything that follows 2. Fetch technical data (GET /vehicles/{tapiId}): Model, engine and technical details, without a second data entry 3. Document the condition (POST /vision/condition-report): An evidenced condition report from the submitted photos 4. Generate the listing (POST /vehicles/{tapiId}/listing): A marketplace-ready text naming only what the file contains Output: technical data, condition report and listing text for the vehicle Fields in the response can be null or, where optional, missing. The contract does not specify a cause.From the registration document to a sellable vehicle fileInput: the vehicle is on the yard, its registration document beside it01Create the filePOST /vehicles/intakeAn extract from the document and, where present, a tapiId for everything that follows02Fetch technical dataGET /vehicles/{tapiId}Model, engine and technical details, without a second data entry03Document the conditionPOST /vision/condition-reportAn evidenced condition report from the submitted photos04Generate the listingPOST /vehicles/{tapiId}/listingA marketplace-ready text naming only what the file containsOutput: technical data, condition report and listing text for the vehicleFields in the response can be null or, where optional, missing. The contract does not specify a cause.
Four calls from intake to listing text. Where stage one returns a tapiId, it carries stages two and four; the condition report comes from the photos alone.

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.

SurfaceRoles
HubDealership, 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.

The call chain of this use case
StageCallWhat exists afterwards
Create the filePOST /vehicles/intakeAn extract from the document and, where present, a tapiId for everything that follows
Fetch technical dataGET /vehicles/{tapiId}Model, engine and technical details, without a second data entry
Document the conditionPOST /vision/condition-reportAn evidenced condition report from the submitted photos
Generate the listingPOST /vehicles/{tapiId}/listingA marketplace-ready text naming only what the file contains

Why each stage is needed

  1. Open the file. POST /vehicles/intake reads the registration document at fileUrl, optionally takes vehicle photos as photoUrls and creates the vehicle file. Besides the text extract, the result contains an identifier, the tapiId, which can be null. Anyone who fails to store it has done the intake and given away the benefit.
  2. 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.
  3. Document the condition. POST /vision/condition-report builds 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.
  4. Generate the listing. POST /vehicles/{tapiId}/listing drafts 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.
Create a vehicle file from a photo of the registration document
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.

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.