Skip to content

Getting started

The public API currently supports Rental. It lets your system synchronize vehicles and Rental dossiers, launch inspections, and retrieve validated results. The API reference is the exact contract for every request and response.

An organization administrator opens API & integrations in the TrakarIA application and creates an API key. API access depends on the organization’s Rental plan. Give each integration its own key; the full secret appears only once. How authentication works.

The base URL is https://api.trakaria.com. Requests made with your key affect your account’s real data.

Set your key in your terminal without committing it to source control, then make a read-only request:

Terminal window
export TRAKARIA_API_KEY='your-api-key'
curl --fail-with-body --silent --show-error \
-H "Authorization: Bearer ${TRAKARIA_API_KEY}" \
https://api.trakaria.com/v1/capabilities

The response states the current Rental features and limits for your organization. A 401 means the credential is invalid or expired; a 403 may mean the operation or plan is unavailable. Read about errors.

3. Synchronize a vehicle and a Rental dossier

Section titled “3. Synchronize a vehicle and a Rental dossier”

For a trial, use distinct external IDs that you can identify later and avoid real customer information. The following calls create records in your account. Replace the sample values below; repeat the same external ID to update the same resource. Keep the returned public id values for later calls.

Terminal window
curl --fail-with-body --silent --show-error \
-X PUT 'https://api.trakaria.com/v1/vehicles/by-external/demo-vehicle-001' \
-H "Authorization: Bearer ${TRAKARIA_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{"plate":"AA-123-AA","name":"Airport car","photo_url":"https://cdn.example.com/fleet/demo-vehicle-001.jpg","make":"Example","model":"Car","trim":"Business","year":2025,"registration_date":"2025-03-20","vehicle_type":"hatchback","energy":"petrol","gearbox":"automatic","transmission":"fwd","color":"Blue","mileage":12000,"source_revision":1}'
curl --fail-with-body --silent --show-error \
-X PUT 'https://api.trakaria.com/v1/rentals/by-external/demo-reservation-001' \
-H "Authorization: Bearer ${TRAKARIA_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{"vehicle_external_id":"demo-vehicle-001","source_revision":1}'

The second request immediately creates a visible planning entry. Its response contains both the Rental id and planning.entry_id. Only vehicle_external_id is required in the request body: planned dates, references, locations, contact and drivers are optional. You may send them ahead of time, at physical handover, or later. Without a departure time, TrakarIA uses creation time; without a return time, the planning entry stays open-ended.

Use a strictly increasing source_revision for later changed updates. Omitted fields keep their current value and the same planning entry is updated rather than duplicated. See synchronization rules.

A successful vehicle upsert also assigns the vehicle to the API key’s organization, so authorized users in that group can see it in TrakarIA. Repeating an unchanged upsert safely reconciles that assignment if it was missing.

After a trial, review the records in TrakarIA and clean them up using the actions available to your group. The public API can cancel a Rental before departure with POST /v1/rentals/{rental_id}/cancel; this also cancels its planning entry. It does not provide a general DELETE route for vehicles or Rentals. Do not assume that cancelling erases their history.

Use the public Rental id returned by the second request to start the departure inspection. A TrakarIA user must sign in to open the launch link. After validation, fetch the departure report; after the return, fetch the comparison report. You can also receive signed webhooks and recover missed events through GET /v1/events.