Skip to Content
Overview

Paintbase API

https://api.paintbase.app

Authentication

Authorization: Bearer <api_key>

Endpoints

GET /v1/test

Used to test your api key.


GET /v1/vehicle/:regno/:country

Lookup vehicle data by registration number and country.

  • country must be one of: SE, NL, NO

Response 200 OK

{ "display_name": "string", "vin": "string", "make": "string", "model": "string", "color_code": "string", "year": "string" }

Rate limit response headers

  • X-RateLimit-Limit
  • X-RateLimit-Remaining
  • X-RateLimit-Reset

Errors

Common response codes:

  • 400 Invalid input (for example VIN length or country code)
  • 401 Missing or invalid API key
  • 403 Out of credits
  • 404 Vehicle or route not found
  • 502 Upstream provider unavailable

Example error response

{ "error": "Bad Gateway", "message": "Failed to reach the upstream data provider. Please try again later." }

Test License Plates

Use these special registration numbers on GET /v1/vehicle/:regno/:country (any valid country code) to get deterministic hardcoded responses without hitting the upstream provider. Plates are case-insensitive.

PlateScenarioStatusDelayResponse
TEST001Citroën200Citroën C3, color KKN
TEST002Vehicle not found404Empty body
TEST003Sparse data200Only make: "Toyota", all other fields null
TEST004Compound make200Mercedes-Benz E 220 D, color 197
TEST005Slow response20025 sVolvo V60, color 717
TEST006Upstream server error500Empty body

Example

GET /v1/vehicle/TEST001/SE Authorization: Bearer <api_key>
{ "display_name": "Citroen C3", "vin": "VF7SAHMZ0EW512345", "make": "Citroën", "model": "C3", "color_code": "KKN (Elixir red)", "year": "2020" }
Last updated on