Quick Start
Get started with the Adapt2Move Mobility API in 5 minutes. This guide walks you through making your first successful search request.
Prerequisites
- API Credentials: An API key for authentication — create one in the Dashboard Portal under your tenant settings
- HTTP Client: curl, Postman, or your preferred programming language
Get Your Credentials
The Mobility API uses token-based authentication. Your API key authenticates requests, identifies your tenant (and organization), and enforces your policies.
Create API keys in the Dashboard Portal under your tenant settings. You can create separate keys for:
- Test environment: Keys prefixed with
a2m_test_— for testing and integration - Production environment: Keys prefixed with
a2m_live_— for live operations
Treat your API token like a password: store in environment variables, use HTTPS for all calls, use different tokens per environment, and never expose in client-side code.
For detailed security best practices, see the Authentication Guide.
Make Your First Request
Let's search for available vehicles. This example searches for car rentals in Berlin for a 5-day period in December.
curl -X POST https://adapt2move.de/mobility-api/v2/cars \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"pickup": {
"type": "coordinates",
"coordinates": {
"latitude": 52.5200,
"longitude": 13.4050
},
"radiusMeters": 5000
},
"dates": {
"start": "2026-12-15T10:00:00Z",
"end": "2026-12-20T10:00:00Z"
}
}'
Replace YOUR_API_TOKEN with your actual API token.
What This Request Does
- Searches for available vehicles in Berlin (coordinates: 52.5200, 13.4050)
- Search radius: Within 5km of the specified coordinates
- Pickup: December 15, 2026 at 10:00 AM UTC
- Dropoff: December 20, 2026 at 10:00 AM UTC (5-day rental)
- Same location: Pickup and dropoff at the same coordinates
Request Parameters Explained
| Parameter | Description |
|---|---|
pickup.coordinates | Where to pick up the vehicle (latitude/longitude) |
pickup.radiusMeters | Search radius in meters (max 50km) |
dates.start | When to pick up (ISO 8601 format in UTC) |
dates.end | When to return (ISO 8601 format in UTC) |
dropoff | Optional: Different return location (for one-way rentals) |
estimatedKilometers | Estimated trip distance in km (required for pricing) |
Provide estimatedKilometers to receive pricing in your results. See Booking
Workflow for details.
For better results, use the station search endpoint first to find exact pickup locations, then search using the returned place ID:
# Find nearby stations
curl -X GET "https://adapt2move.de/mobility-api/v2/cars/stations?latitude=52.52&longitude=13.405&radiusMeters=5000" \
-H "Authorization: Bearer YOUR_API_TOKEN"
# Search using place ID from station response (faster and more accurate)
curl -X POST https://adapt2move.de/mobility-api/v2/cars \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"pickup": { "type": "place", "placeId": "p_8f3d9a2b" },
"dates": { "start": "2026-12-15T10:00:00Z", "end": "2026-12-20T10:00:00Z" }
}'
See Booking Workflow - Location Discovery for when to use station search.
Understand the Response
The API queries multiple providers in parallel. Expect responses in 1-20 seconds depending on provider response times. Show a loading indicator while waiting for results.
You'll receive aggregated results from all providers:
{
"success": true,
"data": {
"offers": [
{
"vehicle": {
"make": "Volkswagen",
"model": "Golf",
"category": "COMPACT"
},
"price": {
"totalPrice": {
"amount": 24500,
"currency": "EUR"
}
},
"offerToken": "eyJhbGci...",
"usableUntil": "2026-11-13T11:30:00Z"
}
// ... more offers
]
},
"meta": {
"requestId": "req_abc123-1731499800000"
}
}
Key Response Fields
- success:
trueif successful,falsewith error details if failed - offers: Array of available options from all providers
- price.totalPrice.amount: Total cost in smallest currency unit (24500 = €245.00)
- offerToken: Encrypted token needed for booking (time-limited, never modify)
- requestId: Include this when contacting support
See the OpenAPI Reference for complete schema details.
Request Flow Diagram
What's Next?
Your first API call returned offers aggregated from multiple providers. To complete a booking, use the offerToken to call the prebook endpoint, then use the returned prebookedOfferToken to create the booking.
Learn more in the Booking Workflow guide, or explore all available endpoints in the OpenAPI Reference.