Health & contract
Check service dependencies and inspect the API index.
Unauthenticated process liveness probe.
Requires the none — no API key required scope.
Example request
GET https://api.thecarapi.com/api/health/liveExample response
{
"status": "ok",
"service": "car-details-api",
"contract_version": "2026-08-19"
}Unauthenticated readiness probe — is the data layer reachable?
Requires the none — no API key required scope.
Example request
GET https://api.thecarapi.com/api/health/readyExample response
{
"status": "ready",
"service": "car-details-api",
"contract_version": "2026-08-19"
}Return service, database-feed, Typesense, and schema health.
Requires the ops scope.
Example requests
GET https://api.thecarapi.com/api/healthcurl -H "Authorization: Bearer $API_KEY" "https://api.thecarapi.com/api/health"Example response
{
"status": "healthy",
"service": "car-details-api",
"contract_version": "2026-08-19",
"typesense": {
"enabled": true,
"running": true
},
"public_auction_feed": {
"enabled": true,
"fresh": true
},
"schema_findings": []
}Machine-readable schema catalog, pagination limits, and live-price capability.
Requires the ops scope.
Example requests
GET https://api.thecarapi.com/api/contractcurl -H "X-API-Key: $API_KEY" "https://api.thecarapi.com/api/contract"Example response
{
"success": true,
"version": "2026-08-19",
"schemas": {
"search_result_card": {
"required": [],
"optional": []
}
},
"pagination": {
"max_limit": 100,
"max_offset": 5000
},
"live_prices": {
"enabled": true,
"sites": [
"openlane",
"ecarstrade"
],
"ttl_seconds": 120
}
}What you get back
versionstringThe contract version this deployment serves — the same value every response carries as contract_version.
schemasobjectRequired and optional keys per response shape. This is the authoritative machine-readable schema; prefer it to hardcoding field lists. As of 2026-08-19, auction_detail.optional lists vault_gallery and brands_models_facets.optional lists errors — gate on those rather than comparing version strings.
paginationobjectmax_limit and max_offset for paged endpoints.
live_pricesobjectWhether this deployment refreshes a running auction’s price when its detail is read ({ enabled, sites, ttl_seconds }). Read sites from here rather than hardcoding it. The whole block is absent on a build from before the feature — that absence is the only way to tell “this deployment cannot refresh prices” from “this car has none right now”, because both look identical in a detail response.
Return the human-readable API index and service version.
Requires the ops scope.
Example requests
GET https://api.thecarapi.com/curl -H "X-API-Key: $API_KEY" "https://api.thecarapi.com/"Example response
{
"service": "Car Details API",
"version": "2.0.0",
"endpoints": {
"GET /api/search": "Search auction inventory",
"GET /api/health": "Service health"
}
}Executor and connection-pool diagnostics.
Requires the ops scope.
Example request
GET https://api.thecarapi.com/api/diagnosticsExample response
{
"success": true,
"executors": {},
"pools": {}
}