openapi: 3.0.0 info: version: 1.10.20 title: Car 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: Account - name: Auth - name: Bodies - name: Colors (Exterior) - name: Colors (Interior) - name: Data Feeds - name: Engines - name: Makes - name: Mileages - name: Models - name: Trims - name: Vehicle Attributes - name: Vin Decoder - name: Years paths: "/api/account/requests": get: operationId: account:requests:get summary: Car API Get API Usage description: |- Returns the total requests made by your account since last month to rate-limited endpoints. All dates are reported using UTC/GMT -5 (US Eastern Standard Time). tags: - Account parameters: [] responses: '200': description: '' content: application/json: schema: items: properties: date: example: '2023-01-01' type: string format: date count: example: 203 type: integer type: array application/ld+json: schema: items: properties: date: example: '2023-01-01' type: string format: date count: example: 203 type: integer type: array application/hal+json: schema: items: properties: date: example: '2023-01-01' type: string format: date count: example: 203 type: integer type: array '400': description: BadRequestException content: application/json: schema: title: BadRequestException properties: exception: example: BadRequestException type: string code: example: 400 type: string url: example: "/url/path" type: string message: example: The request contains invalid data. The returned error message should indicate the issue. type: string '405': description: MethodNotAllowedException content: application/json: schema: title: MethodNotAllowedException properties: exception: example: MethodNotAllowedException type: string code: example: 405 type: string url: example: "/url/path" type: string message: example: The HTTP method used to request this resource is not valid. For example, using an HTTP POST when the endpoint only accepts HTTP GET. type: string '429': description: 'TooManyRequestsException - Max Per Minute: 600' content: application/json: schema: title: TooManyRequestsException properties: exception: example: TooManyRequestsException type: string code: example: 429 type: string url: example: "/url/path" type: string message: example: 'TooManyRequestsException - Max Per Minute: 600 (note: daily rate limits may apply, see your subscription plans details)' type: string '500': description: UnauthenticatedException content: application/json: schema: "$ref": "#/components/schemas/Exception" application/ld+json: schema: "$ref": "#/components/schemas/Exception" application/hal+json: schema: "$ref": "#/components/schemas/Exception" '503': description: ServiceUnavailableException content: application/json: schema: title: ServiceUnavailableException properties: exception: example: ServiceUnavailableException type: string code: example: 503 type: string url: example: "/url/path" type: string message: example: The server is unavailable, typically only encountered during scheduled maintenance. type: string security: - bearerAuth: [] "/api/account/requests-today": get: operationId: account:requeststoday:get summary: Car API Get Today's API Usage description: |- Returns the total requests made by your account today to rate-limited endpoints. All dates are reported using UTC/GMT -5 (US Eastern Standard Time). tags: - Account parameters: [] responses: '200': description: '' content: application/json: schema: properties: count: example: 42 type: integer type: object application/ld+json: schema: properties: count: example: 42 type: integer type: object application/hal+json: schema: properties: count: example: 42 type: integer type: object '400': description: BadRequestException content: application/json: schema: title: BadRequestException properties: exception: example: BadRequestException type: string code: example: 400 type: string url: example: "/url/path" type: string message: example: The request contains invalid data. The returned error message should indicate the issue. type: string '405': description: MethodNotAllowedException content: application/json: schema: title: MethodNotAllowedException properties: exception: example: MethodNotAllowedException type: string code: example: 405 type: string url: example: "/url/path" type: string message: example: The HTTP method used to request this resource is not valid. For example, using an HTTP POST when the endpoint only accepts HTTP GET. type: string '500': description: UnauthenticatedException content: application/json: schema: "$ref": "#/components/schemas/Exception" application/ld+json: schema: "$ref": "#/components/schemas/Exception" application/hal+json: schema: "$ref": "#/components/schemas/Exception" '503': description: ServiceUnavailableException content: application/json: schema: title: ServiceUnavailableException properties: exception: example: ServiceUnavailableException type: string code: example: 503 type: string url: example: "/url/path" type: string message: example: The server is unavailable, typically only encountered during scheduled maintenance. type: string security: - bearerAuth: [] "/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 "/api/bodies": get: operationId: makemodeltrimbodies:index:get summary: Car API Search vehicle bodies description: |- To include additional information about the returned body (such as year, make, model and trim) request with the query parameter as `verbose=yes`. For complex queries you may use the json field to send an array of URL encoded JSON conditions, example: `[{"field": "doors", "op": ">=", "val": 4}, {"field": "type", "op": "in", "val": ["SUV","Van"]}]` See `/api/vehicle-attributes` for a complete list of vehicle attributes. JSON operators: `=`, `!=`, `>`, `<`, `>=`, `<=`, `in`, `not in`, `like`, `not like`, `not null`, and `is null`. JSON search fields: `year`, `make`, `model`, `trim`, `type`, `doors`, `seats`, `length`, `width`, `height`, `wheel_base`, `front_track`, `rear_track`, `ground_clearance`, `cargo_capacity`, `max_cargo_capacity`, `curb_weight`, `gross_weight`, `max_payload`, `max_towing_capacity`, `make_model_trim_id`, `created`, `modified`, `make_id`, and `make_model_id`. tags: - Bodies externalDocs: url: https://carapi.app/features/json-api-specs#bodies description: Documentation parameters: - "$ref": "#/x-swagger-bake/components/parameters/paginatorPage" - "$ref": "#/x-swagger-bake/components/parameters/paginatorLimit" - in: query name: sort required: false schema: type: string enum: - id - make_model_trim_id - type - doors - length - width - seats - height - wheel_base - front_track - rear_track - ground_clearance - cargo_capacity - max_cargo_capacity - curb_weight - gross_weight - max_payload - max_towing_capacity - "$ref": "#/x-swagger-bake/components/parameters/paginatorDirection" - in: query name: verbose description: Includes make, model and trim required: false schema: type: string enum: - 'yes' - 'no' - in: query name: make_model_id required: false schema: type: string description: Value - in: query name: make_id required: false schema: type: string description: Value - in: query name: year required: false schema: type: string description: Value - in: query name: make required: false schema: type: string description: Like - in: query name: model required: false schema: type: string description: Like - in: query name: trim required: false schema: type: string description: Like - in: query name: make_model_trim_id required: false schema: type: string description: Value - in: query name: type required: false schema: type: string description: Like - in: query name: doors required: false schema: type: string description: Value - in: query name: json required: false schema: type: string description: JsonSearchFilter responses: '200': description: '' content: application/json: schema: properties: data: items: type: object allOf: - "$ref": "#/components/schemas/MakeModelTrimBody" type: array allOf: - "$ref": "#/x-swagger-bake/components/schemas/Generic-Collection" application/ld+json: schema: properties: member: items: type: object allOf: - "$ref": "#/x-swagger-bake/components/schemas/JsonLd-Item" - "$ref": "#/components/schemas/MakeModelTrimBody" type: array allOf: - "$ref": "#/x-swagger-bake/components/schemas/JsonLd-Collection" application/hal+json: schema: properties: _embedded: items: type: object allOf: - "$ref": "#/x-swagger-bake/components/schemas/HalJson-Item" - "$ref": "#/components/schemas/MakeModelTrimBody" type: array allOf: - "$ref": "#/x-swagger-bake/components/schemas/HalJson-Collection" '400': description: BadRequestException content: application/json: schema: title: BadRequestException properties: exception: example: BadRequestException type: string code: example: 400 type: string url: example: "/url/path" type: string message: example: The request contains invalid data. The returned error message should indicate the issue. type: string '405': description: MethodNotAllowedException content: application/json: schema: title: MethodNotAllowedException properties: exception: example: MethodNotAllowedException type: string code: example: 405 type: string url: example: "/url/path" type: string message: example: The HTTP method used to request this resource is not valid. For example, using an HTTP POST when the endpoint only accepts HTTP GET. type: string '429': description: 'TooManyRequestsException - Max Per Minute: 600' content: application/json: schema: title: TooManyRequestsException properties: exception: example: TooManyRequestsException type: string code: example: 429 type: string url: example: "/url/path" type: string message: example: 'TooManyRequestsException - Max Per Minute: 600 (note: daily rate limits may apply, see your subscription plans details)' type: string '503': description: ServiceUnavailableException content: application/json: schema: title: ServiceUnavailableException properties: exception: example: ServiceUnavailableException type: string code: example: 503 type: string url: example: "/url/path" type: string message: example: The server is unavailable, typically only encountered during scheduled maintenance. type: string security: - bearerAuth: [] "/api/data-feeds/download": get: operationId: datafeeds:download:get summary: Car API Get Data Feed description: |- Returns a datafeed as a CSV compressed in a ZIP for download, you must subscribe to this product through your dashboard. tags: - Data Feeds externalDocs: url: https://carapi.app/sample-opendatafeed description: '' parameters: [] responses: '200': description: '' content: text/plain: schema: type: string format: file '400': description: BadRequestException content: text/plain: schema: type: string '401': description: Authentication Failed content: text/plain: schema: type: string '403': description: ForbiddenException content: text/plain: schema: type: string '405': description: MethodNotAllowedException content: text/plain: schema: type: string '429': description: 'TooManyRequestsException - Max Per Minute: 600' content: text/plain: schema: type: string '500': description: ServiceUnavailableException content: text/plain: schema: type: string application/json: schema: "$ref": "#/components/schemas/Exception" application/ld+json: schema: "$ref": "#/components/schemas/Exception" application/hal+json: schema: "$ref": "#/components/schemas/Exception" '503': description: ServiceUnavailableException content: text/plain: schema: type: string security: - bearerAuth: [] "/api/data-feeds/last-updated": get: operationId: datafeeds:lastupdated:get summary: Car API Data Feed Last Updated description: Returns last modified timestamp of the data feed. All times are United States Eastern Standard Time (EST). tags: - Data Feeds parameters: [] responses: '200': description: '' content: application/json: schema: properties: last_updated: example: '2023-01-01 12:00:00' type: string format: date-time type: object application/ld+json: schema: properties: last_updated: example: '2023-01-01 12:00:00' type: string format: date-time type: object application/hal+json: schema: properties: last_updated: example: '2023-01-01 12:00:00' type: string format: date-time type: object '400': description: BadRequestException content: application/json: schema: title: BadRequestException properties: exception: example: BadRequestException type: string code: example: 400 type: string url: example: "/url/path" type: string message: example: The request contains invalid data. The returned error message should indicate the issue. type: string '405': description: MethodNotAllowedException content: application/json: schema: title: MethodNotAllowedException properties: exception: example: MethodNotAllowedException type: string code: example: 405 type: string url: example: "/url/path" type: string message: example: The HTTP method used to request this resource is not valid. For example, using an HTTP POST when the endpoint only accepts HTTP GET. type: string '429': description: 'TooManyRequestsException - Max Per Minute: 600' content: application/json: schema: title: TooManyRequestsException properties: exception: example: TooManyRequestsException type: string code: example: 429 type: string url: example: "/url/path" type: string message: example: 'TooManyRequestsException - Max Per Minute: 600 (note: daily rate limits may apply, see your subscription plans details)' type: string '503': description: ServiceUnavailableException content: application/json: schema: title: ServiceUnavailableException properties: exception: example: ServiceUnavailableException type: string code: example: 503 type: string url: example: "/url/path" type: string message: example: The server is unavailable, typically only encountered during scheduled maintenance. type: string security: - bearerAuth: [] "/api/engines": get: operationId: makemodeltrimengines:index:get summary: Car API Search vehicle engines description: |- To include additional information about the returned body (such as year, make, model and trim) request with the query parameter as `verbose=yes`. For complex queries you may use the json field to send an array of URL encoded JSON conditions, example: `[{"field": "horsepower_hp", "op": ">=", "val": 100}, {"field": "horsepower_hp", "op": "<=", "val": 300}]` See `/api/vehicle-attributes` for a complete list of vehicle attributes. JSON operators: `=`, `!=`, `>`, `<`, `>=`, `<=`, `in`, `not in`, `like`, `not like`, `not null`, and `is null`. JSON search fields: `year`, `make`, `model`, `trim`, `fuel_type`, `engine_type`, `transmission`, `drive_type`, `cam_type`, `valve_timing`, `valves`, `horsepower_hp`, `size`, `cylinders`, `created`, `modified`, `make_id`, `make_model_id`, and `make_model_trim_id`. tags: - Engines externalDocs: url: https://carapi.app/features/json-api-specs#engines description: Documentation parameters: - "$ref": "#/x-swagger-bake/components/parameters/paginatorPage" - "$ref": "#/x-swagger-bake/components/parameters/paginatorLimit" - in: query name: sort required: false schema: type: string enum: - id - make_model_trim_id - engine_type - fuel_type - cylinders - size - horsepower_hp - horsepower_rpm - torque_ft_lbs - torque_rpm - valves - valve_timing - cam_type - drive_type - transmission - "$ref": "#/x-swagger-bake/components/parameters/paginatorDirection" - in: query name: verbose description: Includes make, model and trim required: false schema: type: string enum: - 'yes' - 'no' - in: query name: make_model_trim_id required: false schema: type: string description: Value - in: query name: cylinders required: false schema: type: string description: Like - in: query name: size required: false schema: type: string description: Value - in: query name: horsepower_hp required: false schema: type: string description: Value - in: query name: valves required: false schema: type: string description: Value - in: query name: valve_timing required: false schema: type: string description: Like - in: query name: cam_type required: false schema: type: string description: Like - in: query name: drive_type required: false schema: type: string description: Like - in: query name: transmission required: false schema: type: string description: Like - in: query name: engine_type required: false schema: type: string description: Like - in: query name: fuel_type required: false schema: type: string description: Like - in: query name: make_model_id required: false schema: type: string description: Value - in: query name: make_id required: false schema: type: string description: Value - in: query name: year required: false schema: type: string description: Value - in: query name: make required: false schema: type: string description: Like - in: query name: model required: false schema: type: string description: Like - in: query name: trim required: false schema: type: string description: Like - in: query name: json required: false schema: type: string description: JsonSearchFilter responses: '200': description: '' content: application/json: schema: properties: data: items: type: object allOf: - "$ref": "#/components/schemas/MakeModelTrimEngine" type: array allOf: - "$ref": "#/x-swagger-bake/components/schemas/Generic-Collection" application/ld+json: schema: properties: member: items: type: object allOf: - "$ref": "#/x-swagger-bake/components/schemas/JsonLd-Item" - "$ref": "#/components/schemas/MakeModelTrimEngine" type: array allOf: - "$ref": "#/x-swagger-bake/components/schemas/JsonLd-Collection" application/hal+json: schema: properties: _embedded: items: type: object allOf: - "$ref": "#/x-swagger-bake/components/schemas/HalJson-Item" - "$ref": "#/components/schemas/MakeModelTrimEngine" type: array allOf: - "$ref": "#/x-swagger-bake/components/schemas/HalJson-Collection" '400': description: BadRequestException content: application/json: schema: title: BadRequestException properties: exception: example: BadRequestException type: string code: example: 400 type: string url: example: "/url/path" type: string message: example: The request contains invalid data. The returned error message should indicate the issue. type: string '405': description: MethodNotAllowedException content: application/json: schema: title: MethodNotAllowedException properties: exception: example: MethodNotAllowedException type: string code: example: 405 type: string url: example: "/url/path" type: string message: example: The HTTP method used to request this resource is not valid. For example, using an HTTP POST when the endpoint only accepts HTTP GET. type: string '429': description: 'TooManyRequestsException - Max Per Minute: 600' content: application/json: schema: title: TooManyRequestsException properties: exception: example: TooManyRequestsException type: string code: example: 429 type: string url: example: "/url/path" type: string message: example: 'TooManyRequestsException - Max Per Minute: 600 (note: daily rate limits may apply, see your subscription plans details)' type: string '503': description: ServiceUnavailableException content: application/json: schema: title: ServiceUnavailableException properties: exception: example: ServiceUnavailableException type: string code: example: 503 type: string url: example: "/url/path" type: string message: example: The server is unavailable, typically only encountered during scheduled maintenance. type: string security: - bearerAuth: [] "/api/exterior-colors": get: operationId: makemodeltrimexteriorcolors:index:get summary: Car API Search vehicle exterior colors description: |- To include additional information about the returned body (such as year, make, model and trim) request with the query parameter as `verbose=yes`. For complex queries you may use the json field to send an array of URL encoded JSON conditions, example: `[{"field": "name", "op": "in", "val": ["red", "blue"]}]` JSON operators: `=`, `!=`, `>`, `<`, `>=`, `<=`, `in`, `not in`, `like`, `not like`, `not null`, and `is null`. JSON search fields: `year`, `make`, `model`, `trim`, `name`, `rgb`, `created`, `modified`, `make_id`, `make_model_id`, and `make_model_trim_id`. tags: - Colors (Exterior) externalDocs: url: https://carapi.app/features/json-api-specs#colors description: Documentation parameters: - "$ref": "#/x-swagger-bake/components/parameters/paginatorPage" - "$ref": "#/x-swagger-bake/components/parameters/paginatorLimit" - in: query name: sort required: false schema: type: string enum: - id - make_model_trim_id - name - rgb - "$ref": "#/x-swagger-bake/components/parameters/paginatorDirection" - in: query name: verbose description: Includes make, model and trim required: false schema: type: string enum: - 'yes' - 'no' - in: query name: make_model_trim_id required: false schema: type: string description: Value - in: query name: make_model_id required: false schema: type: string description: Value - in: query name: make_id required: false schema: type: string description: Value - in: query name: name required: false schema: type: string description: Like - in: query name: rgb required: false schema: type: string description: Value - in: query name: year required: false schema: type: string description: Value - in: query name: make required: false schema: type: string description: Like - in: query name: model required: false schema: type: string description: Like - in: query name: trim required: false schema: type: string description: Like - in: query name: json required: false schema: type: string description: JsonSearchFilter responses: '200': description: '' content: application/json: schema: properties: data: items: type: object allOf: - "$ref": "#/components/schemas/MakeModelTrimExteriorColor" type: array allOf: - "$ref": "#/x-swagger-bake/components/schemas/Generic-Collection" application/ld+json: schema: properties: member: items: type: object allOf: - "$ref": "#/x-swagger-bake/components/schemas/JsonLd-Item" - "$ref": "#/components/schemas/MakeModelTrimExteriorColor" type: array allOf: - "$ref": "#/x-swagger-bake/components/schemas/JsonLd-Collection" application/hal+json: schema: properties: _embedded: items: type: object allOf: - "$ref": "#/x-swagger-bake/components/schemas/HalJson-Item" - "$ref": "#/components/schemas/MakeModelTrimExteriorColor" type: array allOf: - "$ref": "#/x-swagger-bake/components/schemas/HalJson-Collection" '400': description: BadRequestException content: application/json: schema: title: BadRequestException properties: exception: example: BadRequestException type: string code: example: 400 type: string url: example: "/url/path" type: string message: example: The request contains invalid data. The returned error message should indicate the issue. type: string '405': description: MethodNotAllowedException content: application/json: schema: title: MethodNotAllowedException properties: exception: example: MethodNotAllowedException type: string code: example: 405 type: string url: example: "/url/path" type: string message: example: The HTTP method used to request this resource is not valid. For example, using an HTTP POST when the endpoint only accepts HTTP GET. type: string '429': description: 'TooManyRequestsException - Max Per Minute: 600' content: application/json: schema: title: TooManyRequestsException properties: exception: example: TooManyRequestsException type: string code: example: 429 type: string url: example: "/url/path" type: string message: example: 'TooManyRequestsException - Max Per Minute: 600 (note: daily rate limits may apply, see your subscription plans details)' type: string '503': description: ServiceUnavailableException content: application/json: schema: title: ServiceUnavailableException properties: exception: example: ServiceUnavailableException type: string code: example: 503 type: string url: example: "/url/path" type: string message: example: The server is unavailable, typically only encountered during scheduled maintenance. type: string security: - bearerAuth: [] "/api/interior-colors": get: operationId: makemodeltriminteriorcolors:index:get summary: Car API Search vehicle interior colors description: |- To include additional information about the returned body (such as year, make, model and trim) request with the query parameter as `verbose=yes`. For complex queries you may use the json field to send an array of URL encoded JSON conditions, example: `[{"field": "name", "op": "in", "val": ["red", "blue"]}]` JSON operators: `=`, `!=`, `>`, `<`, `>=`, `<=`, `in`, `not in`, `like`, `not like`, `not null`, and `is null`. JSON search fields: `year`, `make`, `model`, `trim`, `name`, `rgb`, `created`, `modified`, `make_id`, `make_model_id`, and `make_model_trim_id`. tags: - Colors (Interior) externalDocs: url: https://carapi.app/features/json-api-specs#colors description: Documentation parameters: - "$ref": "#/x-swagger-bake/components/parameters/paginatorPage" - "$ref": "#/x-swagger-bake/components/parameters/paginatorLimit" - in: query name: sort required: false schema: type: string enum: - id - make_model_trim_id - name - rgb - "$ref": "#/x-swagger-bake/components/parameters/paginatorDirection" - in: query name: verbose description: Includes make, model and trim required: false schema: type: string enum: - 'yes' - 'no' - in: query name: make_model_trim_id required: false schema: type: string description: Value - in: query name: make_model_id required: false schema: type: string description: Value - in: query name: make_id required: false schema: type: string description: Value - in: query name: name required: false schema: type: string description: Like - in: query name: rgb required: false schema: type: string description: Value - in: query name: year required: false schema: type: string description: Value - in: query name: make required: false schema: type: string description: Like - in: query name: model required: false schema: type: string description: Like - in: query name: trim required: false schema: type: string description: Like - in: query name: json required: false schema: type: string description: JsonSearchFilter responses: '200': description: '' content: application/json: schema: properties: data: items: type: object allOf: - "$ref": "#/components/schemas/MakeModelTrimInteriorColor" type: array allOf: - "$ref": "#/x-swagger-bake/components/schemas/Generic-Collection" application/ld+json: schema: properties: member: items: type: object allOf: - "$ref": "#/x-swagger-bake/components/schemas/JsonLd-Item" - "$ref": "#/components/schemas/MakeModelTrimInteriorColor" type: array allOf: - "$ref": "#/x-swagger-bake/components/schemas/JsonLd-Collection" application/hal+json: schema: properties: _embedded: items: type: object allOf: - "$ref": "#/x-swagger-bake/components/schemas/HalJson-Item" - "$ref": "#/components/schemas/MakeModelTrimInteriorColor" type: array allOf: - "$ref": "#/x-swagger-bake/components/schemas/HalJson-Collection" '400': description: BadRequestException content: application/json: schema: title: BadRequestException properties: exception: example: BadRequestException type: string code: example: 400 type: string url: example: "/url/path" type: string message: example: The request contains invalid data. The returned error message should indicate the issue. type: string '405': description: MethodNotAllowedException content: application/json: schema: title: MethodNotAllowedException properties: exception: example: MethodNotAllowedException type: string code: example: 405 type: string url: example: "/url/path" type: string message: example: The HTTP method used to request this resource is not valid. For example, using an HTTP POST when the endpoint only accepts HTTP GET. type: string '429': description: 'TooManyRequestsException - Max Per Minute: 600' content: application/json: schema: title: TooManyRequestsException properties: exception: example: TooManyRequestsException type: string code: example: 429 type: string url: example: "/url/path" type: string message: example: 'TooManyRequestsException - Max Per Minute: 600 (note: daily rate limits may apply, see your subscription plans details)' type: string '503': description: ServiceUnavailableException content: application/json: schema: title: ServiceUnavailableException properties: exception: example: ServiceUnavailableException type: string code: example: 503 type: string url: example: "/url/path" type: string message: example: The server is unavailable, typically only encountered during scheduled maintenance. type: string security: - bearerAuth: [] "/api/makes": get: operationId: makes:index:get summary: Car API Get Makes description: Search makes by name and year. tags: - Makes parameters: - "$ref": "#/x-swagger-bake/components/parameters/paginatorPage" - "$ref": "#/x-swagger-bake/components/parameters/paginatorLimit" - in: query name: sort required: false schema: type: string enum: - id - name - "$ref": "#/x-swagger-bake/components/parameters/paginatorDirection" - in: query name: make required: false schema: type: string description: Like - in: query name: year required: false schema: type: string description: Value responses: '200': description: '' content: application/json: schema: properties: data: items: type: object allOf: - "$ref": "#/components/schemas/Make" type: array allOf: - "$ref": "#/x-swagger-bake/components/schemas/Generic-Collection" application/ld+json: schema: properties: member: items: type: object allOf: - "$ref": "#/x-swagger-bake/components/schemas/JsonLd-Item" - "$ref": "#/components/schemas/Make" type: array allOf: - "$ref": "#/x-swagger-bake/components/schemas/JsonLd-Collection" application/hal+json: schema: properties: _embedded: items: type: object allOf: - "$ref": "#/x-swagger-bake/components/schemas/HalJson-Item" - "$ref": "#/components/schemas/Make" type: array allOf: - "$ref": "#/x-swagger-bake/components/schemas/HalJson-Collection" '400': description: BadRequestException content: application/json: schema: title: BadRequestException properties: exception: example: BadRequestException type: string code: example: 400 type: string url: example: "/url/path" type: string message: example: The request contains invalid data. The returned error message should indicate the issue. type: string '405': description: MethodNotAllowedException content: application/json: schema: title: MethodNotAllowedException properties: exception: example: MethodNotAllowedException type: string code: example: 405 type: string url: example: "/url/path" type: string message: example: The HTTP method used to request this resource is not valid. For example, using an HTTP POST when the endpoint only accepts HTTP GET. type: string '503': description: ServiceUnavailableException content: application/json: schema: title: ServiceUnavailableException properties: exception: example: ServiceUnavailableException type: string code: example: 503 type: string url: example: "/url/path" type: string message: example: The server is unavailable, typically only encountered during scheduled maintenance. type: string security: - bearerAuth: [] "/api/mileages": get: operationId: makemodeltrimmileages:index:get summary: Car API Search vehicle mileages description: |- To include additional information about the returned body (such as year, make, model and trim) request with the query parameter as `verbose=yes`. For complex queries you may use the json field to send an array of URL encoded JSON conditions, example: `[{"field": "combined_mpg", "op": ">=", "val": 20}, {"field": "combined_mpg", "op": "<=", "val": 30}]` JSON operators: `=`, `!=`, `>`, `<`, `>=`, `<=`, `in`, `not in`, `like`, `not like`, `not null`, and `is null`. JSON search fields: `year`, `make`, `model`, `trim`, `fuel_tank_capacity`, `combined_mpg`, `epa_city_mpg`, `epa_highway_mpg`, `range_city`, `range_highway`, `epa_combined_mpg_electric`, `epa_city_mpg_electric`, `epa_highway_mpg_electric`, `range_electric`, `epa_kwh_100_mi_electric`, `epa_time_to_charge_hr_240v_electric`, `battery_capacity_electric`, `created`, `modified`, `make_id`, `make_model_id`, and `make_model_trim_id`. tags: - Mileages externalDocs: url: https://carapi.app/features/json-api-specs#mileages description: Documentation parameters: - "$ref": "#/x-swagger-bake/components/parameters/paginatorPage" - "$ref": "#/x-swagger-bake/components/parameters/paginatorLimit" - in: query name: sort required: false schema: type: string enum: - id - make_model_trim_id - fuel_tank_capacity - combined_mpg - epa_city_mpg - epa_highway_mpg - range_city - range_highway - battery_capacity_electric - epa_time_to_charge_hr_240v_electric - epa_kwh_100_mi_electric - range_electric - epa_highway_mpg_electric - epa_city_mpg_electric - epa_combined_mpg_electric - "$ref": "#/x-swagger-bake/components/parameters/paginatorDirection" - in: query name: verbose description: Includes make, model and trim required: false schema: type: string enum: - 'yes' - 'no' - in: query name: make_model_trim_id required: false schema: type: string description: Value - in: query name: combined_mpg required: false schema: type: string description: Value - in: query name: epa_city_mpg required: false schema: type: string description: Value - in: query name: epa_highway_mpg required: false schema: type: string description: Value - in: query name: range_city required: false schema: type: string description: Value - in: query name: range_highway required: false schema: type: string description: Value - in: query name: make_model_id required: false schema: type: string description: Value - in: query name: make_id required: false schema: type: string description: Value - in: query name: year required: false schema: type: string description: Value - in: query name: make required: false schema: type: string description: Like - in: query name: model required: false schema: type: string description: Like - in: query name: trim required: false schema: type: string description: Like - in: query name: json required: false schema: type: string description: JsonSearchFilter responses: '200': description: '' content: application/json: schema: properties: data: items: type: object allOf: - "$ref": "#/components/schemas/MakeModelTrimMileage" type: array allOf: - "$ref": "#/x-swagger-bake/components/schemas/Generic-Collection" application/ld+json: schema: properties: member: items: type: object allOf: - "$ref": "#/x-swagger-bake/components/schemas/JsonLd-Item" - "$ref": "#/components/schemas/MakeModelTrimMileage" type: array allOf: - "$ref": "#/x-swagger-bake/components/schemas/JsonLd-Collection" application/hal+json: schema: properties: _embedded: items: type: object allOf: - "$ref": "#/x-swagger-bake/components/schemas/HalJson-Item" - "$ref": "#/components/schemas/MakeModelTrimMileage" type: array allOf: - "$ref": "#/x-swagger-bake/components/schemas/HalJson-Collection" '400': description: BadRequestException content: application/json: schema: title: BadRequestException properties: exception: example: BadRequestException type: string code: example: 400 type: string url: example: "/url/path" type: string message: example: The request contains invalid data. The returned error message should indicate the issue. type: string '405': description: MethodNotAllowedException content: application/json: schema: title: MethodNotAllowedException properties: exception: example: MethodNotAllowedException type: string code: example: 405 type: string url: example: "/url/path" type: string message: example: The HTTP method used to request this resource is not valid. For example, using an HTTP POST when the endpoint only accepts HTTP GET. type: string '429': description: 'TooManyRequestsException - Max Per Minute: 600' content: application/json: schema: title: TooManyRequestsException properties: exception: example: TooManyRequestsException type: string code: example: 429 type: string url: example: "/url/path" type: string message: example: 'TooManyRequestsException - Max Per Minute: 600 (note: daily rate limits may apply, see your subscription plans details)' type: string '503': description: ServiceUnavailableException content: application/json: schema: title: ServiceUnavailableException properties: exception: example: ServiceUnavailableException type: string code: example: 503 type: string url: example: "/url/path" type: string message: example: The server is unavailable, typically only encountered during scheduled maintenance. type: string security: - bearerAuth: [] "/api/models": get: operationId: makemodels:index:get summary: Car API Get Models description: |- Search models by year, make, model, trim or make_id. To include the models make in the description request with the query parameter as `verbose=yes`. For complex queries you may use the json field to send an array of URL encoded JSON conditions, example: `[{"field": "make", "op": "in", "val": ["Ford", "Acura"]}, {"field": "year", "op": ">=", "val": 2010}]` JSON operators: `=`, `!=`, `>`, `<`, `>=`, `<=`, `in`, `not in`, `like`, `not like`, `not null`, and `is null`. JSON search fields: `year`, `make`, `model`, `make_id`, `created`, and `modified`. tags: - Models parameters: - "$ref": "#/x-swagger-bake/components/parameters/paginatorPage" - "$ref": "#/x-swagger-bake/components/parameters/paginatorLimit" - in: query name: sort required: false schema: type: string enum: - id - make_id - name - "$ref": "#/x-swagger-bake/components/parameters/paginatorDirection" - in: query name: verbose description: Includes make and model required: false schema: type: string enum: - 'yes' - 'no' - in: query name: year required: false schema: type: string description: Value - in: query name: make required: false schema: type: string description: Like - in: query name: model required: false schema: type: string description: Like - in: query name: make_id required: false schema: type: string description: Value - in: query name: json required: false schema: type: string description: JsonSearchFilter responses: '200': description: '' content: application/json: schema: properties: data: items: type: object allOf: - "$ref": "#/components/schemas/MakeModel" type: array allOf: - "$ref": "#/x-swagger-bake/components/schemas/Generic-Collection" application/ld+json: schema: properties: member: items: type: object allOf: - "$ref": "#/x-swagger-bake/components/schemas/JsonLd-Item" - "$ref": "#/components/schemas/MakeModel" type: array allOf: - "$ref": "#/x-swagger-bake/components/schemas/JsonLd-Collection" application/hal+json: schema: properties: _embedded: items: type: object allOf: - "$ref": "#/x-swagger-bake/components/schemas/HalJson-Item" - "$ref": "#/components/schemas/MakeModel" type: array allOf: - "$ref": "#/x-swagger-bake/components/schemas/HalJson-Collection" '400': description: BadRequestException content: application/json: schema: title: BadRequestException properties: exception: example: BadRequestException type: string code: example: 400 type: string url: example: "/url/path" type: string message: example: The request contains invalid data. The returned error message should indicate the issue. type: string '405': description: MethodNotAllowedException content: application/json: schema: title: MethodNotAllowedException properties: exception: example: MethodNotAllowedException type: string code: example: 405 type: string url: example: "/url/path" type: string message: example: The HTTP method used to request this resource is not valid. For example, using an HTTP POST when the endpoint only accepts HTTP GET. type: string '429': description: 'TooManyRequestsException - Max Per Minute: 600' content: application/json: schema: title: TooManyRequestsException properties: exception: example: TooManyRequestsException type: string code: example: 429 type: string url: example: "/url/path" type: string message: example: 'TooManyRequestsException - Max Per Minute: 600 (note: daily rate limits may apply, see your subscription plans details)' type: string '503': description: ServiceUnavailableException content: application/json: schema: title: ServiceUnavailableException properties: exception: example: ServiceUnavailableException type: string code: example: 503 type: string url: example: "/url/path" type: string message: example: The server is unavailable, typically only encountered during scheduled maintenance. type: string security: - bearerAuth: [] "/api/trims": get: operationId: makemodeltrims:index:get summary: Car API Search trims description: |- To include additional information about the returned body (such as year, make, model and trim) request with the query parameter as `verbose=yes`. For complex queries you may use the json field to send an array of URL encoded JSON conditions, example: `[{"field": "year", "op": ">=", "val": 2010}, {"field": "year", "op": "<=", "val": 2020}]` JSON operators: `=`, `!=`, `>`, `<`, `>=`, `<=`, `in`, `not in`, `like`, `not like`, `not null`, and `is null`. JSON search fields: `year`, `make`, `model`, `trim`, `make_model_id`, `make_model_trim_id`, `created`, `modified`, `bodies.type`, `engines.cam_type`, `engines.cylinders`, `engines.drive_type`, `engines.engine_type`, `engines.fuel_type`, `engines.transmission`, `engines.valve_timing`, `engines.valves`, and `make_id`. tags: - Trims externalDocs: url: https://carapi.app/features/json-api-specs#trims description: Documentation parameters: - "$ref": "#/x-swagger-bake/components/parameters/paginatorPage" - "$ref": "#/x-swagger-bake/components/parameters/paginatorLimit" - in: query name: sort required: false schema: type: string enum: - id - make_model_id - year - name - description - msrp - invoice - created - modified - "$ref": "#/x-swagger-bake/components/parameters/paginatorDirection" - in: query name: verbose description: Includes make, model and trim required: false schema: type: string enum: - 'yes' - 'no' - in: query name: year required: false schema: type: string description: Value - in: query name: make required: false schema: type: string description: Like - in: query name: model required: false schema: type: string description: Like - in: query name: trim required: false schema: type: string description: Like - in: query name: make_model_id required: false schema: type: string description: Value - in: query name: make_id required: false schema: type: string description: Value - in: query name: json required: false schema: type: string description: JsonSearchFilter responses: '200': description: '' content: application/json: schema: properties: data: items: type: object allOf: - "$ref": "#/components/schemas/MakeModelTrim" type: array allOf: - "$ref": "#/x-swagger-bake/components/schemas/Generic-Collection" application/ld+json: schema: properties: member: items: type: object allOf: - "$ref": "#/x-swagger-bake/components/schemas/JsonLd-Item" - "$ref": "#/components/schemas/MakeModelTrim" type: array allOf: - "$ref": "#/x-swagger-bake/components/schemas/JsonLd-Collection" application/hal+json: schema: properties: _embedded: items: type: object allOf: - "$ref": "#/x-swagger-bake/components/schemas/HalJson-Item" - "$ref": "#/components/schemas/MakeModelTrim" type: array allOf: - "$ref": "#/x-swagger-bake/components/schemas/HalJson-Collection" '400': description: BadRequestException content: application/json: schema: title: BadRequestException properties: exception: example: BadRequestException type: string code: example: 400 type: string url: example: "/url/path" type: string message: example: The request contains invalid data. The returned error message should indicate the issue. type: string '405': description: MethodNotAllowedException content: application/json: schema: title: MethodNotAllowedException properties: exception: example: MethodNotAllowedException type: string code: example: 405 type: string url: example: "/url/path" type: string message: example: The HTTP method used to request this resource is not valid. For example, using an HTTP POST when the endpoint only accepts HTTP GET. type: string '429': description: 'TooManyRequestsException - Max Per Minute: 600' content: application/json: schema: title: TooManyRequestsException properties: exception: example: TooManyRequestsException type: string code: example: 429 type: string url: example: "/url/path" type: string message: example: 'TooManyRequestsException - Max Per Minute: 600 (note: daily rate limits may apply, see your subscription plans details)' type: string '503': description: ServiceUnavailableException content: application/json: schema: title: ServiceUnavailableException properties: exception: example: ServiceUnavailableException type: string code: example: 503 type: string url: example: "/url/path" type: string message: example: The server is unavailable, typically only encountered during scheduled maintenance. type: string security: - bearerAuth: [] "/api/trims/{id}": get: operationId: makemodeltrims:view:get summary: Car API Get vehicle data. description: Returns all data associated with the vehicle trim. tags: - Trims parameters: - in: path name: id required: true schema: type: integer format: int64 responses: '200': description: '' content: application/json: schema: properties: make_model: properties: make: allOf: - "$ref": "#/components/schemas/Make" type: object description: '' allOf: - "$ref": "#/components/schemas/MakeModel" type: object description: '' make_model_trim_body: allOf: - "$ref": "#/components/schemas/MakeModelTrimBody" type: object description: '' make_model_trim_engine: allOf: - "$ref": "#/components/schemas/MakeModelTrimEngine" type: object description: Engine specifications and transmission type make_model_trim_mileage: allOf: - "$ref": "#/components/schemas/MakeModelTrimMileage" type: object description: EPA miles per gallon, ranges etc. make_model_trim_exterior_colors: items: type: object allOf: - "$ref": "#/components/schemas/MakeModelTrimExteriorColor" type: array make_model_trim_interior_colors: items: type: object allOf: - "$ref": "#/components/schemas/MakeModelTrimInteriorColor" type: array allOf: - "$ref": "#/components/schemas/MakeModelTrim" type: object description: '' application/ld+json: schema: items: type: object properties: make_model: allOf: - "$ref": "#/x-swagger-bake/components/schemas/JsonLd-Item" make_model_trim_body: allOf: - "$ref": "#/x-swagger-bake/components/schemas/JsonLd-Item" make_model_trim_engine: allOf: - "$ref": "#/x-swagger-bake/components/schemas/JsonLd-Item" make_model_trim_mileage: allOf: - "$ref": "#/x-swagger-bake/components/schemas/JsonLd-Item" make_model_trim_exterior_colors: items: type: object allOf: - "$ref": "#/components/schemas/MakeModelTrimExteriorColor" - "$ref": "#/x-swagger-bake/components/schemas/JsonLd-Item" make_model_trim_interior_colors: items: type: object allOf: - "$ref": "#/components/schemas/MakeModelTrimInteriorColor" - "$ref": "#/x-swagger-bake/components/schemas/JsonLd-Item" allOf: - "$ref": "#/x-swagger-bake/components/schemas/JsonLd-Item" application/hal+json: schema: items: type: object properties: _embedded: type: object properties: make_model: allOf: - "$ref": "#/x-swagger-bake/components/schemas/HalJson-Item" make_model_trim_body: allOf: - "$ref": "#/x-swagger-bake/components/schemas/HalJson-Item" make_model_trim_engine: allOf: - "$ref": "#/x-swagger-bake/components/schemas/HalJson-Item" make_model_trim_mileage: allOf: - "$ref": "#/x-swagger-bake/components/schemas/HalJson-Item" items: type: object allOf: - "$ref": "#/components/schemas/MakeModelTrimInteriorColor" - "$ref": "#/x-swagger-bake/components/schemas/HalJson-Item" allOf: - "$ref": "#/x-swagger-bake/components/schemas/HalJson-Item" '400': description: BadRequestException content: application/json: schema: title: BadRequestException properties: exception: example: BadRequestException type: string code: example: 400 type: string url: example: "/url/path" type: string message: example: The request contains invalid data. The returned error message should indicate the issue. type: string '404': description: RecordNotFoundException content: application/json: schema: "$ref": "#/components/schemas/Exception" application/ld+json: schema: "$ref": "#/components/schemas/Exception" application/hal+json: schema: "$ref": "#/components/schemas/Exception" '405': description: MethodNotAllowedException content: application/json: schema: title: MethodNotAllowedException properties: exception: example: MethodNotAllowedException type: string code: example: 405 type: string url: example: "/url/path" type: string message: example: The HTTP method used to request this resource is not valid. For example, using an HTTP POST when the endpoint only accepts HTTP GET. type: string '429': description: 'TooManyRequestsException - Max Per Minute: 600' content: application/json: schema: title: TooManyRequestsException properties: exception: example: TooManyRequestsException type: string code: example: 429 type: string url: example: "/url/path" type: string message: example: 'TooManyRequestsException - Max Per Minute: 600 (note: daily rate limits may apply, see your subscription plans details)' type: string '503': description: ServiceUnavailableException content: application/json: schema: title: ServiceUnavailableException properties: exception: example: ServiceUnavailableException type: string code: example: 503 type: string url: example: "/url/path" type: string message: example: The server is unavailable, typically only encountered during scheduled maintenance. type: string security: - bearerAuth: [] "/api/vehicle-attributes": get: operationId: vehicleattributes:display:get summary: Car API Get Vehicle Attributes description: Returns all options for given attribute. tags: - Vehicle Attributes parameters: - in: query name: attribute description: The attribute options to be returned required: false schema: type: string enum: - bodies.type - engines.cam_type - engines.cylinders - engines.drive_type - engines.engine_type - engines.fuel_type - engines.transmission - engines.valve_timing - engines.valves responses: '200': description: '' content: application/json: schema: allOf: - "$ref": "#/components/schemas/VehicleAttribute" '400': description: BadRequestException content: application/json: schema: title: BadRequestException properties: exception: example: BadRequestException type: string code: example: 400 type: string url: example: "/url/path" type: string message: example: The request contains invalid data. The returned error message should indicate the issue. type: string '405': description: MethodNotAllowedException content: application/json: schema: title: MethodNotAllowedException properties: exception: example: MethodNotAllowedException type: string code: example: 405 type: string url: example: "/url/path" type: string message: example: The HTTP method used to request this resource is not valid. For example, using an HTTP POST when the endpoint only accepts HTTP GET. type: string '503': description: ServiceUnavailableException content: application/json: schema: title: ServiceUnavailableException properties: exception: example: ServiceUnavailableException type: string code: example: 503 type: string url: example: "/url/path" type: string message: example: The server is unavailable, typically only encountered during scheduled maintenance. type: string "/api/vin/{vin}": get: operationId: vindecoder:index:get summary: Car API Vin Decoder description: |- Decodes Vehicle Identification Numbers. The result will include a list of specifications in the `specs` property and a list of all possible trims matching the VIN in the `trims` property. For non-paying users, all VINs for 2015-2020 models (e.g. 1GTG6CEN0L1139305) will be returned, otherwise data is hidden. Paying users have full data access. You may include body, engine, and mileage data to the matching trims by requesting `?verbose=yes`. You may include all trims for the VINs model by requesting `?all_trims=yes`. By default, only trims closely matching the requested VIN are returned. tags: - Vin Decoder parameters: - in: path name: vin required: true schema: type: string - in: query name: verbose description: 'Includes body, engine, and mileage data (default: no)' required: false schema: type: string enum: - 'yes' - 'no' - in: query name: all_trims description: 'Includes all trims for the matching model (default: no)' required: false schema: type: string enum: - 'yes' - 'no' responses: '200': description: '' content: application/json: schema: properties: year: example: 2020 type: integer format: year make: example: make (e.g. Toyota) type: string model: example: model (e.g. Camry) type: string trim: example: trim (e.g. LX) type: string specs: type: object trims: items: type: object type: array type: object application/ld+json: schema: properties: year: example: 2020 type: integer format: year make: example: make (e.g. Toyota) type: string model: example: model (e.g. Camry) type: string trim: example: trim (e.g. LX) type: string specs: type: object trims: items: type: object type: array type: object application/hal+json: schema: properties: year: example: 2020 type: integer format: year make: example: make (e.g. Toyota) type: string model: example: model (e.g. Camry) type: string trim: example: trim (e.g. LX) type: string specs: type: object trims: items: type: object type: array type: object '400': description: BadRequestException content: application/json: schema: title: BadRequestException properties: exception: example: BadRequestException type: string code: example: 400 type: string url: example: "/url/path" type: string message: example: The request contains invalid data. The returned error message should indicate the issue. type: string '405': description: MethodNotAllowedException content: application/json: schema: title: MethodNotAllowedException properties: exception: example: MethodNotAllowedException type: string code: example: 405 type: string url: example: "/url/path" type: string message: example: The HTTP method used to request this resource is not valid. For example, using an HTTP POST when the endpoint only accepts HTTP GET. type: string '429': description: 'TooManyRequestsException - Max Per Minute: 600' content: application/json: schema: title: TooManyRequestsException properties: exception: example: TooManyRequestsException type: string code: example: 429 type: string url: example: "/url/path" type: string message: example: 'TooManyRequestsException - Max Per Minute: 600 (note: daily rate limits may apply, see your subscription plans details)' type: string '503': description: ServiceUnavailableException content: application/json: schema: title: ServiceUnavailableException properties: exception: example: ServiceUnavailableException type: string code: example: 503 type: string url: example: "/url/path" type: string message: example: The server is unavailable, typically only encountered during scheduled maintenance. type: string security: - bearerAuth: [] "/api/years": get: operationId: years:index:get summary: Car API Get Years List description: |- For complex queries you may use the json field to send an array of URL encoded JSON conditions, example: `[{"field": "make", "op": "in", "val": ["Scion", "Tesla"]}]` Allowed operators are: `>`, `<`, `>=`, `<=`, `in`, `not in`, `like`, `not like`, `is null` and `not null`. Allowed search fields are: `year`, `make`, `model`, `trim`, `make_id`, and `make_model_id`. tags: - Years parameters: - in: query name: year required: false schema: type: string description: Value - in: query name: make required: false schema: type: string description: Like - in: query name: model required: false schema: type: string description: Like - in: query name: trim required: false schema: type: string description: Like - in: query name: make_model_id required: false schema: type: string description: Value - in: query name: make_id required: false schema: type: string description: Value - in: query name: json required: false schema: type: string description: JsonSearchFilter responses: '200': description: '' content: application/json: schema: allOf: - "$ref": "#/components/schemas/Year" '400': description: BadRequestException content: application/json: schema: title: BadRequestException properties: exception: example: BadRequestException type: string code: example: 400 type: string url: example: "/url/path" type: string message: example: The request contains invalid data. The returned error message should indicate the issue. type: string '405': description: MethodNotAllowedException content: application/json: schema: title: MethodNotAllowedException properties: exception: example: MethodNotAllowedException type: string code: example: 405 type: string url: example: "/url/path" type: string message: example: The HTTP method used to request this resource is not valid. For example, using an HTTP POST when the endpoint only accepts HTTP GET. type: string '503': description: ServiceUnavailableException content: application/json: schema: title: ServiceUnavailableException properties: exception: example: ServiceUnavailableException type: string code: example: 503 type: string url: example: "/url/path" type: string message: example: The server is unavailable, typically only encountered during scheduled maintenance. type: string security: - bearerAuth: [] components: securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT schemas: Exception: properties: exception: example: ExceptionName type: string code: example: 500 type: integer url: example: "/url/path" type: string message: example: Internal Error type: string xml: name: response type: object Make: properties: id: minLength: 1 type: integer format: int64 readOnly: true name: minLength: 1 maxLength: 32 type: string description: Vehicle make/brand type: object description: '' MakeModel: properties: id: minLength: 1 type: integer format: int64 readOnly: true make_id: minLength: 1 type: integer format: int64 name: minLength: 1 maxLength: 64 type: string description: Vehicle model type: object description: '' MakeModelTrim: properties: id: minLength: 1 type: integer format: int64 readOnly: true make_model_id: minLength: 1 type: integer format: int64 year: minLength: 1 maxLength: 4 type: integer format: int32 description: Vehicle Year name: minLength: 1 maxLength: 128 type: string description: Vehicle Trim description: minLength: 1 maxLength: 256 type: string description: Full trim description msrp: minLength: 1 type: integer format: int64 description: Manufacturers Suggested Retail Price invoice: minLength: 1 type: integer format: int64 description: The typical auto dealers cost created: minLength: 1 type: string format: date-time readOnly: true modified: minLength: 1 type: string format: date-time readOnly: true type: object description: '' MakeModelTrimBody: properties: id: minLength: 1 type: integer format: int64 readOnly: true make_model_trim_id: minLength: 1 type: integer format: int64 type: minLength: 1 maxLength: 32 type: string description: The body type, such as SUV or Sedan enum: - Cargo Van - Convertible - Coupe - Ext Cargo Minivan - Ext Cargo Van - Ext Minivan - Ext Van - Hatchback - Minivan - Passenger Van - Sedan - SUV - Truck (Access Cab) - Truck (Cab Plus) - Truck (Club Cab) - Truck (Crew Cab) - Truck (CrewMax) - Truck (Double Cab) - Truck (Extended Cab) - Truck (King Cab) - Truck (Mega Cab) - Truck (Quad Cab) - Truck (Regular Cab) - Truck (SuperCab) - Truck (SuperCrew) - Truck (Xtracab) - Van - Wagon doors: type: integer format: int32 description: Number of doors — generally including a hatchback as an additional door length: type: number format: float description: Total length (in inches) of the vehicle in inches width: type: number format: float description: Total width (in inches) of the vehicle seats: type: integer format: int32 description: Number of passenger seats in the vehicle. height: type: number format: float description: Total height (in inches) of the vehicle wheel_base: type: number format: float description: The horizontal distance (in inches) between the centers of the front and rear wheels front_track: type: number format: float description: The distance (in inches) between the centerline of the wheels rear_track: type: number format: float description: The distance (in inches) between the hub flanges on an axle ground_clearance: type: number format: float description: The distance (in inches) between the lowest point on the undersurface of the vehicle and the road cargo_capacity: type: number format: float description: The standard total cubic feet of space in a vehicles cargo area max_cargo_capacity: type: number format: float description: The maximum total cubic feet of space in a vehicles cargo area curb_weight: type: integer format: int64 description: Curb weight refers to the vehicles heaviness (in pounds) without passengers or cargo, only counting the car itself along with necessary fluids like oil and coolant gross_weight: type: integer format: int64 description: Gross weight (in pounds) considers all components—including passengers, cargo, and both the tow vehicle weight—if one is attached max_payload: type: integer format: int64 description: Maximum weight in pounds that a vehicle can safely carry max_towing_capacity: type: integer format: int64 description: Maximum weight in pounds that a vehicle can safely tow type: object description: '' MakeModelTrimEngine: properties: id: minLength: 1 type: integer format: int64 readOnly: true make_model_trim_id: minLength: 1 type: integer format: int64 engine_type: maxLength: 32 type: string description: Type of engine enum: - diesel - electric - electric (fuel cell) - flex-fuel (FFV) - gas - hybrid - mild hybrid - natural gas (CNG) - plug-in hybrid fuel_type: maxLength: 64 type: string description: The fuel the vehicle uses enum: - diesel fuel - electric - flex-fuel (premium unleaded recommended/E85) - flex-fuel (premium unleaded required/E85) - flex-fuel (unleaded/E85) - flex-fuel (unleaded/natural gas) - hydrogen - natural gas - premium unleaded (recommended) - premium unleaded (required) - regular unleaded cylinders: maxLength: 16 type: string description: How many cylinders the engine has enum: - flat 4 - flat 6 - I2 - I3 - I4 - I5 - I6 - rotary 0 - V10 - V12 - V6 - V8 - W12 - W16 - W8 size: type: number format: float description: Total size of the engine in liters horsepower_hp: type: integer format: int64 description: One horsepower equals 33,000 foot-pounds of work per minute horsepower_rpm: type: integer format: int64 torque_ft_lbs: type: integer format: int64 description: The torque (turning force) of the vehicle's engine. torque_rpm: type: integer format: int64 valves: type: integer format: int32 description: Number of valves. The valves are installed in a part of the engine called the head and are responsible for letting air and/or fuel into the cylinders to be combusted -- those are called intake valves -- and for letting the exhaust from that combustion out of the cylinders -- those are called exhaust valves. valve_timing: maxLength: 32 type: string description: 'In a piston engine, the valve timing is the precise timing of the opening and closing of the valves. ' enum: - Variable cam_type: maxLength: 64 type: string description: Camshafts are integral components of internal combustion engines, responsible for controlling the opening and closing of the engine's intake and exhaust valves. enum: - Double overhead cam (DOHC) - Overhead valves (OHV) - Single overhead cam (SOHC) drive_type: maxLength: 32 type: string description: The drive type which delivers power to the wheels. enum: - all wheel drive - four wheel drive - front wheel drive - rear wheel drive transmission: maxLength: 64 type: string description: Type of transmission enum: - 1-speed direct drive - 10-speed automatic - 10-speed shiftable automatic - 2-speed - 2-speed automatic - 3-speed automatic - 4-speed automatic - 4-speed manual - 4-speed shiftable automatic - 5-speed automated manual - 5-speed automatic - 5-speed manual - 5-speed shiftable automatic - 6-speed automated manual - 6-speed automatic - 6-speed manual - 6-speed shiftable automatic - 7-speed automated manual - 7-speed automatic - 7-speed manual - 7-speed shiftable automatic - 8-speed automated manual - 8-speed automatic - 8-speed shiftable automatic - 9-speed automated manual - 9-speed automatic - 9-speed shiftable automatic - continuously variable-speed automatic - continuously variable-speed shiftable automatic - electrically variable-speed automatic type: object description: Engine specifications and transmission type MakeModelTrimExteriorColor: properties: id: minLength: 1 type: integer format: int64 readOnly: true make_model_trim_id: minLength: 1 type: integer format: int64 name: minLength: 1 maxLength: 128 type: string description: Color and shade rgb: maxLength: 16 type: string description: Red, Green, Blue (RGB) value type: object description: '' MakeModelTrimInteriorColor: properties: id: minLength: 1 type: integer format: int64 readOnly: true make_model_trim_id: minLength: 1 type: integer format: int64 name: minLength: 1 maxLength: 128 type: string description: Color and shade rgb: maxLength: 16 type: string description: Red, Green, Blue (RGB) value type: object description: '' MakeModelTrimMileage: properties: id: minLength: 1 type: integer format: int64 readOnly: true make_model_trim_id: minLength: 1 type: integer format: int64 fuel_tank_capacity: type: number format: float description: How much fuel the vehicle holds (gallons) combined_mpg: type: integer format: int32 description: Combined fuel economy is a weighted average of City and Highway MPG values that is calculated by weighting the City value by 55% and the Highway value by 45%. epa_city_mpg: type: integer format: int32 description: Miles per gallon for city driving epa_highway_mpg: type: integer format: int32 description: Miles per gallon for highway driving range_city: type: integer format: int32 description: Total range in miles on a full tank for city driving range_highway: type: integer format: int32 description: Total range in miles on a full tank for highway driving battery_capacity_electric: minLength: 1 type: integer format: int32 description: Total capacity of the battery kWh epa_time_to_charge_hr_240v_electric: type: number format: float description: How long it takes to charge an EV battery epa_kwh_100_mi_electric: type: integer format: int32 description: kWh used to drive 100 miles for an electric vehicle range_electric: type: integer format: int32 description: Range for electric vehicles in miles epa_highway_mpg_electric: type: integer format: int32 description: MPG equivalent for driving electric vehicles on the highway epa_city_mpg_electric: type: integer format: int32 description: MPG equivalent for driving electric vehicles in the city epa_combined_mpg_electric: type: integer format: int32 description: MPG equivalent for electric vehicles type: object description: EPA miles per gallon, ranges etc. VehicleAttribute: items: type: string example: - option a - 'option b ' - option c type: array Year: items: type: integer example: - 2022 - 2021 - 2020 type: array 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