Fleetiva Handbuch Referenz English OpenAPI (JSON)

API-Referenz

Alle Aufrufe der Fleetiva API, nach Bereichen geordnet, mit Parametern, Feldern, Antworten und einer Testkonsole. Darunter die Datenformate.

Alle Aufrufe brauchen den Header Authorization: Bearer mit dem Schlüssel, jede Antwort trägt X-Request-Id. Die Regeln für alle Aufrufe – Anmeldung, Idempotenz, Grenzen und Fehler – stehen im Handbuch.

Inhalt

Anfragen

POST/inquiries

Anfrage anlegen · create_inquiry · Bereich: inquiries.create

Create a transport inquiry for one or more passengers (people with special needs) on behalf of the requesting person. The operator reviews it in the Fleetiva inbox; nothing is booked automatically. Requires an Idempotency-Key: the same key with the same content returns the existing inquiry, with different content it is rejected.

Parameter

NameOrtPflichtWerteBeschreibung
Idempotency-Keyheaderja1–120 ZeichenYour own ID for this inquiry, e.g. a UUID or your booking number. Send the same key when you retry the same request: with the same content you get the existing inquiry back (200), with different content the call is rejected (422). Not only spaces.
Fleetiva-Dry-Runheaderneineins von: true, falsetrue: check the call without any effect — same authentication, scope, limits and validation, but nothing is created, no one is notified and nothing is stored; a passed check answers 204 without a body. Not checked: whether the Idempotency-Key was already used. false or no header: the call takes effect. Any other value is rejected (400).

Inhalt (JSON)

JSON object, at most 64 KB.

FeldTypPflichtWerteBeschreibung
requesterRequesterjaThe person or institution asking for transport — the operator replies to them. Email or phone is required.
passengersListe von Passengerja1–20 EinträgeThe people to be transported, one entry each.
messagestringneinhöchstens 4000 Zeichen
darf null sein
Free text for the operator.
consentConsentjaConsent your system obtained from the person before sending (required).

Antworten

StatusBeschreibung
200Same Idempotency-Key and same content again: the existing inquiry, nothing new is created.
201Inquiry created.
204Dry run passed (Fleetiva-Dry-Run: true): everything was checked, nothing was created. No body.
400invalid_input: Invalid request
401unauthorized: Missing or invalid API key
403forbidden: The API key lacks the scope for this operation; access_inactive: API access is not active for this account
413payload_too_large: Request body too large
415unsupported_media_type: Content-Type must be application/json
422idempotency_key_reused: Idempotency-Key was already used with different content
429rate_limited: Too many requests
503unavailable: Service unavailable

Was die Fehlercodes bedeuten und wie Sie sie auswerten: Fehlerbehandlung.

Felder der Antwort

FeldTypPflichtWerteBeschreibung
idstringjaFormat uuidID of the inquiry — keep it to query the status.
duplicatebooleanjatrue if this Idempotency-Key was already used with the same content; the existing inquiry is returned.

Beispiel

HTTP/1.1 200

{
  "id": "0b7c6d1e-2f3a-4b5c-8d9e-0f1a2b3c4d5e",
  "duplicate": true
}

GET/inquiries/{id}

Status einer Anfrage abfragen · get_inquiry_status · Bereich: inquiries.create

Read the processing status of an inquiry this API client created (new, in_progress, accepted, rejected). Inquiries of other clients, unknown and deleted ones are all reported as not found.

Parameter

NameOrtPflichtWerteBeschreibung
idpathjaFormat uuidID returned when the inquiry was created.

Antworten

StatusBeschreibung
200Status of the inquiry.
400invalid_input: Invalid request
401unauthorized: Missing or invalid API key
403forbidden: The API key lacks the scope for this operation; access_inactive: API access is not active for this account
404not_found: Not found
429rate_limited: Too many requests
503unavailable: Service unavailable

Was die Fehlercodes bedeuten und wie Sie sie auswerten: Fehlerbehandlung.

Felder der Antwort

FeldTypPflichtWerteBeschreibung
idstringjaFormat uuidID of the inquiry.
statusstringjaeins von: new, in_progress, accepted, rejectednew (not yet processed), in_progress (the operator is working on it), accepted (taken over for planning) or rejected.
received_atstringjaWhen the inquiry was received (ISO 8601 with offset).

Beispiel

HTTP/1.1 200

{
  "id": "0b7c6d1e-2f3a-4b5c-8d9e-0f1a2b3c4d5e",
  "status": "in_progress",
  "received_at": "2026-11-02T09:15:00+00:00"
}

Kunden

GET/customers

Kunden auflisten · list_customers · Bereich: master_data.read

List the customers of the transport service (institutions, authorities, cost bearers, private persons), ordered by last change, oldest first. Page with cursor; sync with updated_since and list_deleted_customers.

Parameter

NameOrtPflichtWerteBeschreibung
limitquerynein1–200
darf null sein
Records per page, 1–200. Default 50.
cursorqueryneinhöchstens 500 Zeichen
darf null sein
next_cursor of the previous page, unchanged. Use it with the same filters. Omit it for the first page.
updated_sincequeryneinFormat date-time
darf null sein
Only records changed at or after this time (ISO 8601 with offset). For syncing: use the start of your previous sync minus a few minutes — a record may come twice, store by id.
statusqueryneineins von: active, inactive, archived
darf null sein
Only customers with this status.
typequeryneineins von: agency, carrier, institution, private, caretaker
darf null sein
Only customers of this type.
includequeryneindarf null seinField groups to add: billing (needs the scope accounting.read). Comma-separated.

Antworten

StatusBeschreibung
200One page of customers changed since the given time; more follow with next_cursor.
400invalid_input: Invalid request
401unauthorized: Missing or invalid API key
403forbidden: The API key lacks the scope for this operation; access_inactive: API access is not active for this account
429rate_limited: Too many requests
503unavailable: Service unavailable

Was die Fehlercodes bedeuten und wie Sie sie auswerten: Fehlerbehandlung.

Felder der Antwort

FeldTypPflichtWerteBeschreibung
dataListe von objectjaCustomers, ordered by updated_at, then id.
data[].idstringjaID of the customer.
data[].numberstringjadarf null seinCustomer number assigned by the operator.
data[].namestringjaName of the customer, e.g. the institution or the person.
data[].typestringjaeins von: agency, carrier, institution, private, caretaker
darf null sein
agency (public authority, e.g. youth welfare office), carrier (cost bearer, e.g. health insurance), institution (e.g. workshop, school, day care centre), private (private person), caretaker (legal guardian). null when not set.
data[].statusstringjaeins von: active, inactive, archived
darf null sein
active, inactive or archived. null when not set.
data[].emailstringjadarf null seinEmail address.
data[].phonestringjadarf null seinPhone number.
data[].faxstringjadarf null seinFax number.
data[].websitestringjadarf null seinWebsite.
data[].postal_addressobjectjadarf null seinPostal address, e.g. for invoices.
data[].postal_address.streetstringjadarf null seinStreet.
data[].postal_address.house_numberstringjadarf null seinHouse number.
data[].postal_address.zipstringjadarf null seinPostal code.
data[].postal_address.citystringjadarf null seinCity.
data[].postal_address.countrystringjadarf null seinCountry as stored, e.g. DE or Deutschland.
data[].postal_address.address_line_2stringjadarf null seinAddress supplement, e.g. building or floor.
data[].postal_address.po_boxstringjadarf null seinPO box, instead of a street.
data[].postal_address.departmentstringjadarf null seinDepartment.
data[].postal_address.attentionstringjadarf null seinFor the attention of a person.
data[].postal_address.referencestringjadarf null seinReference of the addressee, e.g. a file number.
data[].physical_addressobjectjadarf null seinPhysical address, if it differs from the postal address — e.g. where passengers are dropped off.
data[].physical_address.streetstringjadarf null seinStreet.
data[].physical_address.house_numberstringjadarf null seinHouse number.
data[].physical_address.zipstringjadarf null seinPostal code.
data[].physical_address.citystringjadarf null seinCity.
data[].physical_address.countrystringjadarf null seinCountry as stored, e.g. DE or Deutschland.
data[].physical_address.address_line_2stringjadarf null seinAddress supplement, e.g. building or floor.
data[].physical_address.po_boxstringjadarf null seinPO box, instead of a street.
data[].physical_address.departmentstringjadarf null seinDepartment.
data[].physical_address.attentionstringjadarf null seinFor the attention of a person.
data[].physical_address.referencestringjadarf null seinReference of the addressee, e.g. a file number.
data[].notesstringjadarf null seinNotes of the operator.
data[].created_atstringjadarf null seinWhen the customer was created (ISO 8601 with offset).
data[].updated_atstringjaWhen the customer was last changed (ISO 8601 with offset).
data[].billingobjectneinBilling data. Only with include=billing and the scope accounting.read.
data[].billing.tax_idstringjadarf null seinTax number.
data[].billing.vat_idstringjadarf null seinVAT ID.
data[].billing.buyer_referencestringjadarf null seinBuyer reference for e-invoices (Leitweg-ID in Germany).
data[].billing.payment_methodstringjadarf null seinPayment method as entered by the operator, free text.
data[].billing.bank_accountobjectjadarf null seinBank account; null when none is stored.
data[].billing.bank_account.account_holderstringjadarf null seinAccount holder.
data[].billing.bank_account.bank_namestringjadarf null seinName of the bank.
data[].billing.bank_account.ibanstringjadarf null seinIBAN.
data[].billing.bank_account.bicstringjadarf null seinBIC.
next_cursorstringjadarf null seinPass it as cursor to get the next page. null: there are no more records.

Beispiel

HTTP/1.1 200

{
  "data": [
    {
      "id": "7a1f3c2e-5b4d-4e6f-9a8b-1c2d3e4f5a6b",
      "number": "K-1042",
      "name": "Tagesförderstätte Sonnenhof",
      "type": "institution",
      "status": "active",
      "email": "verwaltung@example.org",
      "phone": "+49 30 1234567",
      "fax": null,
      "website": null,
      "postal_address": {
        "street": "Lindenallee",
        "house_number": "12",
        "zip": "10115",
        "city": "Berlin",
        "country": "DE",
        "address_line_2": null,
        "po_box": null,
        "department": null,
        "attention": null,
        "reference": null
      },
      "physical_address": null,
      "notes": "Drop-off at the side entrance.",
      "created_at": "2026-09-14T08:30:00.000000+00:00",
      "updated_at": "2026-11-02T07:45:12.345678+00:00"
    }
  ],
  "next_cursor": "WyIyMDI2LTExLTAyVDA3OjQ1OjEyLjM0NTY3OCswMDowMCIsIjdhMWYzYzJlLTViNGQtNGU2Zi05YThiLTFjMmQzZTRmNWE2YiJd"
}

GET/customers/{id}

Einen Kunden lesen · get_customer · Bereich: master_data.read

Read one customer by ID. Unknown and deleted customers are reported as not found.

Parameter

NameOrtPflichtWerteBeschreibung
idpathjaFormat uuidID of the customer.
includequeryneindarf null seinField groups to add: billing (needs the scope accounting.read). Comma-separated.

Antworten

StatusBeschreibung
200The customer with the field group billing.
400invalid_input: Invalid request
401unauthorized: Missing or invalid API key
403forbidden: The API key lacks the scope for this operation; access_inactive: API access is not active for this account
404not_found: Not found
429rate_limited: Too many requests
503unavailable: Service unavailable

Was die Fehlercodes bedeuten und wie Sie sie auswerten: Fehlerbehandlung.

Felder der Antwort

FeldTypPflichtWerteBeschreibung
idstringjaID of the customer.
numberstringjadarf null seinCustomer number assigned by the operator.
namestringjaName of the customer, e.g. the institution or the person.
typestringjaeins von: agency, carrier, institution, private, caretaker
darf null sein
agency (public authority, e.g. youth welfare office), carrier (cost bearer, e.g. health insurance), institution (e.g. workshop, school, day care centre), private (private person), caretaker (legal guardian). null when not set.
statusstringjaeins von: active, inactive, archived
darf null sein
active, inactive or archived. null when not set.
emailstringjadarf null seinEmail address.
phonestringjadarf null seinPhone number.
faxstringjadarf null seinFax number.
websitestringjadarf null seinWebsite.
postal_addressobjectjadarf null seinPostal address, e.g. for invoices.
postal_address.streetstringjadarf null seinStreet.
postal_address.house_numberstringjadarf null seinHouse number.
postal_address.zipstringjadarf null seinPostal code.
postal_address.citystringjadarf null seinCity.
postal_address.countrystringjadarf null seinCountry as stored, e.g. DE or Deutschland.
postal_address.address_line_2stringjadarf null seinAddress supplement, e.g. building or floor.
postal_address.po_boxstringjadarf null seinPO box, instead of a street.
postal_address.departmentstringjadarf null seinDepartment.
postal_address.attentionstringjadarf null seinFor the attention of a person.
postal_address.referencestringjadarf null seinReference of the addressee, e.g. a file number.
physical_addressobjectjadarf null seinPhysical address, if it differs from the postal address — e.g. where passengers are dropped off.
physical_address.streetstringjadarf null seinStreet.
physical_address.house_numberstringjadarf null seinHouse number.
physical_address.zipstringjadarf null seinPostal code.
physical_address.citystringjadarf null seinCity.
physical_address.countrystringjadarf null seinCountry as stored, e.g. DE or Deutschland.
physical_address.address_line_2stringjadarf null seinAddress supplement, e.g. building or floor.
physical_address.po_boxstringjadarf null seinPO box, instead of a street.
physical_address.departmentstringjadarf null seinDepartment.
physical_address.attentionstringjadarf null seinFor the attention of a person.
physical_address.referencestringjadarf null seinReference of the addressee, e.g. a file number.
notesstringjadarf null seinNotes of the operator.
created_atstringjadarf null seinWhen the customer was created (ISO 8601 with offset).
updated_atstringjaWhen the customer was last changed (ISO 8601 with offset).
billingobjectneinBilling data. Only with include=billing and the scope accounting.read.
billing.tax_idstringjadarf null seinTax number.
billing.vat_idstringjadarf null seinVAT ID.
billing.buyer_referencestringjadarf null seinBuyer reference for e-invoices (Leitweg-ID in Germany).
billing.payment_methodstringjadarf null seinPayment method as entered by the operator, free text.
billing.bank_accountobjectjadarf null seinBank account; null when none is stored.
billing.bank_account.account_holderstringjadarf null seinAccount holder.
billing.bank_account.bank_namestringjadarf null seinName of the bank.
billing.bank_account.ibanstringjadarf null seinIBAN.
billing.bank_account.bicstringjadarf null seinBIC.

Beispiel

HTTP/1.1 200

{
  "id": "7a1f3c2e-5b4d-4e6f-9a8b-1c2d3e4f5a6b",
  "number": "K-1042",
  "name": "Tagesförderstätte Sonnenhof",
  "type": "institution",
  "status": "active",
  "email": "verwaltung@example.org",
  "phone": "+49 30 1234567",
  "fax": null,
  "website": null,
  "postal_address": {
    "street": "Lindenallee",
    "house_number": "12",
    "zip": "10115",
    "city": "Berlin",
    "country": "DE",
    "address_line_2": null,
    "po_box": null,
    "department": null,
    "attention": null,
    "reference": null
  },
  "physical_address": null,
  "notes": "Drop-off at the side entrance.",
  "created_at": "2026-09-14T08:30:00.000000+00:00",
  "updated_at": "2026-11-02T07:45:12.345678+00:00",
  "billing": {
    "tax_id": null,
    "vat_id": "DE123456789",
    "buyer_reference": "11001-12345-67",
    "payment_method": "Bank transfer",
    "bank_account": {
      "account_holder": "Sonnenhof gGmbH",
      "bank_name": "Musterbank",
      "iban": "DE89370400440532013000",
      "bic": "MUSTDEFFXXX"
    }
  }
}

GET/customers/deleted

Gelöschte Kunden auflisten · list_deleted_customers · Bereich: master_data.read

List customers deleted since a point in time, so a synced copy can remove them. Kept for a limited time; further back the call is rejected and you need a full sync.

Parameter

NameOrtPflichtWerteBeschreibung
sincequeryjaFormat date-timeDeletions at or after this time (ISO 8601 with offset), at most 90 days back. Use the same time as updated_since of your sync.
limitquerynein1–200
darf null sein
Records per page, 1–200. Default 50.
cursorqueryneinhöchstens 500 Zeichen
darf null sein
next_cursor of the previous page, unchanged. Use it with the same filters. Omit it for the first page.

Antworten

StatusBeschreibung
200Customers deleted since the given time.
400invalid_input: Invalid request
401unauthorized: Missing or invalid API key
403forbidden: The API key lacks the scope for this operation; access_inactive: API access is not active for this account
429rate_limited: Too many requests
503unavailable: Service unavailable

Was die Fehlercodes bedeuten und wie Sie sie auswerten: Fehlerbehandlung.

Felder der Antwort

FeldTypPflichtWerteBeschreibung
dataListe von objectjaDeleted records, oldest first.
data[].idstringjaID of the deleted record.
data[].deleted_atstringjaWhen it was deleted (ISO 8601 with offset).
next_cursorstringjadarf null seinPass it as cursor to get the next page. null: there are no more records.

Beispiel

HTTP/1.1 200

{
  "data": [
    {
      "id": "3c9e8d7f-1a2b-4c5d-8e9f-0a1b2c3d4e5f",
      "deleted_at": "2026-11-01T16:20:05.000000+00:00"
    }
  ],
  "next_cursor": null
}

Fahrgäste

GET/passengers

Fahrgäste auflisten · list_passengers · Bereich: master_data.read

List the passengers of the transport service, ordered by last change, oldest first. Page with cursor; sync with updated_since and list_deleted_passengers.

Parameter

NameOrtPflichtWerteBeschreibung
limitquerynein1–200
darf null sein
Records per page, 1–200. Default 50.
cursorqueryneinhöchstens 500 Zeichen
darf null sein
next_cursor of the previous page, unchanged. Use it with the same filters. Omit it for the first page.
updated_sincequeryneinFormat date-time
darf null sein
Only records changed at or after this time (ISO 8601 with offset). For syncing: use the start of your previous sync minus a few minutes — a record may come twice, store by id.
statusqueryneineins von: active, inactive, archived
darf null sein
Only passengers with this status.
customer_idqueryneinFormat uuid
darf null sein
Only passengers of this customer.
self_payerqueryneindarf null seintrue: only self-payers; false: only the others (passengers of a cost bearer or without a customer).
includequeryneindarf null seinField groups to add: health (needs the scope health_data; every delivered passenger is logged) and billing (needs the scope accounting.read). Comma-separated.

Antworten

StatusBeschreibung
200One page of active passengers changed since the given time; more follow with next_cursor.
400invalid_input: Invalid request
401unauthorized: Missing or invalid API key
403forbidden: The API key lacks the scope for this operation; access_inactive: API access is not active for this account
429rate_limited: Too many requests
503unavailable: Service unavailable

Was die Fehlercodes bedeuten und wie Sie sie auswerten: Fehlerbehandlung.

Felder der Antwort

FeldTypPflichtWerteBeschreibung
dataListe von objectjaPassengers, ordered by updated_at, then id.
data[].idstringjaID of the passenger.
data[].numberstringjadarf null seinPassenger number assigned by the operator.
data[].statusstringjaeins von: active, inactive, archived
darf null sein
active, inactive or archived. null when not set.
data[].self_payerbooleanjaThe passenger pays for their trips themselves: they belong to the system customer for self-payers (customer.number SELBSTZAHLER), however often they ride.
data[].salutationstringjaeins von: mr, ms, diverse
darf null sein
mr, ms or diverse. null when not set.
data[].first_namestringjadarf null seinFirst name.
data[].last_namestringjaLast name.
data[].date_of_birthstringjadarf null seinDate of birth (YYYY-MM-DD).
data[].emailstringjadarf null seinEmail address.
data[].phone_numbersListe von objectjaPhone numbers with a label, e.g. mobile or mother. Empty list when none.
data[].phone_numbers[].labelstringjadarf null seinWhose number, e.g. mother.
data[].phone_numbers[].numberstringjaPhone number.
data[].home_addressobjectjadarf null seinHome address — where the passenger is usually picked up.
data[].home_address.streetstringjadarf null seinStreet.
data[].home_address.house_numberstringjadarf null seinHouse number.
data[].home_address.zipstringjadarf null seinPostal code.
data[].home_address.citystringjadarf null seinCity.
data[].home_address.countrystringjadarf null seinCountry as stored, e.g. DE or Deutschland.
data[].customerobjectjadarf null seinThe customer (cost bearer) the passenger belongs to. Read the customer itself to sync it.
data[].customer.idstringjaID of the customer.
data[].customer.namestringjaName of the customer at the time of reading.
data[].customer.numberstringjadarf null seinCustomer number.
data[].reference_codesListe von objectjaReference codes of cost bearers, as printed on documents. Empty list when none.
data[].reference_codes[].typestringjaKind of reference, e.g. approval number.
data[].reference_codes[].valuestringjaValue.
data[].needsobjectjaWhat the passenger needs on the trip — vehicle, seat and help. Same keys as needs of an inquiry.
data[].needs.wheelchairbooleanjaTravels seated in the wheelchair (needs a wheelchair space and a ramp or lift). false when not recorded.
data[].needs.wheelchair_transferablebooleanjaUses a wheelchair but can move to a regular seat for the trip. false when not recorded.
data[].needs.rollatorbooleanjaBrings a rollator. false when not recorded.
data[].needs.walkerbooleanjaUses a walking frame. false when not recorded.
data[].needs.canebooleanjaUses a walking stick. false when not recorded.
data[].needs.ambulatorybooleanjaCan walk without help. false when not recorded.
data[].needs.stretcherbooleanjaTravels lying on a stretcher. false when not recorded.
data[].needs.oxygenbooleanjaNeeds oxygen during the trip (needs an oxygen-equipped vehicle). false when not recorded.
data[].needs.companionbooleanjaNeeds an escort provided by the transport service. false when not recorded.
data[].needs.boarding_assistancebooleanjaNeeds help getting in and out of the vehicle. false when not recorded.
data[].needs.assistancebooleanjaNeeds support during the trip. false when not recorded.
data[].needs.service_animalbooleanjaTravels with an assistance animal. false when not recorded.
data[].needs.bicyclebooleanjaBrings a bicycle. false when not recorded.
data[].seat_preferencestringjaeins von: no_preference, front, rear
darf null sein
front, rear or no_preference. null when not recorded.
data[].boarding_minutesnumberjadarf null seinMinutes the passenger usually needs to board.
data[].pickup_earlieststringjadarf null seinUsual earliest pickup time (HH:MM, local time of the operator).
data[].pickup_lateststringjadarf null seinUsual latest pickup time (HH:MM, local time of the operator).
data[].notesstringjadarf null seinNotes of the operator.
data[].created_atstringjadarf null seinWhen the passenger was created (ISO 8601 with offset).
data[].updated_atstringjaWhen the passenger was last changed (ISO 8601 with offset).
data[].healthobjectneinHealth data (Art. 9 GDPR). Only for API keys with the scope health_data and include=health. Every passenger delivered with this group is logged for the operator.
data[].health.medical_notesstringjadarf null seinMedical notes for the trip.
data[].health.allergiesstringjadarf null seinAllergies.
data[].health.emergency_contactobjectjadarf null seinEmergency contact; null when none is stored.
data[].health.emergency_contact.namestringjadarf null seinName of the contact person.
data[].health.emergency_contact.relationshipstringjadarf null seinRelationship to the passenger, e.g. mother.
data[].health.emergency_contact.phonestringjadarf null seinPhone number.
data[].health.needs_notesstringjadarf null seinFree text about the needs, e.g. how to help with boarding.
data[].health.autismbooleanjaThe passenger is autistic. false when not recorded.
data[].health.visual_impairmentbooleanjaThe passenger has a visual impairment. false when not recorded.
data[].health.cognitive_impairmentbooleanjaThe passenger has a cognitive impairment. false when not recorded.
data[].billingobjectneinBilling data. Only with include=billing and the scope accounting.read.
data[].billing.namestringjadarf null seinName on invoices, if it differs from the passenger.
data[].billing.addressobjectjadarf null seinBilling address; null when none is stored. If neither name nor address is set, documents are addressed to the passenger at home_address.
data[].billing.address.streetstringjadarf null seinStreet.
data[].billing.address.house_numberstringjadarf null seinHouse number.
data[].billing.address.zipstringjadarf null seinPostal code.
data[].billing.address.citystringjadarf null seinCity.
data[].billing.address.countrystringjadarf null seinCountry as stored, e.g. DE or Deutschland.
data[].billing.default_tax_ratenumberjadarf null seinDefault VAT rate in percent for documents of this passenger.
next_cursorstringjadarf null seinPass it as cursor to get the next page. null: there are no more records.

Beispiel

HTTP/1.1 200

{
  "data": [
    {
      "id": "5d2e8f1a-3b4c-4d6e-9f0a-1b2c3d4e5f6a",
      "number": "F-2087",
      "status": "active",
      "self_payer": false,
      "salutation": "mr",
      "first_name": "Jonas",
      "last_name": "Beispiel",
      "date_of_birth": "2012-04-17",
      "email": null,
      "phone_numbers": [
        {
          "label": "Home",
          "number": "+49 30 7654321"
        },
        {
          "label": "Mother",
          "number": "+49 170 1234567"
        }
      ],
      "home_address": {
        "street": "Birkenweg",
        "house_number": "7",
        "zip": "10437",
        "city": "Berlin",
        "country": "DE"
      },
      "customer": {
        "id": "7a1f3c2e-5b4d-4e6f-9a8b-1c2d3e4f5a6b",
        "name": "Tagesförderstätte Sonnenhof",
        "number": "K-1042"
      },
      "reference_codes": [
        {
          "type": "Approval number",
          "value": "EGH-2026-0815"
        }
      ],
      "needs": {
        "wheelchair": true,
        "wheelchair_transferable": false,
        "rollator": false,
        "walker": false,
        "cane": false,
        "ambulatory": false,
        "stretcher": false,
        "oxygen": false,
        "companion": false,
        "boarding_assistance": true,
        "assistance": false,
        "service_animal": false,
        "bicycle": false
      },
      "seat_preference": "front",
      "boarding_minutes": 5,
      "pickup_earliest": "07:00",
      "pickup_latest": "07:20",
      "notes": "Ring twice.",
      "created_at": "2026-09-20T10:05:00.000000+00:00",
      "updated_at": "2026-11-02T06:58:41.123456+00:00"
    }
  ],
  "next_cursor": "WyIyMDI2LTExLTAyVDA2OjU4OjQxLjEyMzQ1NiswMDowMCIsIjVkMmU4ZjFhLTNiNGMtNGQ2ZS05ZjBhLTFiMmMzZDRlNWY2YSJd"
}

GET/passengers/{id}

Einen Fahrgast lesen · get_passenger · Bereich: master_data.read

Read one passenger by ID. Unknown and deleted passengers are reported as not found.

Parameter

NameOrtPflichtWerteBeschreibung
idpathjaFormat uuidID of the passenger.
includequeryneindarf null seinField groups to add: health (needs the scope health_data; every delivered passenger is logged) and billing (needs the scope accounting.read). Comma-separated.

Antworten

StatusBeschreibung
200The passenger with the field group health — this call is logged for the operator.
400invalid_input: Invalid request
401unauthorized: Missing or invalid API key
403forbidden: The API key lacks the scope for this operation; access_inactive: API access is not active for this account
404not_found: Not found
429rate_limited: Too many requests
503unavailable: Service unavailable

Was die Fehlercodes bedeuten und wie Sie sie auswerten: Fehlerbehandlung.

Felder der Antwort

FeldTypPflichtWerteBeschreibung
idstringjaID of the passenger.
numberstringjadarf null seinPassenger number assigned by the operator.
statusstringjaeins von: active, inactive, archived
darf null sein
active, inactive or archived. null when not set.
self_payerbooleanjaThe passenger pays for their trips themselves: they belong to the system customer for self-payers (customer.number SELBSTZAHLER), however often they ride.
salutationstringjaeins von: mr, ms, diverse
darf null sein
mr, ms or diverse. null when not set.
first_namestringjadarf null seinFirst name.
last_namestringjaLast name.
date_of_birthstringjadarf null seinDate of birth (YYYY-MM-DD).
emailstringjadarf null seinEmail address.
phone_numbersListe von objectjaPhone numbers with a label, e.g. mobile or mother. Empty list when none.
phone_numbers[].labelstringjadarf null seinWhose number, e.g. mother.
phone_numbers[].numberstringjaPhone number.
home_addressobjectjadarf null seinHome address — where the passenger is usually picked up.
home_address.streetstringjadarf null seinStreet.
home_address.house_numberstringjadarf null seinHouse number.
home_address.zipstringjadarf null seinPostal code.
home_address.citystringjadarf null seinCity.
home_address.countrystringjadarf null seinCountry as stored, e.g. DE or Deutschland.
customerobjectjadarf null seinThe customer (cost bearer) the passenger belongs to. Read the customer itself to sync it.
customer.idstringjaID of the customer.
customer.namestringjaName of the customer at the time of reading.
customer.numberstringjadarf null seinCustomer number.
reference_codesListe von objectjaReference codes of cost bearers, as printed on documents. Empty list when none.
reference_codes[].typestringjaKind of reference, e.g. approval number.
reference_codes[].valuestringjaValue.
needsobjectjaWhat the passenger needs on the trip — vehicle, seat and help. Same keys as needs of an inquiry.
needs.wheelchairbooleanjaTravels seated in the wheelchair (needs a wheelchair space and a ramp or lift). false when not recorded.
needs.wheelchair_transferablebooleanjaUses a wheelchair but can move to a regular seat for the trip. false when not recorded.
needs.rollatorbooleanjaBrings a rollator. false when not recorded.
needs.walkerbooleanjaUses a walking frame. false when not recorded.
needs.canebooleanjaUses a walking stick. false when not recorded.
needs.ambulatorybooleanjaCan walk without help. false when not recorded.
needs.stretcherbooleanjaTravels lying on a stretcher. false when not recorded.
needs.oxygenbooleanjaNeeds oxygen during the trip (needs an oxygen-equipped vehicle). false when not recorded.
needs.companionbooleanjaNeeds an escort provided by the transport service. false when not recorded.
needs.boarding_assistancebooleanjaNeeds help getting in and out of the vehicle. false when not recorded.
needs.assistancebooleanjaNeeds support during the trip. false when not recorded.
needs.service_animalbooleanjaTravels with an assistance animal. false when not recorded.
needs.bicyclebooleanjaBrings a bicycle. false when not recorded.
seat_preferencestringjaeins von: no_preference, front, rear
darf null sein
front, rear or no_preference. null when not recorded.
boarding_minutesnumberjadarf null seinMinutes the passenger usually needs to board.
pickup_earlieststringjadarf null seinUsual earliest pickup time (HH:MM, local time of the operator).
pickup_lateststringjadarf null seinUsual latest pickup time (HH:MM, local time of the operator).
notesstringjadarf null seinNotes of the operator.
created_atstringjadarf null seinWhen the passenger was created (ISO 8601 with offset).
updated_atstringjaWhen the passenger was last changed (ISO 8601 with offset).
healthobjectneinHealth data (Art. 9 GDPR). Only for API keys with the scope health_data and include=health. Every passenger delivered with this group is logged for the operator.
health.medical_notesstringjadarf null seinMedical notes for the trip.
health.allergiesstringjadarf null seinAllergies.
health.emergency_contactobjectjadarf null seinEmergency contact; null when none is stored.
health.emergency_contact.namestringjadarf null seinName of the contact person.
health.emergency_contact.relationshipstringjadarf null seinRelationship to the passenger, e.g. mother.
health.emergency_contact.phonestringjadarf null seinPhone number.
health.needs_notesstringjadarf null seinFree text about the needs, e.g. how to help with boarding.
health.autismbooleanjaThe passenger is autistic. false when not recorded.
health.visual_impairmentbooleanjaThe passenger has a visual impairment. false when not recorded.
health.cognitive_impairmentbooleanjaThe passenger has a cognitive impairment. false when not recorded.
billingobjectneinBilling data. Only with include=billing and the scope accounting.read.
billing.namestringjadarf null seinName on invoices, if it differs from the passenger.
billing.addressobjectjadarf null seinBilling address; null when none is stored. If neither name nor address is set, documents are addressed to the passenger at home_address.
billing.address.streetstringjadarf null seinStreet.
billing.address.house_numberstringjadarf null seinHouse number.
billing.address.zipstringjadarf null seinPostal code.
billing.address.citystringjadarf null seinCity.
billing.address.countrystringjadarf null seinCountry as stored, e.g. DE or Deutschland.
billing.default_tax_ratenumberjadarf null seinDefault VAT rate in percent for documents of this passenger.

Beispiel

HTTP/1.1 200

{
  "id": "5d2e8f1a-3b4c-4d6e-9f0a-1b2c3d4e5f6a",
  "number": "F-2087",
  "status": "active",
  "self_payer": false,
  "salutation": "mr",
  "first_name": "Jonas",
  "last_name": "Beispiel",
  "date_of_birth": "2012-04-17",
  "email": null,
  "phone_numbers": [
    {
      "label": "Home",
      "number": "+49 30 7654321"
    },
    {
      "label": "Mother",
      "number": "+49 170 1234567"
    }
  ],
  "home_address": {
    "street": "Birkenweg",
    "house_number": "7",
    "zip": "10437",
    "city": "Berlin",
    "country": "DE"
  },
  "customer": {
    "id": "7a1f3c2e-5b4d-4e6f-9a8b-1c2d3e4f5a6b",
    "name": "Tagesförderstätte Sonnenhof",
    "number": "K-1042"
  },
  "reference_codes": [
    {
      "type": "Approval number",
      "value": "EGH-2026-0815"
    }
  ],
  "needs": {
    "wheelchair": true,
    "wheelchair_transferable": false,
    "rollator": false,
    "walker": false,
    "cane": false,
    "ambulatory": false,
    "stretcher": false,
    "oxygen": false,
    "companion": false,
    "boarding_assistance": true,
    "assistance": false,
    "service_animal": false,
    "bicycle": false
  },
  "seat_preference": "front",
  "boarding_minutes": 5,
  "pickup_earliest": "07:00",
  "pickup_latest": "07:20",
  "notes": "Ring twice.",
  "created_at": "2026-09-20T10:05:00.000000+00:00",
  "updated_at": "2026-11-02T06:58:41.123456+00:00",
  "health": {
    "medical_notes": "Epilepsy: emergency medication in the backpack.",
    "allergies": "Peanuts",
    "emergency_contact": {
      "name": "Sabine Beispiel",
      "relationship": "Mother",
      "phone": "+49 170 1234567"
    },
    "needs_notes": "Fasten the wheelchair with four-point restraints.",
    "autism": false,
    "visual_impairment": false,
    "cognitive_impairment": true
  }
}

GET/passengers/deleted

Gelöschte Fahrgäste auflisten · list_deleted_passengers · Bereich: master_data.read

List passengers deleted since a point in time, so a synced copy can remove them. Kept for a limited time; further back the call is rejected and you need a full sync.

Parameter

NameOrtPflichtWerteBeschreibung
sincequeryjaFormat date-timeDeletions at or after this time (ISO 8601 with offset), at most 90 days back. Use the same time as updated_since of your sync.
limitquerynein1–200
darf null sein
Records per page, 1–200. Default 50.
cursorqueryneinhöchstens 500 Zeichen
darf null sein
next_cursor of the previous page, unchanged. Use it with the same filters. Omit it for the first page.

Antworten

StatusBeschreibung
200Passengers deleted since the given time.
400invalid_input: Invalid request
401unauthorized: Missing or invalid API key
403forbidden: The API key lacks the scope for this operation; access_inactive: API access is not active for this account
429rate_limited: Too many requests
503unavailable: Service unavailable

Was die Fehlercodes bedeuten und wie Sie sie auswerten: Fehlerbehandlung.

Felder der Antwort

FeldTypPflichtWerteBeschreibung
dataListe von objectjaDeleted records, oldest first.
data[].idstringjaID of the deleted record.
data[].deleted_atstringjaWhen it was deleted (ISO 8601 with offset).
next_cursorstringjadarf null seinPass it as cursor to get the next page. null: there are no more records.

Beispiel

HTTP/1.1 200

{
  "data": [
    {
      "id": "8e1f2a3b-4c5d-4e6f-8a9b-0c1d2e3f4a5b",
      "deleted_at": "2026-11-01T17:02:44.000000+00:00"
    }
  ],
  "next_cursor": null
}

Datenformate

Die Objekte, aus denen sich Anfragen, Datensätze und Antworten zusammensetzen. In der OpenAPI-Datei stehen sie unter components.schemas mit denselben Namen.

Anfragende Person Requester

The person or institution asking for transport — the operator replies to them. Email or phone is required.

FeldTypPflichtWerteBeschreibung
rolestringneineins von: self, relative, institution, payer
darf null sein
Who is asking: self (the passenger), relative, institution (e.g. a care home or workshop) or payer (the cost bearer).
first_namestringneinhöchstens 100 Zeichen
darf null sein
First name of the requesting person.
last_namestringja1–100 ZeichenLast name of the requesting person, or a contact name at the institution.
emailstringneinhöchstens 254 Zeichen
Format email
darf null sein
Email address for replies. Email or phone is required.
phonestringneinhöchstens 50 Zeichen
darf null sein
Phone number for call-backs. Email or phone is required.
organizationstringneinhöchstens 255 Zeichen
darf null sein
Name of the institution, if the request comes from one.
postal_addressAddressneindarf null seinPostal address of the requesting person or institution for the invoice; the operator uses it when creating a new customer. If any part is given, street and city are required.

Fahrgast (Anfrage) Passenger

A person to be transported; becomes one item of the inquiry.

FeldTypPflichtWerteBeschreibung
first_namestringneinhöchstens 100 Zeichen
darf null sein
First name of the passenger.
last_namestringneinhöchstens 100 Zeichen
darf null sein
Last name of the passenger.
birth_yearintegernein1900–2100
darf null sein
Year of birth — helps the operator to tell passengers with the same name apart.
pickupAddressneindarf null seinWhere the passenger is picked up. If any part is given, street and city are required.
dropoffAddressneindarf null seinWhere the passenger is taken, e.g. a school, workshop or day care centre. If any part is given, street and city are required.
trip_kindstringneineins von: single, recurring
darf null sein
single for a one-off trip, recurring for a regular transport (e.g. every school day).
requested_datestringneindarf null seinDesired date as YYYY-MM-DD (a real calendar day); for a recurring transport the first day.
requested_time_windowstringneinhöchstens 80 Zeichen
darf null sein
Desired time as free text, e.g. 07:30 or arrival by 8:00.
return_tripbooleanneindarf null seintrue if a return trip is wanted as well.
return_time_windowstringneinhöchstens 80 Zeichen
darf null sein
Desired time of the return trip as free text. Rejected together with return_trip: false.
vehicle_preferencestringneineins von: car, van, minibus, bus, special_vehicle
darf null sein
Preferred vehicle class. A wheelchair ramp is not a preference: set needs.wheelchair instead.
needsNeedsneindarf null seinWhat the passenger needs during the trip. Health data (Art. 9 GDPR): send only with consent. Missing or null means none.
payer_hintstringneinhöchstens 200 Zeichen
darf null sein
Who is expected to pay, as free text (e.g. youth welfare office, health insurance). The operator checks it.

Adresse Address

An address. Street and city are required as soon as any part is given; house number and postal code are optional.

FeldTypPflichtWerteBeschreibung
streetstringneinhöchstens 255 Zeichen
darf null sein
Street name.
house_numberstringneinhöchstens 20 Zeichen
darf null sein
House number, with suffix if any (12a).
zipstringneinhöchstens 20 Zeichen
darf null sein
Postal code.
citystringneinhöchstens 100 Zeichen
darf null sein
Town or city.

Bedarfe Needs

Needs during the trip. Every flag is optional; true marks a need, missing or false means no.

FeldTypPflichtWerteBeschreibung
wheelchairbooleanneindarf null seinTravels seated in the wheelchair (needs a wheelchair space and a ramp or lift).
wheelchair_transferablebooleanneindarf null seinUses a wheelchair but can move to a regular seat for the trip.
rollatorbooleanneindarf null seinBrings a rollator.
stretcherbooleanneindarf null seinTravels lying on a stretcher.
companionbooleanneindarf null seinNeeds an escort provided by the transport service.
boarding_assistancebooleanneindarf null seinNeeds help getting in and out of the vehicle.
private_companionbooleanneindarf null seinA relative or private companion rides along and takes a seat.
otherstringneinhöchstens 500 Zeichen
darf null sein
Other needs as free text.

Consent your system obtained from the person before sending (required).

FeldTypPflichtWerteBeschreibung
givenbooleanjagenau trueMust be true: the person agreed that the operator processes the data, including the needs (health data).
text_versionstringja1–36 ZeichenVersion of the consent text the person saw, e.g. 2026-11. Stored with the inquiry as proof.
given_atstringneinFormat date-time
darf null sein
When consent was given (ISO 8601 with offset). Defaults to the time of receipt; must not be in the future.

Kunde Customer

A customer of the operator: institution, authority, cost bearer or private person.

FeldTypPflichtWerteBeschreibung
idstringjaID of the customer.
numberstringjadarf null seinCustomer number assigned by the operator.
namestringjaName of the customer, e.g. the institution or the person.
typestringjaeins von: agency, carrier, institution, private, caretaker
darf null sein
agency (public authority, e.g. youth welfare office), carrier (cost bearer, e.g. health insurance), institution (e.g. workshop, school, day care centre), private (private person), caretaker (legal guardian). null when not set.
statusstringjaeins von: active, inactive, archived
darf null sein
active, inactive or archived. null when not set.
emailstringjadarf null seinEmail address.
phonestringjadarf null seinPhone number.
faxstringjadarf null seinFax number.
websitestringjadarf null seinWebsite.
postal_addressStoredAddressjadarf null seinPostal address, e.g. for invoices.
physical_addressStoredAddressjadarf null seinPhysical address, if it differs from the postal address — e.g. where passengers are dropped off.
notesstringjadarf null seinNotes of the operator.
created_atstringjadarf null seinWhen the customer was created (ISO 8601 with offset).
updated_atstringjaWhen the customer was last changed (ISO 8601 with offset).
billingCustomerBillingneinBilling data. Only with include=billing and the scope accounting.read.

Abrechnungsdaten (Kunde) CustomerBilling

Billing data. Only with include=billing and the scope accounting.read.

FeldTypPflichtWerteBeschreibung
tax_idstringjadarf null seinTax number.
vat_idstringjadarf null seinVAT ID.
buyer_referencestringjadarf null seinBuyer reference for e-invoices (Leitweg-ID in Germany).
payment_methodstringjadarf null seinPayment method as entered by the operator, free text.
bank_accountBankAccountjadarf null seinBank account; null when none is stored.

Bankverbindung BankAccount

Bank account as stored. Empty parts are null.

FeldTypPflichtWerteBeschreibung
account_holderstringjadarf null seinAccount holder.
bank_namestringjadarf null seinName of the bank.
ibanstringjadarf null seinIBAN.
bicstringjadarf null seinBIC.

Gespeicherte Anschrift StoredAddress

Address as stored in Fleetiva. Empty parts are null.

FeldTypPflichtWerteBeschreibung
streetstringjadarf null seinStreet.
house_numberstringjadarf null seinHouse number.
zipstringjadarf null seinPostal code.
citystringjadarf null seinCity.
countrystringjadarf null seinCountry as stored, e.g. DE or Deutschland.
address_line_2stringjadarf null seinAddress supplement, e.g. building or floor.
po_boxstringjadarf null seinPO box, instead of a street.
departmentstringjadarf null seinDepartment.
attentionstringjadarf null seinFor the attention of a person.
referencestringjadarf null seinReference of the addressee, e.g. a file number.

Fahrgast (Stammdaten) PassengerRecord

A passenger of the transport service.

FeldTypPflichtWerteBeschreibung
idstringjaID of the passenger.
numberstringjadarf null seinPassenger number assigned by the operator.
statusstringjaeins von: active, inactive, archived
darf null sein
active, inactive or archived. null when not set.
self_payerbooleanjaThe passenger pays for their trips themselves: they belong to the system customer for self-payers (customer.number SELBSTZAHLER), however often they ride.
salutationstringjaeins von: mr, ms, diverse
darf null sein
mr, ms or diverse. null when not set.
first_namestringjadarf null seinFirst name.
last_namestringjaLast name.
date_of_birthstringjadarf null seinDate of birth (YYYY-MM-DD).
emailstringjadarf null seinEmail address.
phone_numbersListe von objectjaPhone numbers with a label, e.g. mobile or mother. Empty list when none.
phone_numbers[].labelstringjadarf null seinWhose number, e.g. mother.
phone_numbers[].numberstringjaPhone number.
home_addressStreetAddressjadarf null seinHome address — where the passenger is usually picked up.
customerobjectjadarf null seinThe customer (cost bearer) the passenger belongs to. Read the customer itself to sync it.
customer.idstringjaID of the customer.
customer.namestringjaName of the customer at the time of reading.
customer.numberstringjadarf null seinCustomer number.
reference_codesListe von objectjaReference codes of cost bearers, as printed on documents. Empty list when none.
reference_codes[].typestringjaKind of reference, e.g. approval number.
reference_codes[].valuestringjaValue.
needsPassengerNeedsjaWhat the passenger needs on the trip — vehicle, seat and help. Same keys as needs of an inquiry.
seat_preferencestringjaeins von: no_preference, front, rear
darf null sein
front, rear or no_preference. null when not recorded.
boarding_minutesnumberjadarf null seinMinutes the passenger usually needs to board.
pickup_earlieststringjadarf null seinUsual earliest pickup time (HH:MM, local time of the operator).
pickup_lateststringjadarf null seinUsual latest pickup time (HH:MM, local time of the operator).
notesstringjadarf null seinNotes of the operator.
created_atstringjadarf null seinWhen the passenger was created (ISO 8601 with offset).
updated_atstringjaWhen the passenger was last changed (ISO 8601 with offset).
healthPassengerHealthneinHealth data (Art. 9 GDPR). Only for API keys with the scope health_data and include=health. Every passenger delivered with this group is logged for the operator.
billingPassengerBillingneinBilling data. Only with include=billing and the scope accounting.read.

Bedarfe (Fahrgast) PassengerNeeds

What the passenger needs on the trip — vehicle, seat and help. Same keys as needs of an inquiry.

FeldTypPflichtWerteBeschreibung
wheelchairbooleanjaTravels seated in the wheelchair (needs a wheelchair space and a ramp or lift). false when not recorded.
wheelchair_transferablebooleanjaUses a wheelchair but can move to a regular seat for the trip. false when not recorded.
rollatorbooleanjaBrings a rollator. false when not recorded.
walkerbooleanjaUses a walking frame. false when not recorded.
canebooleanjaUses a walking stick. false when not recorded.
ambulatorybooleanjaCan walk without help. false when not recorded.
stretcherbooleanjaTravels lying on a stretcher. false when not recorded.
oxygenbooleanjaNeeds oxygen during the trip (needs an oxygen-equipped vehicle). false when not recorded.
companionbooleanjaNeeds an escort provided by the transport service. false when not recorded.
boarding_assistancebooleanjaNeeds help getting in and out of the vehicle. false when not recorded.
assistancebooleanjaNeeds support during the trip. false when not recorded.
service_animalbooleanjaTravels with an assistance animal. false when not recorded.
bicyclebooleanjaBrings a bicycle. false when not recorded.

Gesundheitsdaten (Fahrgast) PassengerHealth

Health data (Art. 9 GDPR). Only for API keys with the scope health_data and include=health. Every passenger delivered with this group is logged for the operator.

FeldTypPflichtWerteBeschreibung
medical_notesstringjadarf null seinMedical notes for the trip.
allergiesstringjadarf null seinAllergies.
emergency_contactEmergencyContactjadarf null seinEmergency contact; null when none is stored.
needs_notesstringjadarf null seinFree text about the needs, e.g. how to help with boarding.
autismbooleanjaThe passenger is autistic. false when not recorded.
visual_impairmentbooleanjaThe passenger has a visual impairment. false when not recorded.
cognitive_impairmentbooleanjaThe passenger has a cognitive impairment. false when not recorded.

Notfallkontakt EmergencyContact

Emergency contact as stored. Empty parts are null.

FeldTypPflichtWerteBeschreibung
namestringjadarf null seinName of the contact person.
relationshipstringjadarf null seinRelationship to the passenger, e.g. mother.
phonestringjadarf null seinPhone number.

Abrechnungsdaten (Fahrgast) PassengerBilling

Billing data. Only with include=billing and the scope accounting.read.

FeldTypPflichtWerteBeschreibung
namestringjadarf null seinName on invoices, if it differs from the passenger.
addressStreetAddressjadarf null seinBilling address; null when none is stored. If neither name nor address is set, documents are addressed to the passenger at home_address.
default_tax_ratenumberjadarf null seinDefault VAT rate in percent for documents of this passenger.

Anschrift StreetAddress

Address with street, house number, postal code, city and country. Empty parts are null.

FeldTypPflichtWerteBeschreibung
streetstringjadarf null seinStreet.
house_numberstringjadarf null seinHouse number.
zipstringjadarf null seinPostal code.
citystringjadarf null seinCity.
countrystringjadarf null seinCountry as stored, e.g. DE or Deutschland.

Gelöschter Datensatz DeletedRecord

A record that no longer exists. Remove it from your copy.

FeldTypPflichtWerteBeschreibung
idstringjaID of the deleted record.
deleted_atstringjaWhen it was deleted (ISO 8601 with offset).

Fehlerantwort Problem

Error response (RFC 9457, application/problem+json).

FeldTypPflichtWerteBeschreibung
typestringjaStable identifier of the problem: tag:fleetiva.de,2026:api/problems/<code>.
titlestringjaShort English summary.
statusintegerja-9007199254740991–9007199254740991HTTP status code, same as the response status.
codestringjaeins von: unauthorized, forbidden, access_inactive, not_found, invalid_input, idempotency_key_reused, payload_too_large, unsupported_media_type, rate_limited, unavailableMachine-readable error code — branch on this.
request_idstringjaID of this request, also in the X-Request-Id header. Quote it when you contact support.
issuesListe von objectneinOnly with invalid_input: what is wrong where. Never repeats the submitted values.
issues[].pathstringjaField path such as passengers.0.pickup.city or idempotency_key; empty for the whole body.
issues[].messagestringjaeins von: required, too_short, too_long, too_few, too_many, too_small, too_large, invalid_type, invalid_value, invalid_format, unknown_field, invalid_json, invalid_characters, contact_required, address_incomplete, invalid_date, in_future, return_time_requires_return_trip, invalid_cursor, sync_window_exceededFixed reason code — branch on this. The list only grows; treat an unknown code like invalid_value.
issues[].limitnumberneinWith too_short, too_long, too_few, too_many, too_small, too_large: the limit that was broken.
retry_after_secondsintegernein1–9007199254740991Only with rate_limited: seconds to wait, same as the Retry-After header.