{
  "openapi": "3.0.0",
  "info": {
    "title": "Remapdb API v2",
    "description": "Vehicle Tuning Database API - For Tuning services and Tuners.\n\nAccess comprehensive vehicle details, including types, manufacturers, models, engines, ECU and TCU info, tuning tools, dyno charts, and available tuning or remap stages with their performance gains.\n\n\nREST v2 uses the same Bearer API keys as v1. Account customizations apply only when the subscription has Customizations access. Cache catalog responses by API version, account, language and catalog profile, never by entity ID alone. IDs and cursors remain numeric and can exceed 32-bit integers; support integers through 9007199254740991. Identify stages by id, not stage_number. Manufacturer logos may be null; custom logos and generation photos use durable CDN object URLs. See https://docs.remapdb.com/api/migrate-to-v2.\n\nPrivate catalog slugs use rdb-brand-{id}, rdb-make-{id}, rdb-gen-{id}, and rdb-engine-{id}. Legacy rdb-private-{entity}-{id} links continue to resolve.",
    "termsOfService": "https://remapdb.com/terms",
    "contact": {
      "name": "Remapdb.com",
      "url": "https://remapdb.com"
    },
    "version": "2.0.0",
    "x-logo": {
      "url": "https://cdn.remapdb.com/logos/remapdb-logo-default-full-light.svg",
      "altText": "Remapdb REST API Documentation"
    }
  },
  "servers": [
    {
      "url": "https://api.remapdb.com/v2"
    }
  ],
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "tags": [
    {
      "name": "Response and Errors",
      "description": "- API will always respond with json, content type: **application/json**.\n- Successfull response will return HTTP **2XX** ***(Success)*** response code.\n- Error response will return either HTTP **4XX** ***(Client Error)*** or HTTP **5XX** ***(Server Error)***.\n\nOn error, API will return error object. It will contain the appropriate error **code** *(integer)* and a **message** *(string)*.\nThe HTTP response code will be the same as the error code.\n\nError Schema:\n```json json_schema\n{\n  \"type\": \"object\",\n  \"properties\": {\n    \"code\": {\n      \"type\": \"integer\"\n    },\n    \"message\": {\n      \"type\": \"string\"\n    }\n  }\n}\n```\n\nError Example:\n```json http\n{\n  \"code\": 404,\n  \"message\": \"Method doesnt exist.\"\n}\n```\n",
      "x-traitTag": true
    },
    {
      "name": "Language",
      "description": "All API methods accept custom language. It can be set via the **\"Accept-Language\"** header. Content of the header should be the code of the language you are requesting.\n\n#### Available languages:\nCode | Name\n---------|----------\n `bg` | Bulgarian\n `da` | Danish\n `de` | German\n `en` | English **(default)**\n `es` | Spanish\n `et` | Estonian\n `fi` | Finnish\n `fr` | French\n `hr` | Croatian\n `hu` | Hungarian\n `it` | Italian\n `lt` | Lithuanian\n `lv` | Latvian\n `nb` | Norwegian Bokmål\n `nl` | Dutch\n `nn` | Norwegian Nynorsk\n `pt` | Portuguese\n `ru` | Russian\n `sv` | Swedish\n `tr` | Turkish\n `zs` | Chinese\n\nIf no \"accept-language\" header is set, the API will use the default language - English.\n\nFollowing example shows how to set the language to Dutch (`nl`) using curl:\n```json http\ncurl 'https://api.remapdb.com/v1/search?query=audi' \\\n--header 'Accept-Language: nl'\n```\n",
      "x-traitTag": true
    },
    {
      "name": "Rate Limits",
      "description": "To ensure optimal service performance and prevent abuse, this API enforces rate limiting.\n  - Rate limits apply to all API methods.\n  - Limits are tied to each API key and subscription plan and reset every minute.\n  - If the rate limit is exceeded, the API will return error code **401** with the message: **“This API key has reached the time limit for this method”**.\n",
      "x-traitTag": true
    },
    {
      "name": "Client SDKs",
      "description": "Remapdb offers OpenAPI v3 specification which can be used with any OpenAPI/Swagger client generator to generate your own client SDK.\nDownload OpenAPI specification: [https://docs.remapdb.com/openapi.json](https://docs.remapdb.com/openapi.json).\n\n\nFollowing SDK's are automatically generated:\nLanguage | Link\n----------|----------\nPHP | [https://github.com/remapdb-api/remapdb-php-sdk](https://github.com/remapdb-api/remapdb-php-sdk)\nJavaScript | [https://github.com/remapdb-api/remapdb-js-sdk](https://github.com/remapdb-api/remapdb-js-sdk)\n",
      "x-traitTag": true
    },
    {
      "name": "Subscription",
      "description": "Most of the API methods require an active API subscription. The following method allows you to obtain information about your current API subscription.\n\nMore info about Remapdb's API subscription can be found here: [https://app.remapdb.com/api](https://app.remapdb.com/api)\n",
      "x-displayName": "API Subscription"
    },
    {
      "name": "Types",
      "description": "Obtain information about the vehicle types. \n\n**Active API subscription required. Get it here: [https://app.remapdb.com/api](https://app.remapdb.com/api)**\n",
      "x-displayName": "Vehicle Types"
    },
    {
      "name": "Manufacturers",
      "description": "Obtain information about vehicle manufacturers. \n\n**Active API subscription required. Get it here: [https://app.remapdb.com/api](https://app.remapdb.com/api)**\n"
    },
    {
      "name": "Models",
      "description": "Obtain information about vehicle models. \n\n**Active API subscription required. Get it here: [https://app.remapdb.com/api](https://app.remapdb.com/api)**\n"
    },
    {
      "name": "Generations",
      "description": "Obtain information about model generations. \n\n**Active API subscription required. Get it here: [https://app.remapdb.com/api](https://app.remapdb.com/api)**      \n"
    },
    {
      "name": "Engines",
      "description": "Obtain information about vehicle engines. \n\n**Active API subscription required. Get it here: [https://app.remapdb.com/api](https://app.remapdb.com/api)**     \n"
    },
    {
      "name": "Search",
      "description": "Searches through manufacturers, models, generations and engines. \n\n**Active API subscription required. Get it here: [https://app.remapdb.com/api](https://app.remapdb.com/api)**\n"
    }
  ],
  "paths": {
    "/subscription": {
      "get": {
        "tags": [
          "Subscription"
        ],
        "summary": "Active Subscription",
        "description": "This method allows you to check if the authenticated bearer token (`Authorization: Bearer <API_KEY>`) has access to Remapdb’s API.",
        "operationId": "check_subscription",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/subscription"
                },
                "examples": {
                  "Active subscription": {
                    "value": {
                      "api_key": "string",
                      "scopes": [
                        "vdb_read"
                      ],
                      "calls_limit": 60,
                      "created": "2024-12-04T08:05:15+00:00",
                      "subscription": {
                        "id": 0,
                        "start_date": "2024-12-04T08:05:15+00:00",
                        "end_date": "2028-12-04T08:05:15+00:00",
                        "catalog_profile": "full",
                        "api_access": true,
                        "is_active": true
                      }
                    }
                  },
                  "Inactive subscription": {
                    "value": {
                      "api_key": "string",
                      "scopes": [
                        "vdb_read"
                      ],
                      "calls_limit": 60,
                      "created": "2022-12-04T08:05:15+00:00",
                      "subscription": {
                        "id": 0,
                        "start_date": "2022-12-04T08:05:15+00:00",
                        "end_date": "2023-12-04T08:05:15+00:00",
                        "catalog_profile": "full",
                        "api_access": true,
                        "is_active": false
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/error_401"
          },
          "403": {
            "$ref": "#/components/responses/error_403"
          },
          "500": {
            "$ref": "#/components/responses/error_500"
          },
          "404": {
            "$ref": "#/components/responses/error_404"
          },
          "406": {
            "$ref": "#/components/responses/error_406"
          },
          "429": {
            "$ref": "#/components/responses/error_429"
          },
          "default": {
            "$ref": "#/components/responses/error_default"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/types": {
      "get": {
        "tags": [
          "Types"
        ],
        "summary": "Vehicle Types",
        "description": "Provides a list of all available vehicle types.",
        "operationId": "list_types",
        "parameters": [
          {
            "$ref": "#/components/parameters/language"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/vehicle_type"
                  },
                  "maxItems": 1000
                },
                "examples": {
                  "Successful response": {
                    "value": [
                      {
                        "id": 1,
                        "name": "Cars & LCV",
                        "slug": "cars"
                      },
                      {
                        "id": 2,
                        "name": "Trucks & Buses",
                        "slug": "trucks"
                      },
                      {
                        "id": 3,
                        "name": "Agriculture",
                        "slug": "agriculture"
                      },
                      {
                        "id": 5,
                        "name": "Motorcycles & ATVs",
                        "slug": "motorcycles"
                      },
                      {
                        "id": 4,
                        "name": "Marine",
                        "slug": "marine"
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/error_401"
          },
          "403": {
            "$ref": "#/components/responses/error_403"
          },
          "500": {
            "$ref": "#/components/responses/error_500"
          },
          "404": {
            "$ref": "#/components/responses/error_404"
          },
          "406": {
            "$ref": "#/components/responses/error_406"
          },
          "429": {
            "$ref": "#/components/responses/error_429"
          },
          "default": {
            "$ref": "#/components/responses/error_default"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/manufacturers/type/{type_id}": {
      "get": {
        "tags": [
          "Manufacturers"
        ],
        "summary": "Manufacturers by Type",
        "description": "Show all manufacturers from specific type.",
        "operationId": "list_manufacturers",
        "parameters": [
          {
            "name": "type_id",
            "in": "path",
            "description": "Vehicle type ID.",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "integer",
              "example": 1,
              "minimum": 1,
              "maximum": 9007199254740991,
              "format": "int64"
            },
            "example": 123
          },
          {
            "$ref": "#/components/parameters/language"
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "Pagination cursor. Omit for first page; pass the previous `next_cursor` for next page.",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991,
              "format": "int64"
            },
            "example": 1234
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Number of items to return per page.",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "format": "int32",
              "default": 50
            },
            "example": 50
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "items": {
                      "type": "array",
                      "maxItems": 100,
                      "items": {
                        "$ref": "#/components/schemas/manufacturer"
                      }
                    },
                    "pagination": {
                      "type": "object",
                      "additionalProperties": false,
                      "properties": {
                        "cursor": {
                          "type": "integer",
                          "format": "int64",
                          "nullable": true,
                          "maximum": 9007199254740991,
                          "minimum": 0
                        },
                        "limit": {
                          "type": "integer",
                          "format": "int32"
                        },
                        "next_cursor": {
                          "type": "integer",
                          "format": "int64",
                          "nullable": true,
                          "maximum": 9007199254740991,
                          "minimum": 0
                        },
                        "has_more": {
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "limit",
                        "next_cursor",
                        "has_more"
                      ]
                    }
                  },
                  "required": [
                    "items",
                    "pagination"
                  ]
                },
                "examples": {
                  "Successful response": {
                    "value": {
                      "items": [
                        {
                          "id": 1234,
                          "name": "Aston Martin",
                          "slug": "aston-martin",
                          "logo": "https://cdn.remapdb.com/static/assets/vdb/logos/am.svg",
                          "logo_dark": "https://cdn.remapdb.com/static/assets/vdb/logos/am.svg",
                          "type": {
                            "id": 1,
                            "name": "Cars & LCV"
                          }
                        }
                      ],
                      "pagination": {
                        "cursor": null,
                        "limit": 50,
                        "next_cursor": 1234,
                        "has_more": true
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/error_400"
          },
          "401": {
            "$ref": "#/components/responses/error_401"
          },
          "403": {
            "$ref": "#/components/responses/error_403"
          },
          "404": {
            "$ref": "#/components/responses/error_404"
          },
          "500": {
            "$ref": "#/components/responses/error_500"
          },
          "406": {
            "$ref": "#/components/responses/error_406"
          },
          "429": {
            "$ref": "#/components/responses/error_429"
          },
          "default": {
            "$ref": "#/components/responses/error_default"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/manufacturers/{manufacturer_id}": {
      "get": {
        "tags": [
          "Manufacturers"
        ],
        "summary": "Manufacturer Details",
        "description": "Show all manufacturer metadata along with its corresponding models.",
        "operationId": "get_manufacturer",
        "parameters": [
          {
            "name": "manufacturer_id",
            "in": "path",
            "description": "Manufacturer ID.",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "integer",
              "example": 1234,
              "minimum": 1,
              "maximum": 9007199254740991,
              "format": "int64"
            },
            "example": 123
          },
          {
            "$ref": "#/components/parameters/language"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/manufacturer_w_models"
                },
                "examples": {
                  "Audi": {
                    "value": {
                      "id": 123,
                      "name": "Audi",
                      "slug": "audi",
                      "logo": "https://cdn.remapdb.com/api/logos/audi.png",
                      "type": {
                        "id": 1,
                        "name": "Cars & LCV"
                      },
                      "models": [
                        {
                          "id": 123,
                          "name": "A4",
                          "slug": "a4",
                          "photo": "https://cdn.remapdb.com/api/generations/audi_a4_b9_fl.jpg",
                          "type": {
                            "id": 1,
                            "name": "Cars & LCV"
                          },
                          "manufacturer": {
                            "id": 1234,
                            "name": "Audi"
                          }
                        },
                        {
                          "id": 456,
                          "name": "A5",
                          "slug": "a5",
                          "photo": "https://cdn.remapdb.com/api/generations/audi_a5_b9.jpg",
                          "type": {
                            "id": 1,
                            "name": "Cars & LCV"
                          },
                          "manufacturer": {
                            "id": 1234,
                            "name": "Audi"
                          }
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/error_400"
          },
          "401": {
            "$ref": "#/components/responses/error_401"
          },
          "403": {
            "$ref": "#/components/responses/error_403"
          },
          "404": {
            "$ref": "#/components/responses/error_404"
          },
          "500": {
            "$ref": "#/components/responses/error_500"
          },
          "406": {
            "$ref": "#/components/responses/error_406"
          },
          "429": {
            "$ref": "#/components/responses/error_429"
          },
          "default": {
            "$ref": "#/components/responses/error_default"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/models/manufacturer/{manufacturer_id}": {
      "get": {
        "tags": [
          "Models"
        ],
        "summary": "Models by Manufacturer",
        "description": "Show all models from specific manufacturer.",
        "operationId": "list_models",
        "parameters": [
          {
            "name": "manufacturer_id",
            "in": "path",
            "description": "Manufacturer ID.",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "integer",
              "example": 1234,
              "minimum": 1,
              "maximum": 9007199254740991,
              "format": "int64"
            },
            "example": 123
          },
          {
            "$ref": "#/components/parameters/language"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/manufacturer_model"
                  },
                  "maxItems": 1000
                },
                "examples": {
                  "Audi": {
                    "value": [
                      {
                        "id": 123,
                        "name": "A4",
                        "slug": "a4",
                        "photo": "https://cdn.remapdb.com/api/generations/audi_a4_b9_fl.jpg",
                        "type": {
                          "id": 1,
                          "name": "Cars & LCV"
                        },
                        "manufacturer": {
                          "id": 1234,
                          "name": "Audi"
                        }
                      },
                      {
                        "id": 456,
                        "name": "A5",
                        "slug": "a5",
                        "photo": "https://cdn.remapdb.com/api/generations/audi_a5_b9.jpg",
                        "type": {
                          "id": 1,
                          "name": "Cars & LCV"
                        },
                        "manufacturer": {
                          "id": 1234,
                          "name": "Audi"
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/error_400"
          },
          "401": {
            "$ref": "#/components/responses/error_401"
          },
          "403": {
            "$ref": "#/components/responses/error_403"
          },
          "404": {
            "$ref": "#/components/responses/error_404"
          },
          "500": {
            "$ref": "#/components/responses/error_500"
          },
          "406": {
            "$ref": "#/components/responses/error_406"
          },
          "429": {
            "$ref": "#/components/responses/error_429"
          },
          "default": {
            "$ref": "#/components/responses/error_default"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/models/{model_id}": {
      "get": {
        "tags": [
          "Models"
        ],
        "summary": "Model Details",
        "description": "Show all model metadata along with its corresponding generations.",
        "operationId": "get_model",
        "parameters": [
          {
            "name": "model_id",
            "in": "path",
            "description": "Model ID.",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 9007199254740991,
              "format": "int64"
            },
            "example": 123
          },
          {
            "$ref": "#/components/parameters/language"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/model_w_generations"
                },
                "examples": {
                  "Audi A4": {
                    "value": {
                      "id": 123,
                      "name": "A4",
                      "slug": "a4",
                      "photo": "https://cdn.remapdb.com/api/generations/audi_a4_b9_fl.jpg",
                      "type": {
                        "id": 1,
                        "name": "Cars & LCV"
                      },
                      "manufacturer": {
                        "id": 1234,
                        "name": "Audi"
                      },
                      "generations": [
                        {
                          "id": 123,
                          "name": "B5",
                          "slug": "b5",
                          "year": 1994,
                          "year_end": 2001,
                          "photo": "https://cdn.remapdb.com/api/generations/audi_a4_b5_31pynyoby3ok0.jpg",
                          "type": {
                            "id": 1,
                            "name": "Cars & LCV"
                          },
                          "manufacturer": {
                            "id": 1234,
                            "name": "Audi"
                          },
                          "model": {
                            "id": 1234,
                            "name": "A4"
                          }
                        },
                        {
                          "id": 456,
                          "name": "B6",
                          "slug": "b6",
                          "year": 2000,
                          "year_end": 2006,
                          "photo": "https://cdn.remapdb.com/api/generations/audi_a4_b6_ayzv7s85pm0o.jpg",
                          "type": {
                            "id": 1,
                            "name": "Cars & LCV"
                          },
                          "manufacturer": {
                            "id": 1234,
                            "name": "Audi"
                          },
                          "model": {
                            "id": 1234,
                            "name": "A4"
                          }
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/error_400"
          },
          "401": {
            "$ref": "#/components/responses/error_401"
          },
          "403": {
            "$ref": "#/components/responses/error_403"
          },
          "404": {
            "$ref": "#/components/responses/error_404"
          },
          "500": {
            "$ref": "#/components/responses/error_500"
          },
          "406": {
            "$ref": "#/components/responses/error_406"
          },
          "429": {
            "$ref": "#/components/responses/error_429"
          },
          "default": {
            "$ref": "#/components/responses/error_default"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/generations/model/{model_id}": {
      "get": {
        "tags": [
          "Generations"
        ],
        "summary": "Generations by Model",
        "description": "Show all generations from specific model.",
        "operationId": "list_generations",
        "parameters": [
          {
            "name": "model_id",
            "in": "path",
            "description": "Model ID.",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 9007199254740991,
              "format": "int64"
            },
            "example": 123
          },
          {
            "$ref": "#/components/parameters/language"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/model_generation"
                  },
                  "maxItems": 1000
                },
                "examples": {
                  "Audi A4": {
                    "value": [
                      {
                        "id": 123,
                        "name": "B5",
                        "slug": "b5",
                        "year": 1994,
                        "year_end": 2001,
                        "photo": "https://cdn.remapdb.com/api/generations/audi_a4_b5_31pynyoby3ok0.jpg",
                        "type": {
                          "id": 1,
                          "name": "Cars & LCV"
                        },
                        "manufacturer": {
                          "id": 1234,
                          "name": "Audi"
                        },
                        "model": {
                          "id": 123,
                          "name": "A4"
                        }
                      },
                      {
                        "id": 456,
                        "name": "B6",
                        "slug": "b6",
                        "year": 2000,
                        "year_end": 2006,
                        "photo": "https://cdn.remapdb.com/api/generations/audi_a4_b6_ayzv7s85pm0o.jpg",
                        "type": {
                          "id": 1,
                          "name": "Cars & LCV"
                        },
                        "manufacturer": {
                          "id": 1234,
                          "name": "Audi"
                        },
                        "model": {
                          "id": 123,
                          "name": "A4"
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/error_400"
          },
          "401": {
            "$ref": "#/components/responses/error_401"
          },
          "403": {
            "$ref": "#/components/responses/error_403"
          },
          "404": {
            "$ref": "#/components/responses/error_404"
          },
          "500": {
            "$ref": "#/components/responses/error_500"
          },
          "406": {
            "$ref": "#/components/responses/error_406"
          },
          "429": {
            "$ref": "#/components/responses/error_429"
          },
          "default": {
            "$ref": "#/components/responses/error_default"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/generations/{generation_id}": {
      "get": {
        "tags": [
          "Generations"
        ],
        "summary": "Generation Details",
        "description": "Show all generation metadata along with its corresponding engines.",
        "operationId": "get_generation",
        "parameters": [
          {
            "name": "generation_id",
            "in": "path",
            "description": "Generation ID.",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 9007199254740991,
              "format": "int64"
            },
            "example": 123
          },
          {
            "$ref": "#/components/parameters/language"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/generation_w_engines"
                },
                "examples": {
                  "Successful response": {
                    "value": {
                      "id": 123,
                      "name": "B5",
                      "slug": "b5",
                      "year": 1994,
                      "year_end": 2001,
                      "photo": "https://cdn.remapdb.com/api/generations/audi_a4_b5_31pynyoby3ok0.jpg",
                      "type": {
                        "id": 1,
                        "name": "Cars & LCV"
                      },
                      "manufacturer": {
                        "id": 1234,
                        "name": "Audi"
                      },
                      "model": {
                        "id": 123,
                        "name": "A4"
                      },
                      "engines": [
                        {
                          "id": 1234,
                          "name": "1.8i 125hp 170Nm",
                          "slug": "1-8i-125hp-170nm",
                          "engine_code": "XYZ",
                          "year": 2018,
                          "capacity": 1800,
                          "cylinders": 4,
                          "engine_type": "Petrol",
                          "fuel": "Petrol",
                          "ecus": [
                            {
                              "name": "EDC17CP54",
                              "manufacturer": "Bosch"
                            }
                          ],
                          "tcus": [
                            {
                              "name": "8HP",
                              "manufacturer": "ZF"
                            }
                          ],
                          "performance": {
                            "power": 150,
                            "torque": 270,
                            "dyno_values": {
                              "rpm": [
                                1000,
                                2000,
                                3000,
                                4000,
                                5000,
                                6000,
                                7000,
                                8000,
                                9000
                              ],
                              "hp": [
                                0,
                                49,
                                87,
                                112,
                                135,
                                140,
                                112,
                                0,
                                0
                              ],
                              "nm": [
                                0,
                                238,
                                243,
                                238,
                                233,
                                205,
                                150,
                                0,
                                0
                              ]
                            }
                          }
                        },
                        {
                          "id": 5678,
                          "name": "1.8T 150hp 210Nm",
                          "slug": "1-8t-150hp-210nm",
                          "engine_code": "AGU",
                          "capacity": 1781,
                          "cylinders": 4,
                          "engine_type": "Turbo Petrol",
                          "fuel": "Petrol",
                          "ecus": [
                            {
                              "manufacturer": "Bosch",
                              "name": "M3.8.3"
                            },
                            {
                              "manufacturer": "Bosch",
                              "name": "ME7.5"
                            }
                          ],
                          "tcus": [],
                          "performance": {
                            "power": 150,
                            "torque": 210,
                            "dyno_values": {
                              "rpm": [
                                1000,
                                2000,
                                3000,
                                4000,
                                5000,
                                6000,
                                7000,
                                8000,
                                9000
                              ],
                              "hp": [
                                0,
                                53,
                                93,
                                120,
                                144,
                                150,
                                120,
                                0,
                                0
                              ],
                              "nm": [
                                0,
                                200,
                                204,
                                200,
                                196,
                                173,
                                126,
                                0,
                                0
                              ]
                            }
                          }
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/error_400"
          },
          "401": {
            "$ref": "#/components/responses/error_401"
          },
          "403": {
            "$ref": "#/components/responses/error_403"
          },
          "404": {
            "$ref": "#/components/responses/error_404"
          },
          "500": {
            "$ref": "#/components/responses/error_500"
          },
          "406": {
            "$ref": "#/components/responses/error_406"
          },
          "429": {
            "$ref": "#/components/responses/error_429"
          },
          "default": {
            "$ref": "#/components/responses/error_default"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/engines/generation/{generation_id}": {
      "get": {
        "tags": [
          "Engines"
        ],
        "summary": "Engines by Generation",
        "description": "Show all engines from specific generation.",
        "operationId": "list_engines",
        "parameters": [
          {
            "name": "generation_id",
            "in": "path",
            "description": "Generation ID.",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 9007199254740991,
              "format": "int64"
            },
            "example": 123
          },
          {
            "$ref": "#/components/parameters/language"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/engine"
                  },
                  "maxItems": 1000
                },
                "examples": {
                  "Successful response": {
                    "value": [
                      {
                        "id": 1234,
                        "name": "1.8i 125hp 170Nm",
                        "slug": "1-8i-125hp-170nm",
                        "engine_code": "XYZ",
                        "year": 2018,
                        "capacity": 1800,
                        "cylinders": 4,
                        "engine_type": "Petrol",
                        "fuel": "Petrol",
                        "ecus": [
                          {
                            "name": "EDC17CP54",
                            "manufacturer": "Bosch"
                          }
                        ],
                        "tcus": [
                          {
                            "name": "8HP",
                            "manufacturer": "ZF"
                          }
                        ],
                        "performance": {
                          "power": 150,
                          "torque": 270,
                          "dyno_values": {
                            "rpm": [
                              1000,
                              2000,
                              3000,
                              4000,
                              5000,
                              6000,
                              7000,
                              8000,
                              9000
                            ],
                            "hp": [
                              0,
                              49,
                              87,
                              112,
                              135,
                              140,
                              112,
                              0,
                              0
                            ],
                            "nm": [
                              0,
                              238,
                              243,
                              238,
                              233,
                              205,
                              150,
                              0,
                              0
                            ]
                          }
                        }
                      },
                      {
                        "id": 5678,
                        "name": "1.8T 150hp 210Nm",
                        "slug": "1-8t-150hp-210nm",
                        "engine_code": "AGU",
                        "capacity": 1781,
                        "cylinders": 4,
                        "engine_type": "Turbo Petrol",
                        "fuel": "Petrol",
                        "ecus": [
                          {
                            "model": "M3.8.3",
                            "manufacturer": "Bosch"
                          },
                          {
                            "model": "ME7.5",
                            "manufacturer": "Bosch"
                          }
                        ],
                        "tcus": [],
                        "performance": {
                          "power": 150,
                          "torque": 210,
                          "dyno_values": {
                            "rpm": [
                              1000,
                              2000,
                              3000,
                              4000,
                              5000,
                              6000,
                              7000,
                              8000,
                              9000
                            ],
                            "hp": [
                              0,
                              53,
                              93,
                              120,
                              144,
                              150,
                              120,
                              0,
                              0
                            ],
                            "nm": [
                              0,
                              200,
                              204,
                              200,
                              196,
                              173,
                              126,
                              0,
                              0
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/error_400"
          },
          "401": {
            "$ref": "#/components/responses/error_401"
          },
          "403": {
            "$ref": "#/components/responses/error_403"
          },
          "404": {
            "$ref": "#/components/responses/error_404"
          },
          "500": {
            "$ref": "#/components/responses/error_500"
          },
          "406": {
            "$ref": "#/components/responses/error_406"
          },
          "429": {
            "$ref": "#/components/responses/error_429"
          },
          "default": {
            "$ref": "#/components/responses/error_default"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/engines/{engine_id}": {
      "get": {
        "tags": [
          "Engines"
        ],
        "summary": "Engine Details",
        "description": "Show engine metadata along with its performance and tuning information.",
        "operationId": "get_engine",
        "parameters": [
          {
            "name": "engine_id",
            "in": "path",
            "description": "Engine ID.",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 9007199254740991,
              "format": "int64"
            },
            "example": 123
          },
          {
            "$ref": "#/components/parameters/language"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/engine_w_tuning"
                },
                "examples": {
                  "Successful response": {
                    "value": {
                      "id": 1234,
                      "name": "1.8i 125hp 170Nm",
                      "slug": "1-8i-125hp-170nm",
                      "engine_code": "XYZ",
                      "year": 2018,
                      "capacity": 1800,
                      "cylinders": 4,
                      "engine_type": "Petrol",
                      "fuel": "Petrol",
                      "ecus": [
                        {
                          "name": "EDC17CP54",
                          "manufacturer": "Bosch"
                        }
                      ],
                      "tcus": [
                        {
                          "name": "8HP",
                          "manufacturer": "ZF"
                        }
                      ],
                      "performance": {
                        "power": 150,
                        "torque": 270,
                        "dyno_values": {
                          "rpm": [
                            1000,
                            2000,
                            3000,
                            4000,
                            5000,
                            6000,
                            7000,
                            8000,
                            9000
                          ],
                          "hp": [
                            0,
                            169,
                            299,
                            386,
                            463,
                            482,
                            386,
                            0,
                            0
                          ],
                          "nm": [
                            0,
                            589,
                            602,
                            589,
                            577,
                            509,
                            372,
                            0,
                            0
                          ]
                        }
                      },
                      "tuning": {
                        "options": [
                          {
                            "name": "EGR",
                            "description": "Removal of EGR"
                          },
                          {
                            "name": "Decat",
                            "description": "Catalyst Removal"
                          }
                        ],
                        "read_tools": [
                          {
                            "name": "KESS3",
                            "manufacturer": "Alientech"
                          },
                          {
                            "name": "Trasdata",
                            "manufacturer": "Dimsport"
                          }
                        ],
                        "work_methods": [
                          {
                            "name": "OBD"
                          },
                          {
                            "name": "Bench"
                          }
                        ],
                        "stages": [
                          {
                            "stage_number": 1,
                            "performance": {
                              "power": 482,
                              "torque": 620,
                              "top_speed": 225,
                              "zero_to_hundred": 5.8,
                              "dyno_values": {
                                "rpm": [
                                  1000,
                                  2000,
                                  3000,
                                  4000,
                                  5000,
                                  6000,
                                  7000,
                                  8000,
                                  9000
                                ],
                                "hp": [
                                  0,
                                  169,
                                  299,
                                  386,
                                  463,
                                  482,
                                  386,
                                  0,
                                  0
                                ],
                                "nm": [
                                  0,
                                  589,
                                  602,
                                  589,
                                  577,
                                  509,
                                  372,
                                  0,
                                  0
                                ]
                              }
                            }
                          },
                          {
                            "stage_number": 2,
                            "performance": {
                              "power": 492,
                              "torque": 650,
                              "top_speed": 235,
                              "zero_to_hundred": 5.6,
                              "dyno_values": {
                                "rpm": [
                                  1000,
                                  2000,
                                  3000,
                                  4000,
                                  5000,
                                  6000,
                                  7000,
                                  8000,
                                  9000
                                ],
                                "hp": [
                                  0,
                                  169,
                                  299,
                                  386,
                                  463,
                                  482,
                                  386,
                                  0,
                                  0
                                ],
                                "nm": [
                                  0,
                                  589,
                                  602,
                                  589,
                                  577,
                                  509,
                                  372,
                                  0,
                                  0
                                ]
                              }
                            },
                            "modifications_required": "Aftermarket intercooler and exhaust required."
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/error_400"
          },
          "401": {
            "$ref": "#/components/responses/error_401"
          },
          "403": {
            "$ref": "#/components/responses/error_403"
          },
          "404": {
            "$ref": "#/components/responses/error_404"
          },
          "500": {
            "$ref": "#/components/responses/error_500"
          },
          "406": {
            "$ref": "#/components/responses/error_406"
          },
          "429": {
            "$ref": "#/components/responses/error_429"
          },
          "default": {
            "$ref": "#/components/responses/error_default"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/search": {
      "get": {
        "tags": [
          "Search"
        ],
        "summary": "Vehicle Search",
        "description": "Searches through manufacturers, models, generations and engines.",
        "operationId": "search",
        "parameters": [
          {
            "$ref": "#/components/parameters/language"
          },
          {
            "name": "query",
            "in": "query",
            "description": "Search query.",
            "required": true,
            "style": "form",
            "explode": true,
            "schema": {
              "minLength": 3,
              "type": "string",
              "maxLength": 2048,
              "pattern": "^[^\\u0000-\\u001F\\u007F]*$"
            },
            "example": "audi"
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "Pagination document cursor from previous page (`next_cursor`). Omit for first page.",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991,
              "format": "int64"
            },
            "example": 12345
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Number of search results to return per page.",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "format": "int32",
              "default": 50
            },
            "example": 50
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/inline_response_200"
                },
                "examples": {
                  "Example 1": {
                    "value": {
                      "results": [
                        {
                          "type": {
                            "id": 1,
                            "name": "Cars & LCV"
                          },
                          "manufacturer": {
                            "id": 1234,
                            "name": "Audi"
                          },
                          "model": {
                            "id": 123,
                            "name": "A4"
                          },
                          "generation": {
                            "id": 1234,
                            "name": "B5"
                          },
                          "engine": {
                            "id": 1234,
                            "name": "2.2 i-CDTi 140hp 340Nm"
                          }
                        },
                        {
                          "type": {
                            "id": 1,
                            "name": "Cars & LCV"
                          },
                          "manufacturer": {
                            "id": 4567,
                            "name": "Honda"
                          },
                          "model": {
                            "id": 12345,
                            "name": "Accord"
                          },
                          "generation": {
                            "id": 789,
                            "name": "VII"
                          },
                          "engine": {
                            "id": 9724,
                            "name": "2.4i 190hp 222Nm"
                          }
                        }
                      ],
                      "total": 456,
                      "pagination": {
                        "cursor": null,
                        "limit": 50,
                        "next_cursor": 9724,
                        "has_more": true
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/error_400"
          },
          "401": {
            "$ref": "#/components/responses/error_401"
          },
          "403": {
            "$ref": "#/components/responses/error_403"
          },
          "500": {
            "$ref": "#/components/responses/error_500"
          },
          "404": {
            "$ref": "#/components/responses/error_404"
          },
          "406": {
            "$ref": "#/components/responses/error_406"
          },
          "429": {
            "$ref": "#/components/responses/error_429"
          },
          "default": {
            "$ref": "#/components/responses/error_default"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "access_scope": {
        "description": "The name of the access scope.",
        "example": "vdb_read",
        "maxLength": 2048,
        "pattern": "^[^\\u0000-\\u001F\\u007F]*$",
        "title": "Access scope",
        "type": "string",
        "x-examples": {
          "Example 1": "vdb_read"
        }
      },
      "engine": {
        "additionalProperties": false,
        "description": "Engine object",
        "properties": {
          "capacity": {
            "description": "Engine capacity in cubic cm.",
            "example": 1800,
            "nullable": true,
            "type": "integer",
            "x-stoplight": {
              "id": "gouznp0op64ai"
            }
          },
          "cylinders": {
            "description": "Number of cylinders.",
            "example": 4,
            "nullable": true,
            "type": "integer",
            "x-stoplight": {
              "id": "d6iwr8cyyq6em"
            }
          },
          "ecus": {
            "description": "List of ECU's used in this engine.",
            "items": {
              "$ref": "#/components/schemas/engine_ecu"
            },
            "maxItems": 1000,
            "type": "array",
            "x-stoplight": {
              "id": "migbki7dibp3a"
            }
          },
          "engine_code": {
            "description": "Engine code.",
            "example": "XYZ",
            "maxLength": 2048,
            "nullable": true,
            "pattern": "^[^\\u0000-\\u001F\\u007F]*$",
            "type": "string",
            "x-stoplight": {
              "id": "wckxngr81mqgw"
            }
          },
          "engine_type": {
            "description": "Engine type.",
            "example": "Petrol",
            "maxLength": 2048,
            "pattern": "^[^\\u0000-\\u001F\\u007F]*$",
            "type": "string",
            "x-stoplight": {
              "id": "vjc6vjrlmkyxf"
            }
          },
          "fuel": {
            "description": "Name of the fuel.",
            "example": "Petrol",
            "maxLength": 2048,
            "pattern": "^[^\\u0000-\\u001F\\u007F]*$",
            "type": "string",
            "x-stoplight": {
              "id": "f4hegp9kjeer3"
            }
          },
          "id": {
            "description": "Stable catalogue ID. Private IDs start at 4294967296; all IDs are exact JavaScript-safe integers.",
            "example": 1234,
            "type": "integer",
            "format": "int64",
            "minimum": 1,
            "maximum": 9007199254740991
          },
          "name": {
            "description": "Engine name.",
            "example": "1.8i 125hp 170Nm",
            "maxLength": 2048,
            "pattern": "^[^\\u0000-\\u001F\\u007F]*$",
            "type": "string",
            "x-stoplight": {
              "id": "luat02qipmx4j"
            }
          },
          "performance": {
            "$ref": "#/components/schemas/engine_performance"
          },
          "slug": {
            "description": "URL-friendly name (slug).",
            "example": "1-8i-125hp-170nm",
            "maxLength": 2048,
            "pattern": "^[^\\u0000-\\u001F\\u007F]*$",
            "type": "string",
            "x-stoplight": {
              "id": "honjea79phwgo"
            }
          },
          "tcus": {
            "description": "List of TCU's used in this engine.",
            "items": {
              "$ref": "#/components/schemas/engine_tcu"
            },
            "maxItems": 1000,
            "type": "array",
            "x-stoplight": {
              "id": "vn78hxdi5oged"
            }
          },
          "year": {
            "description": "Year of manufacture.",
            "example": 2018,
            "nullable": true,
            "type": "integer",
            "x-stoplight": {
              "id": "zaj0ws6i34xwa"
            }
          },
          "origin": {
            "type": "string",
            "enum": [
              "shared",
              "private"
            ],
            "description": "Shared catalogue record or an addition owned by the authenticated customer."
          }
        },
        "title": "Engine",
        "type": "object",
        "x-examples": {
          "Example 1": {
            "capacity": 1800,
            "cylinders": 4,
            "ecus": [
              {
                "manufacturer": "Bosch",
                "name": "EDC17CP54"
              }
            ],
            "engine_code": "XYZ",
            "engine_type": "Petrol",
            "fuel": "Petrol",
            "id": 1234,
            "name": "1.8i 125hp 170Nm",
            "performance": {
              "dyno_values": {
                "hp": [
                  0,
                  49,
                  87,
                  112,
                  135,
                  140,
                  112,
                  0,
                  0
                ],
                "nm": [
                  0,
                  238,
                  243,
                  238,
                  233,
                  205,
                  150,
                  0,
                  0
                ],
                "rpm": [
                  1000,
                  2000,
                  3000,
                  4000,
                  5000,
                  6000,
                  7000,
                  8000,
                  9000
                ]
              },
              "power": 150,
              "torque": 270
            },
            "slug": "1-8i-125hp-170nm",
            "tcus": [
              {
                "manufacturer": "ZF",
                "name": "8HP"
              }
            ],
            "year": 2018
          }
        }
      },
      "engine_ecu": {
        "additionalProperties": false,
        "description": "ECU object",
        "properties": {
          "manufacturer": {
            "description": "Manufacturer.",
            "example": "Bosch",
            "maxLength": 2048,
            "pattern": "^[^\\u0000-\\u001F\\u007F]*$",
            "type": "string",
            "x-stoplight": {
              "id": "ego5g0wgjbx5z"
            }
          },
          "name": {
            "description": "Name.",
            "example": "EDC17CP54",
            "maxLength": 2048,
            "pattern": "^[^\\u0000-\\u001F\\u007F]*$",
            "type": "string"
          },
          "id": {
            "type": "integer",
            "format": "int64",
            "minimum": 1,
            "maximum": 9007199254740991,
            "description": "Stable catalogue ID. Private IDs start at 4294967296; all IDs are exact JavaScript-safe integers."
          },
          "origin": {
            "type": "string",
            "enum": [
              "shared",
              "private"
            ],
            "description": "Shared catalogue record or an addition owned by the authenticated customer."
          },
          "code": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "model": {
            "type": "string",
            "description": "Equipment model; retained for existing API clients."
          }
        },
        "title": "ECU",
        "type": "object",
        "x-examples": {
          "Bosch EDC17": {
            "manufacturer": "Bosch",
            "name": "EDC17CP54"
          }
        }
      },
      "engine_performance": {
        "additionalProperties": false,
        "description": "Engine performance object",
        "properties": {
          "dyno_values": {
            "$ref": "#/components/schemas/engine_performance_dyno"
          },
          "power": {
            "description": "Horse power (metric).",
            "example": 150,
            "type": "integer"
          },
          "torque": {
            "description": "Torque in Nm.",
            "example": 270,
            "type": "integer",
            "x-stoplight": {
              "id": "6gjau8yp073kc"
            }
          }
        },
        "title": "Performance",
        "type": "object",
        "x-examples": {
          "Example 1": {
            "dyno_values": {
              "hp": [
                0,
                49,
                87,
                112,
                135,
                140,
                112,
                0,
                0
              ],
              "nm": [
                0,
                238,
                243,
                238,
                233,
                205,
                150,
                0,
                0
              ],
              "rpm": [
                1000,
                2000,
                3000,
                4000,
                5000,
                6000,
                7000,
                8000,
                9000
              ]
            },
            "power": 150,
            "torque": 270
          }
        }
      },
      "engine_performance_dyno": {
        "additionalProperties": false,
        "description": "Dyno object",
        "nullable": true,
        "properties": {
          "hp": {
            "description": "HP values for plotting a dyno chart.",
            "items": {
              "type": "integer",
              "x-stoplight": {
                "id": "p93ihoykl0ya1"
              }
            },
            "maxItems": 1000,
            "type": "array",
            "x-stoplight": {
              "id": "vd6hysqxr0wx8"
            }
          },
          "nm": {
            "description": "Nm values for plotting a dyno chart.",
            "items": {
              "type": "integer",
              "x-stoplight": {
                "id": "6fkv9wbg7h04g"
              }
            },
            "maxItems": 1000,
            "type": "array",
            "x-stoplight": {
              "id": "4jpbgqaf9x9yh"
            }
          },
          "rpm": {
            "description": "RPM values for plotting a dyno chart.",
            "items": {
              "type": "integer",
              "x-stoplight": {
                "id": "wlvp55ibfn59e"
              }
            },
            "maxItems": 1000,
            "type": "array"
          }
        },
        "title": "Dyno metadata",
        "type": "object",
        "x-examples": {
          "Example 1": {
            "hp": [
              0,
              49,
              87,
              112,
              135,
              140,
              112,
              0,
              0
            ],
            "nm": [
              0,
              238,
              243,
              238,
              233,
              205,
              150,
              0,
              0
            ],
            "rpm": [
              1000,
              2000,
              3000,
              4000,
              5000,
              6000,
              7000,
              8000,
              9000
            ]
          }
        }
      },
      "engine_short": {
        "additionalProperties": false,
        "description": "Engine object",
        "properties": {
          "id": {
            "description": "Stable catalogue ID. Private IDs start at 4294967296; all IDs are exact JavaScript-safe integers.",
            "example": 1234,
            "type": "integer",
            "format": "int64",
            "minimum": 1,
            "maximum": 9007199254740991
          },
          "name": {
            "description": "Engine Name.",
            "example": "2.2 i-CDTi 140hp 340Nm",
            "maxLength": 2048,
            "pattern": "^[^\\u0000-\\u001F\\u007F]*$",
            "type": "string",
            "x-stoplight": {
              "id": "6gt5ltr93u5j4"
            }
          },
          "origin": {
            "type": "string",
            "enum": [
              "shared",
              "private"
            ],
            "description": "Shared catalogue record or an addition owned by the authenticated customer."
          }
        },
        "title": "Engine",
        "type": "object",
        "x-examples": {
          "Example 1": {
            "id": 1234,
            "name": "2.2 i-CDTi 140hp 340Nm"
          }
        }
      },
      "engine_stage": {
        "additionalProperties": false,
        "description": "Stage object",
        "properties": {
          "modifications_required": {
            "description": "Modifications needed.",
            "example": "Aftermarket intercooler and exhaust required.",
            "maxLength": 2048,
            "nullable": true,
            "pattern": "^[^\\u0000-\\u001F\\u007F]*$",
            "type": "string",
            "x-stoplight": {
              "id": "nxjtpmqu6xw08"
            }
          },
          "performance": {
            "$ref": "#/components/schemas/engine_stage_performance"
          },
          "stage_number": {
            "description": "Display stage number. Shared and private stages may have the same number; use id to identify a stage.",
            "example": 1,
            "type": "integer"
          },
          "id": {
            "type": "integer",
            "format": "int64",
            "minimum": 1,
            "maximum": 9007199254740991,
            "description": "Stable catalogue ID. Private IDs start at 4294967296; all IDs are exact JavaScript-safe integers."
          },
          "origin": {
            "type": "string",
            "enum": [
              "shared",
              "private"
            ],
            "description": "Shared catalogue record or an addition owned by the authenticated customer."
          }
        },
        "title": "Tuning/Remap stage",
        "type": "object",
        "x-examples": {
          "Example 1": {
            "modifications_required": "Aftermarket intercooler and exhaust required.",
            "performance": {
              "dyno_values": {
                "hp": [
                  0,
                  169,
                  299,
                  386,
                  463,
                  482,
                  386,
                  0,
                  0
                ],
                "nm": [
                  0,
                  589,
                  602,
                  589,
                  577,
                  509,
                  372,
                  0,
                  0
                ],
                "rpm": [
                  1000,
                  2000,
                  3000,
                  4000,
                  5000,
                  6000,
                  7000,
                  8000,
                  9000
                ]
              },
              "power": 482,
              "top_speed": 225,
              "torque": 620,
              "zero_to_hundred": 5.8
            },
            "stage_number": 1
          }
        }
      },
      "engine_stage_performance": {
        "additionalProperties": false,
        "description": "Tuning/Remap stage performance object",
        "properties": {
          "dyno_values": {
            "$ref": "#/components/schemas/engine_performance_dyno"
          },
          "power": {
            "description": "Horse power (afrer remap) (metric).",
            "example": 482,
            "type": "integer"
          },
          "top_speed": {
            "description": "Maximum speed (kmh).",
            "example": 225,
            "nullable": true,
            "type": "integer",
            "x-stoplight": {
              "id": "fwt3ezpudlxfr"
            }
          },
          "torque": {
            "description": "Torque (after remap) in Nm.",
            "example": 620,
            "type": "integer",
            "x-stoplight": {
              "id": "osrnglh6pdkbv"
            }
          },
          "zero_to_hundred": {
            "description": "Time to get from 0kmh to 100kmh (in seconds).",
            "example": 5.8,
            "nullable": true,
            "type": "number",
            "x-stoplight": {
              "id": "7le3ptsbr22t6"
            }
          }
        },
        "title": "Tuning/Remap stage performance",
        "type": "object",
        "x-examples": {
          "Example 1": {
            "dyno_values": {
              "hp": [
                0,
                169,
                299,
                386,
                463,
                482,
                386,
                0,
                0
              ],
              "nm": [
                0,
                589,
                602,
                589,
                577,
                509,
                372,
                0,
                0
              ],
              "rpm": [
                1000,
                2000,
                3000,
                4000,
                5000,
                6000,
                7000,
                8000,
                9000
              ]
            },
            "power": 482,
            "top_speed": 225,
            "torque": 620,
            "zero_to_hundred": 5.8
          }
        }
      },
      "engine_tcu": {
        "additionalProperties": false,
        "description": "TCU object",
        "properties": {
          "manufacturer": {
            "description": "Manufacturer.",
            "example": "ZF",
            "maxLength": 2048,
            "pattern": "^[^\\u0000-\\u001F\\u007F]*$",
            "type": "string"
          },
          "name": {
            "description": "Name.",
            "example": "8HP",
            "maxLength": 2048,
            "pattern": "^[^\\u0000-\\u001F\\u007F]*$",
            "type": "string"
          },
          "id": {
            "type": "integer",
            "format": "int64",
            "minimum": 1,
            "maximum": 9007199254740991,
            "description": "Stable catalogue ID. Private IDs start at 4294967296; all IDs are exact JavaScript-safe integers."
          },
          "origin": {
            "type": "string",
            "enum": [
              "shared",
              "private"
            ],
            "description": "Shared catalogue record or an addition owned by the authenticated customer."
          },
          "code": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "model": {
            "type": "string",
            "description": "Equipment model; retained for existing API clients."
          }
        },
        "title": "TCU",
        "type": "object",
        "x-examples": {
          "ZF 8HP": {
            "manufacturer": "ZF",
            "name": "8HP"
          }
        }
      },
      "engine_tuning": {
        "additionalProperties": false,
        "description": "Engine tuning object",
        "properties": {
          "options": {
            "description": "Available remap options for this engine.",
            "items": {
              "$ref": "#/components/schemas/tuning_option"
            },
            "maxItems": 1000,
            "type": "array"
          },
          "read_tools": {
            "description": "List with the tuning tools which can be used to read this engine.",
            "items": {
              "$ref": "#/components/schemas/read_tool"
            },
            "maxItems": 1000,
            "type": "array",
            "x-stoplight": {
              "id": "lb5q8g6onza8o"
            }
          },
          "stages": {
            "description": "List with Remap/Tuning Stages.",
            "items": {
              "$ref": "#/components/schemas/engine_stage"
            },
            "maxItems": 1000,
            "type": "array",
            "x-stoplight": {
              "id": "i6vvnixufrwnf"
            }
          },
          "work_methods": {
            "description": "List with the methods to use when reading this engine.",
            "items": {
              "$ref": "#/components/schemas/work_method"
            },
            "maxItems": 1000,
            "type": "array",
            "x-stoplight": {
              "id": "ppvk2wt69dhp4"
            }
          }
        },
        "title": "Tuning",
        "type": "object",
        "x-examples": {
          "Example 1": {
            "options": [
              {
                "description": "Removal of EGR",
                "name": "EGR"
              }
            ],
            "read_tools": [
              {
                "manufacturer": "Alientech",
                "name": "KESS3"
              }
            ],
            "stages": [
              {
                "modifications_required": "Aftermarket intercooler and exhaust required.",
                "performance": {
                  "dyno_values": {
                    "hp": [
                      0,
                      169,
                      299,
                      386,
                      463,
                      482,
                      386,
                      0,
                      0
                    ],
                    "nm": [
                      0,
                      589,
                      602,
                      589,
                      577,
                      509,
                      372,
                      0,
                      0
                    ],
                    "rpm": [
                      1000,
                      2000,
                      3000,
                      4000,
                      5000,
                      6000,
                      7000,
                      8000,
                      9000
                    ]
                  },
                  "power": 482,
                  "top_speed": 225,
                  "torque": 620,
                  "zero_to_hundred": 5.8
                },
                "stage_number": 1
              }
            ],
            "work_methods": [
              {
                "name": "OBD"
              }
            ]
          }
        }
      },
      "engine_w_tuning": {
        "additionalProperties": false,
        "description": "Engine object",
        "properties": {
          "capacity": {
            "description": "Engine capacity in cubic cm.",
            "example": 1800,
            "nullable": true,
            "type": "integer"
          },
          "cylinders": {
            "description": "Number of cylinders.",
            "example": 4,
            "nullable": true,
            "type": "integer"
          },
          "ecus": {
            "description": "List of ECU's used in this engine.",
            "items": {
              "$ref": "#/components/schemas/engine_ecu"
            },
            "maxItems": 1000,
            "type": "array"
          },
          "engine_code": {
            "description": "Engine code.",
            "example": "XYZ",
            "maxLength": 2048,
            "nullable": true,
            "pattern": "^[^\\u0000-\\u001F\\u007F]*$",
            "type": "string"
          },
          "engine_type": {
            "description": "Engine type.",
            "example": "Petrol",
            "maxLength": 2048,
            "pattern": "^[^\\u0000-\\u001F\\u007F]*$",
            "type": "string"
          },
          "fuel": {
            "description": "Name of the fuel.",
            "example": "Petrol",
            "maxLength": 2048,
            "pattern": "^[^\\u0000-\\u001F\\u007F]*$",
            "type": "string"
          },
          "id": {
            "description": "Stable catalogue ID. Private IDs start at 4294967296; all IDs are exact JavaScript-safe integers.",
            "example": 1234,
            "type": "integer",
            "format": "int64",
            "minimum": 1,
            "maximum": 9007199254740991
          },
          "name": {
            "description": "Engine name.",
            "example": "1.8i 125hp 170Nm",
            "maxLength": 2048,
            "pattern": "^[^\\u0000-\\u001F\\u007F]*$",
            "type": "string"
          },
          "performance": {
            "$ref": "#/components/schemas/engine_performance"
          },
          "slug": {
            "description": "URL-friendly name (slug).",
            "example": "1-8i-125hp-170nm",
            "maxLength": 2048,
            "pattern": "^[^\\u0000-\\u001F\\u007F]*$",
            "type": "string"
          },
          "tcus": {
            "description": "List of TCU's used in this engine.",
            "items": {
              "$ref": "#/components/schemas/engine_tcu"
            },
            "maxItems": 1000,
            "type": "array"
          },
          "tuning": {
            "$ref": "#/components/schemas/engine_tuning"
          },
          "year": {
            "description": "Year of manufacture.",
            "example": 2018,
            "nullable": true,
            "type": "integer"
          },
          "origin": {
            "type": "string",
            "enum": [
              "shared",
              "private"
            ],
            "description": "Shared catalogue record or an addition owned by the authenticated customer."
          }
        },
        "title": "Engine",
        "type": "object",
        "x-examples": {
          "Example 1": {
            "capacity": 1800,
            "cylinders": 4,
            "ecus": [
              {
                "manufacturer": "Bosch",
                "name": "EDC17CP54"
              }
            ],
            "engine_code": "XYZ",
            "engine_type": "Petrol",
            "fuel": "Petrol",
            "id": 1234,
            "name": "1.8i 125hp 170Nm",
            "performance": {
              "dyno_values": {
                "hp": [
                  0,
                  169,
                  299,
                  386,
                  463,
                  482,
                  386,
                  0,
                  0
                ],
                "nm": [
                  0,
                  589,
                  602,
                  589,
                  577,
                  509,
                  372,
                  0,
                  0
                ],
                "rpm": [
                  1000,
                  2000,
                  3000,
                  4000,
                  5000,
                  6000,
                  7000,
                  8000,
                  9000
                ]
              },
              "power": 150,
              "torque": 270
            },
            "slug": "1-8i-125hp-170nm",
            "tcus": [
              {
                "manufacturer": "ZF",
                "name": "8HP"
              }
            ],
            "tuning": {
              "options": [
                {
                  "description": "Removal of EGR",
                  "name": "EGR"
                }
              ],
              "read_tools": [
                {
                  "manufacturer": "Alientech",
                  "name": "KESS3"
                }
              ],
              "stages": [
                {
                  "modifications_required": "Aftermarket intercooler and exhaust required.",
                  "performance": {
                    "dyno_values": {
                      "hp": [
                        0,
                        169,
                        299,
                        386,
                        463,
                        482,
                        386,
                        0,
                        0
                      ],
                      "nm": [
                        0,
                        589,
                        602,
                        589,
                        577,
                        509,
                        372,
                        0,
                        0
                      ],
                      "rpm": [
                        1000,
                        2000,
                        3000,
                        4000,
                        5000,
                        6000,
                        7000,
                        8000,
                        9000
                      ]
                    },
                    "power": 482,
                    "top_speed": 225,
                    "torque": 620,
                    "zero_to_hundred": 5.8
                  },
                  "stage_number": 1
                }
              ],
              "work_methods": [
                {
                  "name": "OBD"
                }
              ]
            },
            "year": 2018
          }
        }
      },
      "error": {
        "additionalProperties": false,
        "description": "Error object",
        "properties": {
          "code": {
            "description": "Error code. Typically it will be the same as the returtned HTTP response code.",
            "example": 404,
            "type": "integer"
          },
          "message": {
            "description": "Error message.",
            "example": "Not found",
            "maxLength": 2048,
            "pattern": "^[^\\u0000-\\u001F\\u007F]*$",
            "type": "string",
            "x-stoplight": {
              "id": "iaxsxsm0kqi9n"
            }
          }
        },
        "title": "Error",
        "type": "object",
        "x-examples": {
          "Bad Request": {
            "code": 400,
            "message": "Bad request / Malformed parameter"
          },
          "Internal Server Error": {
            "code": 500,
            "message": "Internal Server Error"
          },
          "Invalid API key": {
            "code": 403,
            "message": "Invalid API key"
          },
          "Method Not Found": {
            "code": 404,
            "message": "Method not found"
          },
          "No API Access": {
            "code": 401,
            "message": "API access is not enabled for this subscription"
          },
          "No active subscription": {
            "code": 401,
            "message": "This method requires an active subscription."
          },
          "No permissions": {
            "code": 401,
            "message": "This API key does not have enough permissions"
          }
        }
      },
      "generation_short": {
        "additionalProperties": false,
        "description": "Generation metadata object",
        "properties": {
          "id": {
            "description": "Stable catalogue ID. Private IDs start at 4294967296; all IDs are exact JavaScript-safe integers.",
            "example": 1234,
            "type": "integer",
            "format": "int64",
            "minimum": 1,
            "maximum": 9007199254740991
          },
          "name": {
            "description": "Generation Name.",
            "example": "B5",
            "maxLength": 2048,
            "pattern": "^[^\\u0000-\\u001F\\u007F]*$",
            "type": "string",
            "x-stoplight": {
              "id": "a1w6j5210rvo9"
            }
          },
          "origin": {
            "type": "string",
            "enum": [
              "shared",
              "private"
            ],
            "description": "Shared catalogue record or an addition owned by the authenticated customer."
          }
        },
        "title": "Generation",
        "type": "object",
        "x-examples": {
          "Example 1": {
            "id": 1234,
            "name": "B5"
          }
        }
      },
      "generation_w_engines": {
        "additionalProperties": false,
        "description": "Generation metadata object",
        "properties": {
          "engines": {
            "description": "List with all the engines.",
            "items": {
              "$ref": "#/components/schemas/engine"
            },
            "maxItems": 1000,
            "type": "array"
          },
          "id": {
            "description": "Stable catalogue ID. Private IDs start at 4294967296; all IDs are exact JavaScript-safe integers.",
            "example": 123,
            "type": "integer",
            "format": "int64",
            "minimum": 1,
            "maximum": 9007199254740991
          },
          "manufacturer": {
            "$ref": "#/components/schemas/manufacturer_short"
          },
          "model": {
            "$ref": "#/components/schemas/model_short"
          },
          "name": {
            "description": "Generation Name.",
            "example": "B5",
            "maxLength": 2048,
            "pattern": "^[^\\u0000-\\u001F\\u007F]*$",
            "type": "string"
          },
          "photo": {
            "description": "Generation photo URL. Private generation photos use a CDN object URL; omitted uploads remain null.",
            "example": "https://cdn.remapdb.com/api/generations/audi_a4_b5_31pynyoby3ok0.jpg",
            "maxLength": 2048,
            "nullable": true,
            "pattern": "^[^\\u0000-\\u001F\\u007F]*$",
            "type": "string"
          },
          "slug": {
            "description": "URL-friendly name (slug).",
            "example": "b5",
            "maxLength": 2048,
            "pattern": "^[^\\u0000-\\u001F\\u007F]*$",
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/vehicle_type_short"
          },
          "year": {
            "description": "Year of manufacture.",
            "example": 1994,
            "nullable": true,
            "type": "integer",
            "x-stoplight": {
              "id": "nq06kurihg3bs"
            }
          },
          "year_end": {
            "description": "End year of manufacture.",
            "example": 2001,
            "nullable": true,
            "type": "integer",
            "x-stoplight": {
              "id": "gsfwdd4ux320x"
            }
          },
          "origin": {
            "type": "string",
            "enum": [
              "shared",
              "private"
            ],
            "description": "Shared catalogue record or an addition owned by the authenticated customer."
          }
        },
        "title": "Generation",
        "type": "object",
        "x-examples": {
          "Example 1": {
            "engines": [
              {
                "capacity": 1800,
                "cylinders": 4,
                "ecus": [
                  {
                    "manufacturer": "Bosch",
                    "name": "EDC17CP54"
                  }
                ],
                "engine_code": "XYZ",
                "engine_type": "Petrol",
                "fuel": "Petrol",
                "id": 1234,
                "name": "1.8i 125hp 170Nm",
                "performance": {
                  "dyno_values": {
                    "hp": [
                      0,
                      49,
                      87,
                      112,
                      135,
                      140,
                      112,
                      0,
                      0
                    ],
                    "nm": [
                      0,
                      238,
                      243,
                      238,
                      233,
                      205,
                      150,
                      0,
                      0
                    ],
                    "rpm": [
                      1000,
                      2000,
                      3000,
                      4000,
                      5000,
                      6000,
                      7000,
                      8000,
                      9000
                    ]
                  },
                  "power": 150,
                  "torque": 270
                },
                "slug": "1-8i-125hp-170nm",
                "tcus": [
                  {
                    "manufacturer": "ZF",
                    "name": "8HP"
                  }
                ],
                "year": 2018
              }
            ],
            "id": 123,
            "manufacturer": {
              "id": 1234,
              "name": "Audi"
            },
            "model": {
              "id": 123,
              "name": "A4"
            },
            "name": "B5",
            "photo": "https://cdn.remapdb.com/api/generations/audi_a4_b5_31pynyoby3ok0.jpg",
            "slug": "b5",
            "type": {
              "id": 1,
              "name": "Cars & LCV"
            },
            "year": 1994,
            "year_end": 2001
          }
        }
      },
      "inline_response_200": {
        "additionalProperties": false,
        "properties": {
          "results": {
            "description": "List with search results.",
            "items": {
              "$ref": "#/components/schemas/search_result"
            },
            "maxItems": 1000,
            "type": "array",
            "x-stoplight": {
              "id": "j4z15ozedvqwc"
            }
          },
          "total": {
            "description": "Number of results.",
            "example": 456,
            "type": "integer",
            "x-stoplight": {
              "id": "oo52tlzajd2kl"
            }
          },
          "pagination": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "cursor": {
                "type": "integer",
                "format": "int64",
                "nullable": true,
                "description": "Current page document cursor used for this request.",
                "maximum": 9007199254740991,
                "minimum": 0
              },
              "limit": {
                "type": "integer",
                "format": "int32"
              },
              "next_cursor": {
                "type": "integer",
                "format": "int64",
                "nullable": true,
                "description": "Next page document cursor. Pass this value as `cursor` to continue.",
                "maximum": 9007199254740991,
                "minimum": 0
              },
              "has_more": {
                "type": "boolean"
              }
            },
            "required": [
              "limit",
              "next_cursor",
              "has_more"
            ]
          }
        },
        "type": "object",
        "required": [
          "results",
          "total",
          "pagination"
        ]
      },
      "manufacturer": {
        "additionalProperties": false,
        "description": "Manufacturer object",
        "properties": {
          "id": {
            "description": "Stable catalogue ID. Private IDs start at 4294967296; all IDs are exact JavaScript-safe integers.",
            "example": 1000,
            "type": "integer",
            "format": "int64",
            "minimum": 1,
            "maximum": 9007199254740991
          },
          "logo": {
            "description": "Manufacturer logo URL, or null when unavailable. Private logo URLs are durable CDN object URLs.",
            "example": "https://cdn.remapdb.com/vdb/logos/audi-light.svg",
            "maxLength": 2048,
            "pattern": "^[^\\u0000-\\u001F\\u007F]*$",
            "type": "string",
            "x-stoplight": {
              "id": "r5cesqw6fpi3q"
            },
            "nullable": true
          },
          "logo_dark": {
            "description": "Manufacturer logo URL, or null when unavailable. Private logo URLs are durable CDN object URLs.",
            "example": "https://cdn.remapdb.com/vdb/logos/audi-dark.svg",
            "maxLength": 2048,
            "pattern": "^[^\\u0000-\\u001F\\u007F]*$",
            "type": "string",
            "x-stoplight": {
              "id": "r5cesqw6fpi3z"
            },
            "nullable": true
          },
          "name": {
            "description": "Name of the manufacturer.",
            "example": "Audi",
            "maxLength": 2048,
            "pattern": "^[^\\u0000-\\u001F\\u007F]*$",
            "type": "string",
            "x-stoplight": {
              "id": "zuovreto6t14g"
            }
          },
          "slug": {
            "description": "URL-friendly name (slug).",
            "example": "audi",
            "maxLength": 2048,
            "pattern": "^[^\\u0000-\\u001F\\u007F]*$",
            "type": "string",
            "x-stoplight": {
              "id": "itntjehjnxva8"
            }
          },
          "type": {
            "$ref": "#/components/schemas/manufacturer_type"
          },
          "origin": {
            "type": "string",
            "enum": [
              "shared",
              "private"
            ],
            "description": "Shared catalogue record or an addition owned by the authenticated customer."
          }
        },
        "title": "Manufacturer",
        "type": "object",
        "x-examples": {
          "Audi": {
            "id": 1000,
            "logo": "https://cdn.remapdb.com/vdb/logos/audi-light.svg",
            "logo_dark": "https://cdn.remapdb.com/vdb/logos/audi-dark.svg",
            "name": "Audi",
            "slug": "audi",
            "type": {
              "id": 0,
              "name": "string"
            }
          }
        }
      },
      "manufacturer_model": {
        "additionalProperties": false,
        "description": "Model object",
        "properties": {
          "id": {
            "description": "Stable catalogue ID. Private IDs start at 4294967296; all IDs are exact JavaScript-safe integers.",
            "example": 123,
            "type": "integer",
            "format": "int64",
            "minimum": 1,
            "maximum": 9007199254740991
          },
          "manufacturer": {
            "$ref": "#/components/schemas/manufacturer_short"
          },
          "name": {
            "description": "Model Name.",
            "example": "A4",
            "maxLength": 2048,
            "pattern": "^[^\\u0000-\\u001F\\u007F]*$",
            "type": "string",
            "x-stoplight": {
              "id": "yuchyc06ifj06"
            }
          },
          "photo": {
            "description": "Link to model's photo.",
            "example": "https://cdn.remapdb.com/api/generations/audi_a4_b9_fl.jpg",
            "maxLength": 2048,
            "pattern": "^[^\\u0000-\\u001F\\u007F]*$",
            "type": "string",
            "x-stoplight": {
              "id": "kh9e1m2ng7s51"
            },
            "nullable": true
          },
          "slug": {
            "description": "URL-friendly name (slug).",
            "example": "a4",
            "maxLength": 2048,
            "pattern": "^[^\\u0000-\\u001F\\u007F]*$",
            "type": "string",
            "x-stoplight": {
              "id": "qe0jif8hl4jzo"
            }
          },
          "type": {
            "$ref": "#/components/schemas/vehicle_type_short"
          },
          "origin": {
            "type": "string",
            "enum": [
              "shared",
              "private"
            ],
            "description": "Shared catalogue record or an addition owned by the authenticated customer."
          }
        },
        "title": "Model",
        "type": "object",
        "x-examples": {
          "Audi A4": {
            "id": 123,
            "manufacturer": {
              "id": 1000,
              "name": "Audi"
            },
            "name": "A4",
            "photo": "https://cdn.remapdb.com/api/generations/audi_a4_b9_fl.jpg",
            "slug": "a4",
            "type": {
              "id": 1,
              "name": "Cars & LCV"
            }
          }
        }
      },
      "manufacturer_short": {
        "additionalProperties": false,
        "description": "Manufacturer object",
        "properties": {
          "id": {
            "description": "Stable catalogue ID. Private IDs start at 4294967296; all IDs are exact JavaScript-safe integers.",
            "example": 1234,
            "type": "integer",
            "format": "int64",
            "minimum": 1,
            "maximum": 9007199254740991
          },
          "name": {
            "description": "Name of the manufacturer.",
            "example": "Audi",
            "maxLength": 2048,
            "pattern": "^[^\\u0000-\\u001F\\u007F]*$",
            "type": "string"
          },
          "origin": {
            "type": "string",
            "enum": [
              "shared",
              "private"
            ],
            "description": "Shared catalogue record or an addition owned by the authenticated customer."
          }
        },
        "title": "Manufacturer",
        "type": "object",
        "x-examples": {
          "Audi": {
            "id": 1000,
            "name": "Audi"
          }
        }
      },
      "manufacturer_type": {
        "additionalProperties": false,
        "description": "Vehicle type object.",
        "properties": {
          "id": {
            "description": "Stable catalogue ID. Private IDs start at 4294967296; all IDs are exact JavaScript-safe integers.",
            "example": 123,
            "type": "integer",
            "x-stoplight": {
              "id": "32dplvwo445n9"
            },
            "format": "int64",
            "minimum": 1,
            "maximum": 9007199254740991
          },
          "name": {
            "description": "The name of the vehicle type.",
            "example": "Cars & LCV",
            "maxLength": 2048,
            "pattern": "^[^\\u0000-\\u001F\\u007F]*$",
            "type": "string",
            "x-stoplight": {
              "id": "zphic8laubrsf"
            }
          },
          "origin": {
            "type": "string",
            "enum": [
              "shared",
              "private"
            ],
            "description": "Shared catalogue record or an addition owned by the authenticated customer."
          }
        },
        "type": "object"
      },
      "manufacturer_w_models": {
        "additionalProperties": false,
        "description": "Manufacturer metadata object",
        "properties": {
          "id": {
            "description": "Stable catalogue ID. Private IDs start at 4294967296; all IDs are exact JavaScript-safe integers.",
            "example": 1234,
            "type": "integer",
            "format": "int64",
            "minimum": 1,
            "maximum": 9007199254740991
          },
          "logo": {
            "description": "Manufacturer logo URL, or null when unavailable. Private logo URLs are durable CDN object URLs.",
            "example": "https://cdn.remapdb.com/vdb/logos/audi-light.svg",
            "maxLength": 2048,
            "pattern": "^[^\\u0000-\\u001F\\u007F]*$",
            "type": "string",
            "nullable": true
          },
          "logo_dark": {
            "description": "Manufacturer logo URL, or null when unavailable. Private logo URLs are durable CDN object URLs.",
            "example": "https://cdn.remapdb.com/vdb/logos/audi-dark.svg",
            "maxLength": 2048,
            "pattern": "^[^\\u0000-\\u001F\\u007F]*$",
            "type": "string",
            "nullable": true
          },
          "models": {
            "description": "List with all the models.",
            "items": {
              "$ref": "#/components/schemas/manufacturer_model"
            },
            "maxItems": 1000,
            "type": "array"
          },
          "name": {
            "description": "Name of the manufacturer.",
            "example": "Audi",
            "maxLength": 2048,
            "pattern": "^[^\\u0000-\\u001F\\u007F]*$",
            "type": "string"
          },
          "slug": {
            "description": "URL-friendly name (slug).",
            "example": "audi",
            "maxLength": 2048,
            "pattern": "^[^\\u0000-\\u001F\\u007F]*$",
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/vehicle_type_short"
          },
          "origin": {
            "type": "string",
            "enum": [
              "shared",
              "private"
            ],
            "description": "Shared catalogue record or an addition owned by the authenticated customer."
          }
        },
        "title": "Manufacturer",
        "type": "object",
        "x-examples": {
          "Audi": {
            "id": 1234,
            "logo": "https://cdn.remapdb.com/vdb/logos/audi-light.svg",
            "logo_dark": "https://cdn.remapdb.com/vdb/logos/audi-dark.svg",
            "models": [
              {
                "id": 123,
                "manufacturer": {
                  "id": 1234,
                  "name": "Audi"
                },
                "name": "A4",
                "photo": "https://cdn.remapdb.com/api/generations/audi_a4_b9_fl.jpg",
                "slug": "a4",
                "type": {
                  "id": 1,
                  "name": "Cars & LCV"
                }
              },
              {
                "id": 456,
                "manufacturer": {
                  "id": 1234,
                  "name": "Audi"
                },
                "name": "A5",
                "photo": "https://cdn.remapdb.com/api/generations/audi_a5_b9.jpg",
                "slug": "a5",
                "type": {
                  "id": 1,
                  "name": "Cars & LCV"
                }
              }
            ],
            "name": "Audi",
            "slug": "audi",
            "type": {
              "id": 1,
              "name": "Cars & LCV"
            }
          }
        }
      },
      "model_generation": {
        "additionalProperties": false,
        "description": "Generation object",
        "properties": {
          "id": {
            "description": "Stable catalogue ID. Private IDs start at 4294967296; all IDs are exact JavaScript-safe integers.",
            "example": 123,
            "type": "integer",
            "format": "int64",
            "minimum": 1,
            "maximum": 9007199254740991
          },
          "manufacturer": {
            "$ref": "#/components/schemas/manufacturer_short"
          },
          "model": {
            "$ref": "#/components/schemas/model_short"
          },
          "name": {
            "description": "Generation Name.",
            "example": "B5",
            "maxLength": 2048,
            "pattern": "^[^\\u0000-\\u001F\\u007F]*$",
            "type": "string"
          },
          "photo": {
            "description": "Generation photo URL. Private generation photos use a CDN object URL; omitted uploads remain null.",
            "example": "https://cdn.remapdb.com/api/generations/audi_a4_b5_31pynyoby3ok0.jpg",
            "maxLength": 2048,
            "nullable": true,
            "pattern": "^[^\\u0000-\\u001F\\u007F]*$",
            "type": "string",
            "x-stoplight": {
              "id": "6orzawzdhd3cj"
            }
          },
          "slug": {
            "description": "URL-friendly name (slug).",
            "example": "b5",
            "maxLength": 2048,
            "pattern": "^[^\\u0000-\\u001F\\u007F]*$",
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/vehicle_type_short"
          },
          "year": {
            "description": "Year of manufacture.",
            "example": 1994,
            "nullable": true,
            "type": "integer"
          },
          "year_end": {
            "description": "End year of manufacture.",
            "example": 2001,
            "nullable": true,
            "type": "integer",
            "x-stoplight": {
              "id": "nh34xn1mr2zbc"
            }
          },
          "origin": {
            "type": "string",
            "enum": [
              "shared",
              "private"
            ],
            "description": "Shared catalogue record or an addition owned by the authenticated customer."
          }
        },
        "title": "Generation",
        "type": "object",
        "x-examples": {
          "Audi A4 B5": {
            "id": 123,
            "manufacturer": {
              "id": 123,
              "name": "Audi"
            },
            "model": {
              "id": 123,
              "name": "A4"
            },
            "name": "B5",
            "photo": "https://cdn.remapdb.com/api/generations/audi_a4_b5_31pynyoby3ok0.jpg",
            "slug": "b5",
            "type": {
              "id": 1,
              "name": "Cars & LCV"
            },
            "year": 1994,
            "year_end": 2001
          }
        }
      },
      "model_short": {
        "additionalProperties": false,
        "description": "Model object",
        "properties": {
          "id": {
            "description": "Stable catalogue ID. Private IDs start at 4294967296; all IDs are exact JavaScript-safe integers.",
            "example": 123,
            "type": "integer",
            "format": "int64",
            "minimum": 1,
            "maximum": 9007199254740991
          },
          "name": {
            "description": "Name of the model.",
            "example": "A4",
            "maxLength": 2048,
            "pattern": "^[^\\u0000-\\u001F\\u007F]*$",
            "type": "string"
          },
          "origin": {
            "type": "string",
            "enum": [
              "shared",
              "private"
            ],
            "description": "Shared catalogue record or an addition owned by the authenticated customer."
          }
        },
        "title": "Model",
        "type": "object",
        "x-examples": {
          "Audi A4": {
            "id": 123,
            "name": "A4"
          }
        }
      },
      "model_w_generations": {
        "additionalProperties": false,
        "description": "Model metadata object",
        "properties": {
          "generations": {
            "description": "List with all the models.",
            "items": {
              "$ref": "#/components/schemas/model_generation"
            },
            "maxItems": 1000,
            "type": "array"
          },
          "id": {
            "description": "Stable catalogue ID. Private IDs start at 4294967296; all IDs are exact JavaScript-safe integers.",
            "example": 1234,
            "type": "integer",
            "format": "int64",
            "minimum": 1,
            "maximum": 9007199254740991
          },
          "manufacturer": {
            "$ref": "#/components/schemas/manufacturer_short"
          },
          "name": {
            "description": "Name of the model.",
            "example": "A4",
            "maxLength": 2048,
            "pattern": "^[^\\u0000-\\u001F\\u007F]*$",
            "type": "string"
          },
          "photo": {
            "description": "Link to model's photo.",
            "example": "https://cdn.remapdb.com/api/generations/audi_a4_b9_fl.jpg",
            "maxLength": 2048,
            "nullable": true,
            "pattern": "^[^\\u0000-\\u001F\\u007F]*$",
            "type": "string"
          },
          "slug": {
            "description": "URL-friendly name (slug).",
            "example": "4",
            "maxLength": 2048,
            "pattern": "^[^\\u0000-\\u001F\\u007F]*$",
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/vehicle_type_short"
          },
          "origin": {
            "type": "string",
            "enum": [
              "shared",
              "private"
            ],
            "description": "Shared catalogue record or an addition owned by the authenticated customer."
          }
        },
        "title": "Model",
        "type": "object",
        "x-examples": {
          "Audi A4": {
            "generations": [
              {
                "id": 123,
                "manufacturer": {
                  "id": 1234,
                  "name": "Audi"
                },
                "model": {
                  "id": 1234,
                  "name": "A4"
                },
                "name": "B5",
                "photo": "https://cdn.remapdb.com/api/generations/audi_a4_b5_31pynyoby3ok0.jpg",
                "slug": "b5",
                "type": {
                  "id": 1,
                  "name": "Cars & LCV"
                },
                "year": 1994,
                "year_end": 2001
              },
              {
                "id": 456,
                "manufacturer": {
                  "id": 1234,
                  "name": "Audi"
                },
                "model": {
                  "id": 1234,
                  "name": "A4"
                },
                "name": "B6",
                "photo": "https://cdn.remapdb.com/api/generations/audi_a4_b6_ayzv7s85pm0o.jpg",
                "slug": "b6",
                "type": {
                  "id": 1,
                  "name": "Cars & LCV"
                },
                "year": 2000,
                "year_end": 2006
              }
            ],
            "id": 123,
            "manufacturer": {
              "id": 1234,
              "name": "Audi"
            },
            "name": "A4",
            "photo": "https://cdn.remapdb.com/api/generations/audi_a4_b9_fl.jpg",
            "slug": "a4",
            "type": {
              "id": 1,
              "name": "Cars & LCV"
            }
          }
        }
      },
      "read_tool": {
        "additionalProperties": false,
        "description": "Read Tool object",
        "properties": {
          "manufacturer": {
            "description": "Manufacturer.",
            "example": "Alientech",
            "maxLength": 2048,
            "pattern": "^[^\\u0000-\\u001F\\u007F]*$",
            "type": "string",
            "x-stoplight": {
              "id": "ene9p2f5occpc"
            }
          },
          "name": {
            "description": "Name.",
            "example": "KESS3",
            "maxLength": 2048,
            "pattern": "^[^\\u0000-\\u001F\\u007F]*$",
            "type": "string"
          },
          "id": {
            "type": "integer",
            "format": "int64",
            "minimum": 1,
            "maximum": 9007199254740991,
            "description": "Stable catalogue ID. Private IDs start at 4294967296; all IDs are exact JavaScript-safe integers."
          },
          "origin": {
            "type": "string",
            "enum": [
              "shared",
              "private"
            ],
            "description": "Shared catalogue record or an addition owned by the authenticated customer."
          },
          "code": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          }
        },
        "title": "Read Tool",
        "type": "object",
        "x-examples": {
          "Alientech KESS3": {
            "manufacturer": "Alientech",
            "name": "KESS3"
          }
        }
      },
      "search_result": {
        "additionalProperties": false,
        "description": "Search result object",
        "properties": {
          "engine": {
            "$ref": "#/components/schemas/engine_short"
          },
          "generation": {
            "$ref": "#/components/schemas/generation_short"
          },
          "manufacturer": {
            "$ref": "#/components/schemas/manufacturer_short"
          },
          "model": {
            "$ref": "#/components/schemas/model_short"
          },
          "type": {
            "$ref": "#/components/schemas/vehicle_type_short"
          }
        },
        "title": "Search result",
        "type": "object",
        "x-examples": {
          "Example 1": {
            "engine": {
              "id": 1234,
              "name": "2.2 i-CDTi 140hp 340Nm"
            },
            "generation": {
              "id": 1234,
              "name": "B5"
            },
            "manufacturer": {
              "id": 1234,
              "name": "Audi"
            },
            "model": {
              "id": 123,
              "name": "A4"
            },
            "type": {
              "id": 1,
              "name": "Cars & LCV"
            }
          }
        }
      },
      "subscription": {
        "additionalProperties": false,
        "properties": {
          "api_key": {
            "description": "The API key used as the bearer token in `Authorization: Bearer <API_KEY>`.",
            "maxLength": 2048,
            "pattern": "^[^\\u0000-\\u001F\\u007F]*$",
            "type": "string"
          },
          "calls_limit": {
            "description": "The maximum number of API requests that can be made within the configured access window.",
            "example": 60,
            "type": "integer",
            "x-stoplight": {
              "id": "rcsq3dtzpxxxm"
            }
          },
          "created": {
            "description": "ISO 8601 date",
            "example": "2024-12-04T08:05:15Z",
            "format": "date-time",
            "maxLength": 2048,
            "pattern": "^[^\\u0000-\\u001F\\u007F]*$",
            "type": "string",
            "x-stoplight": {
              "id": "icktjotpy6g1i"
            }
          },
          "scopes": {
            "description": "Array with strings. Contains all the access scopes that this API key has.",
            "items": {
              "$ref": "#/components/schemas/access_scope"
            },
            "maxItems": 1000,
            "type": "array"
          },
          "subscription": {
            "$ref": "#/components/schemas/subscription_subscription"
          }
        },
        "title": "API Subscription",
        "type": "object",
        "x-examples": {
          "Example 1": {
            "api_key": "string",
            "calls_limit": 60,
            "created": "2024-12-04T08:05:15+00:00",
            "scopes": [
              "vdb_read"
            ],
            "subscription": {
              "api_access": true,
              "end_date": "2028-12-04T08:05:15+00:00",
              "id": 0,
              "is_active": true,
              "plan_sku": "max",
              "catalog_profile": "full",
              "start_date": "2024-12-04T08:05:15+00:00"
            }
          }
        }
      },
      "subscription_subscription": {
        "additionalProperties": false,
        "description": "Object which contains the subscription information.",
        "properties": {
          "api_access": {
            "description": "Can this subscription access the API.",
            "type": "boolean",
            "x-stoplight": {
              "id": "x9o01g1qugtmd"
            }
          },
          "end_date": {
            "description": "Subscription end date. ISO 8601 format.",
            "example": "2024-12-04T08:05:15Z",
            "format": "date-time",
            "maxLength": 2048,
            "pattern": "^[^\\u0000-\\u001F\\u007F]*$",
            "type": "string",
            "x-stoplight": {
              "id": "qzeesxg0ymgsb"
            },
            "nullable": true
          },
          "id": {
            "description": "Subscription ID",
            "type": "integer",
            "x-stoplight": {
              "id": "yod35rmvjze6b"
            }
          },
          "plan_sku": {
            "description": "Subscription plan SKU. MCP access requires API or MAX plan.",
            "example": "max",
            "nullable": true,
            "type": "string"
          },
          "catalog_profile": {
            "description": "Catalog visibility profile applied to REST and MCP vehicle data.",
            "enum": [
              "full",
              "trial"
            ],
            "example": "full",
            "type": "string"
          },
          "is_active": {
            "description": "Shows if description is active or not.",
            "type": "boolean",
            "x-stoplight": {
              "id": "bygnz6z7i0tlz"
            }
          },
          "start_date": {
            "description": "Date when subscription started. ISO 8601 format.",
            "example": "2024-12-04T08:05:15Z",
            "format": "date-time",
            "maxLength": 2048,
            "pattern": "^[^\\u0000-\\u001F\\u007F]*$",
            "type": "string",
            "x-stoplight": {
              "id": "hi3rd4wo3ilq0"
            },
            "nullable": true
          }
        },
        "type": "object"
      },
      "tuning_option": {
        "additionalProperties": false,
        "description": "Tuning option object",
        "properties": {
          "description": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "description": "Name.",
            "example": "EGR",
            "maxLength": 2048,
            "pattern": "^[^\\u0000-\\u001F\\u007F]*$",
            "type": "string"
          },
          "id": {
            "type": "integer",
            "format": "int64",
            "minimum": 1,
            "maximum": 9007199254740991,
            "description": "Stable catalogue ID. Private IDs start at 4294967296; all IDs are exact JavaScript-safe integers."
          },
          "origin": {
            "type": "string",
            "enum": [
              "shared",
              "private"
            ],
            "description": "Shared catalogue record or an addition owned by the authenticated customer."
          },
          "code": {
            "type": "string",
            "nullable": true
          }
        },
        "title": "Option",
        "type": "object",
        "x-examples": {
          "EGR": {
            "description": "Removal of EGR",
            "name": "EGR"
          }
        }
      },
      "vehicle_type": {
        "additionalProperties": false,
        "description": "Vehicle type object",
        "properties": {
          "id": {
            "description": "Vehicle type ID.",
            "example": 1,
            "type": "integer"
          },
          "name": {
            "description": "Name.",
            "example": "Cars & LCV",
            "maxLength": 2048,
            "pattern": "^[^\\u0000-\\u001F\\u007F]*$",
            "type": "string",
            "x-stoplight": {
              "id": "37vywsmmu6ymi"
            }
          },
          "slug": {
            "description": "URL-friendly name (slug).",
            "example": "cars",
            "maxLength": 2048,
            "pattern": "^[^\\u0000-\\u001F\\u007F]*$",
            "type": "string",
            "x-stoplight": {
              "id": "h9ym5l37ldaru"
            }
          }
        },
        "title": "Vehicle type",
        "type": "object",
        "x-examples": {
          "Cars": {
            "id": 1,
            "name": "Cars & LCV",
            "slug": "cars"
          }
        }
      },
      "vehicle_type_short": {
        "additionalProperties": false,
        "description": "Vehicle type object",
        "properties": {
          "id": {
            "description": "Stable catalogue ID. Private IDs start at 4294967296; all IDs are exact JavaScript-safe integers.",
            "example": 1,
            "type": "integer",
            "format": "int64",
            "minimum": 1,
            "maximum": 9007199254740991
          },
          "name": {
            "description": "Name.",
            "example": "Cars & LCV",
            "maxLength": 2048,
            "pattern": "^[^\\u0000-\\u001F\\u007F]*$",
            "type": "string"
          },
          "origin": {
            "type": "string",
            "enum": [
              "shared",
              "private"
            ],
            "description": "Shared catalogue record or an addition owned by the authenticated customer."
          }
        },
        "title": "Vehicle type",
        "type": "object",
        "x-examples": {
          "Cars": {
            "id": 1,
            "name": "Cars & LCV"
          }
        }
      },
      "work_method": {
        "additionalProperties": false,
        "description": "Work method object",
        "properties": {
          "name": {
            "description": "Name.",
            "example": "OBD",
            "maxLength": 2048,
            "pattern": "^[^\\u0000-\\u001F\\u007F]*$",
            "type": "string"
          },
          "id": {
            "type": "integer",
            "format": "int64",
            "minimum": 1,
            "maximum": 9007199254740991,
            "description": "Stable catalogue ID. Private IDs start at 4294967296; all IDs are exact JavaScript-safe integers."
          },
          "origin": {
            "type": "string",
            "enum": [
              "shared",
              "private"
            ],
            "description": "Shared catalogue record or an addition owned by the authenticated customer."
          },
          "code": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "manufacturer": {
            "type": "string"
          }
        },
        "title": "Work method",
        "type": "object",
        "x-examples": {
          "OBD": {
            "name": "OBD"
          }
        }
      }
    },
    "responses": {
      "error_401": {
        "description": "Request is unauthorized",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/error"
            },
            "examples": {
              "No API access": {
                "value": {
                  "code": 401,
                  "message": "API access is not enabled for this subscription."
                }
              },
              "No enough permissions": {
                "value": {
                  "code": 401,
                  "message": "This API key does not have enough permissions"
                }
              },
              "No active subscription": {
                "value": {
                  "code": 401,
                  "message": "This method requires an active subscription."
                }
              },
              "Other": {
                "value": {
                  "code": 401,
                  "message": "Request unauthorized"
                }
              }
            }
          }
        }
      },
      "error_400": {
        "description": "Bad/Malformed Request",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/error"
            },
            "examples": {
              "Bad Request": {
                "value": {
                  "code": 400,
                  "message": "Bad request / Malformed parameter"
                }
              },
              "Other": {
                "value": {
                  "code": 400,
                  "message": "Other malformed request or bad parameter"
                }
              }
            }
          }
        }
      },
      "error_403": {
        "description": "Request forbidden",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/error"
            },
            "examples": {
              "Invalid API key": {
                "value": {
                  "code": 403,
                  "message": "Invalid API key"
                }
              },
              "Other": {
                "value": {
                  "code": 403,
                  "message": "Request is forbidden"
                }
              }
            }
          }
        }
      },
      "error_404": {
        "description": "Not Found",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/error"
            },
            "examples": {
              "Not found": {
                "value": {
                  "code": 404,
                  "message": "Not found"
                }
              }
            }
          }
        }
      },
      "error_500": {
        "description": "Server Error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/error"
            },
            "examples": {
              "Server Error": {
                "value": {
                  "code": 500,
                  "message": "Internal Server Error"
                }
              }
            }
          }
        }
      },
      "error_406": {
        "description": "Not Acceptable",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/error"
            },
            "examples": {
              "Not Acceptable": {
                "value": {
                  "code": 406,
                  "message": "Requested response format is not acceptable"
                }
              }
            }
          }
        }
      },
      "error_429": {
        "description": "Too Many Requests",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/error"
            },
            "examples": {
              "Rate limit exceeded": {
                "value": {
                  "code": 429,
                  "message": "Too many requests"
                }
              }
            }
          }
        }
      },
      "error_default": {
        "description": "Unexpected error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/error"
            },
            "examples": {
              "Unexpected": {
                "value": {
                  "code": 500,
                  "message": "Unexpected error"
                }
              }
            }
          }
        }
      }
    },
    "parameters": {
      "language": {
        "name": "Accept-Language",
        "in": "header",
        "description": "Method accept custom language. Content of the header should be the code of the language you are requesting. E.g.: `en`.\n",
        "required": false,
        "style": "simple",
        "explode": false,
        "schema": {
          "type": "string",
          "example": "en",
          "enum": [
            "bg",
            "da",
            "de",
            "en",
            "es",
            "et",
            "fi",
            "fr",
            "hr",
            "it",
            "lt",
            "lv",
            "nb",
            "nl",
            "nn",
            "pt",
            "ru",
            "sv",
            "tr",
            "zs"
          ]
        },
        "example": "en"
      }
    },
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "API Key",
        "description": "All API methods require Bearer authentication.\nUse your existing API key as the bearer token.\n\nAuthorization header format: `Authorization: Bearer YOUR_API_KEY`."
      }
    }
  }
}
