Car API (carapi.app) Auth API
The Auth API from Car API (carapi.app) — 1 operation(s) for auth.
The Auth API from Car API (carapi.app) — 1 operation(s) for auth.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/car-api-auth-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
version: 1.10.20
title: Car Account Auth API
description: 'Welcome to [CarAPIs vehicle API](https://carapi.app) documentation. The developer friendly Car API.
Start developing with your vehicle API today — no fees, no signup. CarAPIs free vehicle data-set
requires no account. Only pay when you''re ready to go live. The free data-set is limited to 2015-2020 vehicles.
To access the full data-set you may [signup here](https://carapi.app/register) and then select a subscription plan.
**Additional Documentation**
For additional documentation please review [https://carapi.app/docs](https://carapi.app/docs).
**SDKs**
PHP SDK: [https://github.com/car-api-team/carapi-php-sdk](https://github.com/car-api-team/carapi-php-sdk)
**Release Updates**
Check release history here: [https://github.com/car-api-team/docs/releases](https://github.com/car-api-team/docs/releases)
'
servers:
- url: https://carapi.app
tags:
- name: Auth
paths:
/api/auth/login:
post:
operationId: auth:api:post
summary: Car API JWT Login
description: 'CarAPI uses JSON Web Tokens (JWT) to authenticate requests. You can generate a JWT using your API Token and
API Secret in SwaggerUI (this page) with the following steps:
- Click the "Try Out" button
- Enter API Token and API Secret in the JSON payload.
- Click Execute
- A JWT will be returned if the credentials are correct
- Next click the "Authorize" button at the top-right of Swagger UI (this page) and paste in the JWT.
Your JWT will now be sent with any request you make in Swagger until you refresh the page.
In your application code, Postman or cURL, you will need to pass the token in the HTTP Header as:
```
Authorization: Bearer {TOKEN_VALUE_HERE}
```
You should cache your JWT to avoid having to authenticate on each request. You must check the token''s
expiration value to determine when you need to generate a new token. Please refer to
[https://jwt.io/](https://jwt.io/) to learn more about JSON Web Tokens.
Your email address and password cannot be used to generate a JWT. You must use your API token and secret.
If you don''t yet have API credentials you must first [register](/register) and then generate a secret.
Users without a subscription will have limited data access.
For additional documentation please review [https://carapi.app/docs](https://carapi.app/docs).'
tags:
- Auth
requestBody:
content:
application/json:
schema:
required:
- api_token
- api_secret
properties:
api_token:
example: ''
type: string
api_secret:
example: ''
type: string
type: object
parameters: []
responses:
'200':
description: ''
content:
text/plain:
schema:
type: string
'400':
description: BadRequestException
content:
text/plain:
schema:
type: string
'401':
description: Authentication Failed
content:
text/plain:
schema:
type: string
'405':
description: MethodNotAllowedException
content:
text/plain:
schema:
type: string
'429':
description: 'TooManyRequestsException - Max Per Minute: 20'
content:
text/plain:
schema:
type: string
'500':
description: ServiceUnavailableException
content:
text/plain:
schema:
type: string
'503':
description: ServiceUnavailableException
content:
text/plain:
schema:
type: string
components:
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
x-swagger-bake:
components:
parameters:
paginatorPage:
name: page
in: query
required: false
schema:
type: integer
paginatorLimit:
name: limit
in: query
required: false
schema:
type: integer
paginatorSort:
name: sort
in: query
required: false
schema:
type: string
paginatorDirection:
name: direction
in: query
required: false
schema:
type: string
enum:
- asc
- desc
schemas:
HalJson-Item:
type: object
properties:
links:
type: object
properties:
self:
type: object
properties:
href:
type: string
format: url
example: /entity/:id
HalJson-Collection:
type: object
properties:
links:
type: object
properties:
self:
type: object
properties:
href:
type: string
format: url
example: /collection
next:
type: object
properties:
href:
type: string
format: url
example: /collection?page=:number
prev:
type: object
properties:
href:
type: string
format: url
example: /collection?page=:number
first:
type: object
properties:
href:
type: string
format: url
example: /collection?page=:number
properties:
href:
type: string
format: url
example: /collection?page=:number
last:
type: object
properties:
href:
type: string
format: url
example: /collection?page=:number
JsonLd-Item:
type: object
properties:
'@id':
type: string
format: url
example: /entity/:id
'@type':
type: string
format: url
example: https://schema.org/Thing
'@context':
type: string
format: url
example: /context/Entity
JsonLd-Collection:
type: object
properties:
'@id':
type: string
format: url
example: /entity/:id
'@type':
type: string
format: url
example: https://schema.org/Thing
'@context':
type: string
format: url
example: /context/Entity
view:
type: object
properties:
'@id':
type: string
format: url
example: /index
'@type':
type: string
example: PartialCollectionView
next:
type: string
format: url
example: /index?page=:number
prev:
type: string
format: url
example: /index?page=:number
first:
type: string
format: url
example: /index
last:
type: string
format: url
example: /index?page=:number
Generic-Collection:
properties:
collection:
properties:
url:
example: /collection
type: string
format: url
count:
example: 50
type: integer
pages:
example: 20
type: integer
total:
example: 200
type: integer
next:
example: /collection?page=:number
type: string
format: url
prev:
example: /collection?page=:number
type: string
format: url
first:
example: /collection?page=:number
type: string
format: url
last:
example: /collection?page=:number
type: string
format: url
type: object
type: object
x-data-element: data