Build and manage a vehicle owner's GetRentacar inventory through a stable HTTP API. The v302 API covers vehicles, images, protection settings, delivery rules, reference catalogs, and account-specific additional options.
v302 is a stable legacy API. Existing integrations remain supported. For a new integration, pin the version in every request and use the OpenAPI contract as the source of truth.
Quick start
1. Get an access token
Sign in to the owner account and follow the authentication guide. Keep the token on your server and never expose it in client-side source code.
2. Choose a server
| Environment | Base URL | Purpose |
|---|---|---|
| Production | https://getrentacar.com | Live account data |
| Test | https://test.grcbox.org | Integration verification |
3. Make a public request
This request returns the available vehicle segments and does not require authentication:
curl --request GET \ --url "https://getrentacar.com/api/v302/vehicles/segments?locale_id=40" \ --header "Accept: application/json"
Successful responses are JSON:
{ "list": [ { "id": 1, "name": "Cars", "realm": "cars" } ]
}
4. Make an authenticated request
Pass the token with the standard Bearer authorization scheme:
curl --request GET \ --url "https://getrentacar.com/api/v302/vehicles/list?user_id=<USER_ID>&locale_id=40" \ --header "Accept: application/json" \ --header "Authorization: Bearer {YOUR_API_TOKEN}"
Request conventions
- GET parameters are passed in the query string.
- POST parameters use
application/x-www-form-urlencoded, except image upload, which usesmultipart/form-data. - Array values use repeated keys such as
vehicle_images[]=101&vehicle_images[]=102. locale_id=40selects English. Use the locales endpoint for other values.- IDs are integers unless a method explicitly documents another type.
- The authenticated token must belong to the owner whose resources are being accessed.
Response conventions
Successful responses contain the requested resource or a list field. On test and non-production environments, a meta object may also describe the request:
{ "meta": { "method": "GET", "path": "/api/v302/vehicles/segments", "api_version": 302 }, "list": []
}
Errors use an errors object. Always inspect both the HTTP status and response body:
{ "errors": { "message": "validation error", "code": 400 }
}