Skip to main content
This guide takes you from a client credential to a working sandbox order. You need curl, jq, and a sandbox credential from the Bahn customer portal.
Keep the sandbox base URL in every command. The production URL creates real transport orders.
1

Set your sandbox credentials

Set the client ID and client secret from the portal.
2

Get an access token

Request a token and save it. The token is valid for 15 minutes.
3

Create an order

Create one transport from a dealership to an end customer. Set available_from to a future time before you run the command.
A successful response has the accepted status. Save the returned id for later requests.
4

Read the current order

Read the order with its Bahn order ID.
The response should contain your order ID, the accepted status, and the current allowed_actions.
5

Advance the test order

Confirm pickup readiness with the first sandbox scenario. This gives you a real state change to read and later test through webhooks.
The response should show pickup_readiness_confirmed and the confirmed readiness value.
You now have a working order and the credentials needed for the rest of the sandbox. Next, read Integration lifecycle to design the complete flow.