# Bahn Customer API > Build vehicle transport into your product. ## Docs - [Create an access token](https://docs.bahnexpress.fi/api-reference/authentication/create-an-access-token.md): Exchanges a client ID and client secret for a bearer token. The token is valid for 15 minutes and has no refresh token. - [Create a file upload](https://docs.bahnexpress.fi/api-reference/files/create-a-file-upload.md): Creates a file identifier and a temporary direct-upload request. Send a multipart form POST to the returned URL. Add each returned field to the form. Add the file as the final form field with the name `file`. Use the file identifier in an order request after the upload succeeds. - [Delete a customer upload](https://docs.bahnexpress.fi/api-reference/files/delete-a-customer-upload.md): Deletes a file that the authenticated customer uploaded. The order must still allow changes. - [List order files](https://docs.bahnexpress.fi/api-reference/files/list-order-files.md) - [Get the vehicle inspection report](https://docs.bahnexpress.fi/api-reference/inspections/get-the-vehicle-inspection-report.md) - [Cancel an order](https://docs.bahnexpress.fi/api-reference/orders/cancel-an-order.md): Cancels an order while `allowed_actions` contains `cancel`. - [Change an order](https://docs.bahnexpress.fi/api-reference/orders/change-an-order.md): Changes supported order fields while `allowed_actions` contains `update`. - [Create an order](https://docs.bahnexpress.fi/api-reference/orders/create-an-order.md): Creates one order with one primary vehicle. The order can also contain one trade-in vehicle. - [Get an order](https://docs.bahnexpress.fi/api-reference/orders/get-an-order.md) - [List orders](https://docs.bahnexpress.fi/api-reference/orders/list-orders.md): Returns orders from newest to oldest. - [Check a price](https://docs.bahnexpress.fi/api-reference/prices/check-a-price.md): Calculates the current price when automatic pricing supports the route. Otherwise, the response states that the route needs a custom quote. Bahn does not guarantee that it can provide a custom quote. - [List order report rows](https://docs.bahnexpress.fi/api-reference/reports/list-order-report-rows.md) - [Apply a sandbox scenario](https://docs.bahnexpress.fi/api-reference/sandbox/apply-a-sandbox-scenario.md): Applies one deterministic scenario to a sandbox order. Use this route only with the sandbox base URL. The scenario list defines each supported order change. - [Get the current transport tracking snapshot](https://docs.bahnexpress.fi/api-reference/tracking/get-the-current-transport-tracking-snapshot.md): Returns one tracking entry for each order item. When position is present, use point and observed_at to show the item on a map. - [Receive an order event](https://docs.bahnexpress.fi/api-reference/webhooks/receive-an-order-event.md): Bahn sends this request to the configured customer endpoint. The receiver must deduplicate requests by the `id` field. - [LLM agents](https://docs.bahnexpress.fi/guides/agent-integration.md): Give an agent the contract, context, and write rules it needs. - [Authentication](https://docs.bahnexpress.fi/guides/authentication.md): Create a credential and use the OAuth 2.0 client credentials grant. - [Errors, retries, and conflicts](https://docs.bahnexpress.fi/guides/errors-and-retries.md): Turn API failures into reliable retry and recovery behavior. - [Files and inspections](https://docs.bahnexpress.fi/guides/files-and-documents.md): Upload customer documents and build a transport evidence archive. - [Integration lifecycle](https://docs.bahnexpress.fi/guides/integration-workflows.md): Design the order, webhook, and resource-read loop. - [Platform ordering](https://docs.bahnexpress.fi/guides/ordering-channels.md): Create transport orders for businesses that use your platform. - [Orders and timing](https://docs.bahnexpress.fi/guides/orders.md): Create orders and present their status, timing, vehicles, and available actions. - [Price checks](https://docs.bahnexpress.fi/guides/prices.md): Check the current automatic price before you create an order. - [Order exports](https://docs.bahnexpress.fi/guides/reports.md): Export order data with cursor pagination. - [Sandbox testing](https://docs.bahnexpress.fi/guides/sandbox.md): Create isolated orders and move them through deterministic scenarios. - [Tracking and ETA](https://docs.bahnexpress.fi/guides/tracking-and-inspections.md): Build a useful transport map and arrival experience. - [Webhooks](https://docs.bahnexpress.fi/guides/webhooks.md): Verify signed CloudEvents and process each order event at least once. - [Bahn Customer API](https://docs.bahnexpress.fi/introduction.md): Add vehicle transport to your product. - [Quickstart](https://docs.bahnexpress.fi/quickstart.md): Create and verify your first sandbox order. ## OpenAPI Specs - [openapi](https://docs.bahnexpress.fi/openapi.yaml)