{
  "openapi": "3.0.0",
  "info": {
    "title": "TuningFiles API",
    "description": "Welcome to the TuningFiles API documentation.\n\n# Language \nAll API methods accept language parameter, which can be set via the `X-LANG` custom header. Content of the header should be the code of the language you are requesting.\n\nAvailable languages: \n  * English (`en`)\n  * Chinese traditional (`zh-hant`)\n  * Chinese simplified (`zh-hans`)\n  * Russian (`ru`)\n  * Norwegian Bokmål (`nb`)\n  * Latvian (`lv`)\n  * Lithuanian (`lt`)\n  * Croatian (`hr`)\n  * Spanish (`es`)\n\nSet language to English:\n```\ncurl -X GET \"https://api.tuningfiles.com/method\" -H \"x-lang: en\"\n```\n\n# Errors\nIf there is an error, API will return appropriate error code and message like so:\n\n```json\n{\n  \"error\": {\n    \"code\": 404,\n    \"message\": \"Resource doesn't exist\"\n  }\n}\n```\n\nHTTP status code will be the same as the error code. In the case above, returned http status code will be 404.\n\n\nFailed API authentication:\n```json\n{\n  \"error\": {\n    \"code\": 403,\n    \"message\": \"Invalid API key\"\n  }\n}\n```\n\nAPI Key doesn't have enough permissions to access requested resource (some API methods require a paid subscription):\n```json\n{\n  \"error\": {\n    \"code\": 401,\n    \"message\": \"This API key does not have enough permissions\"\n  }\n}\n```\n\nNot found:\n```json\n{\n  \"error\": {\n    \"code\": 404,\n    \"message\": \"Resource doesn't exist\"\n  }\n}\n```\n\nBad request:\n```json\n{\n  \"error\": {\n    \"code\": 400,\n    \"message\": \"Bad request / Wrong parameters\"\n  }\n}\n```\n\nServer error:\n```json\n{\n  \"error\": {\n    \"code\": 500,\n    \"message\": \"Internal server error\"\n  }\n}\n```\n# Rate limits\nTo protect from flood and abuse, this API implements rate limiting. Currently, only requests made to the Vehicle Database REST API are limited. All the requests made to the File Tuning REST API are not rate-limited (this may change in the future).\n\n**Vehicle Database REST API limits:**\n  - All methods: *3600 calls/hour*\n\n**File Tuning REST API limits:**\n  - All methods: *no limits*\n\n**Support REST API limits:**\n  - All methods: *3600 calls/hour*\n  \nLimits are per API Key and are reset every hour. If your app hits those limits, API will return error code `429` with message `This API key has reached the time limit for this method`\n\n\nFile Tuning REST API event types:\n  - `project_create` - Project is created. JSON body will contain the full project and it's file(s) object(s) as [follows.](#operation/project_view) \n  - `project_update` - Project is updated. JSON body will contain the full project and it's file(s) object(s) as [follows.](#operation/project_view)\n  - `file_purchase` - File is purchased. JSON body will contain the full project and it's file(s) object(s) as [follows.](#operation/project_view)\n  \nSupport REST API event types:\n  - `ticket_created` - Support request (ticket) was created. JSON body will contain the full ticket and it's messages metadata as [follows.](#operation/support_view_ticket)\n  - `ticket_opened` - Support request (ticket) status was set to \"Opened\". JSON body will contain the full ticket and it's messages metadata as [follows.](#operation/support_view_ticket)\n  - `ticket_pending` - Support request (ticket) status was set to \"Pending\". JSON body will contain the full ticket and it's messages metadata as [follows.](#operation/support_view_ticket)\n  - `ticket_reopened` - Support request (ticket) status was set to \"Opened\". This event is triggered when a \"closed\" ticket has been re-opened again. JSON body will contain the full ticket and it's messages metadata as [follows.](#operation/support_view_ticket)\n  - `ticket_answered` - Support request (ticket) status was set to \"Answered\". JSON body will contain the full ticket and it's messages metadata as [follows.](#operation/support_view_ticket)\n  - `ticket_closed` - Support request (ticket) status was set to \"Closed\". JSON body will contain the full ticket and it's messages metadata as [follows.](#operation/support_view_ticket)\n  - `message_created` - Triggered when a new message (reply) is added into the ticket. JSON body will contain the full ticket and it's messages metadata as [follows.](#operation/support_view_ticket)\n  \n",
    "termsOfService": "https://tuningfiles.com/terms",
    "contact": {
      "name": "Support",
      "url": "https:/tuningfiles.com",
      "email": "support@tuningfiles.com"
    },
    "version": "1.2.4",
    "x-logo": {
      "url": "https://docs.tuningfiles.com/assets/img/api-logo.png",
      "backgroundColor": "#fafafa",
      "altText": "TuningFiles API Documentation"
    }
  },
  "servers": [
    {
      "url": "https://api.tuningfiles.com/"
    }
  ],
  "security": [
    {
      "api_key": []
    }
  ],
  "tags": [
    {
      "name": "Vehicle Database",
      "description": "Shows vehicle information such types, manufacturers, models, engines, dyno charts and available remaps.\n\n**To be able to access this API you will need to have an active subscription, please make an account and contact us here: https://app.tuningfiles.com**",
      "x-displayName": "Vehicle Database REST API"
    }
  ],
  "paths": {
    "/vdb/subscription": {
      "get": {
        "tags": [
          "Vehicle Database"
        ],
        "summary": "Check for active subscription",
        "description": "This method allows you to check if authenticated API Key have access to the Vehicle Database API",
        "operationId": "vdb_subscription",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/subscription"
                },
                "example": {
                  "name": "Vehicle Database API",
                  "active": true,
                  "end_date": "2020-06-07T10:49:03+00:00"
                }
              }
            }
          },
          "403": {
            "description": "Invalid API Key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_invalid_key"
                }
              }
            }
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/vdb/types": {
      "get": {
        "tags": [
          "Vehicle Database"
        ],
        "summary": "List vehicle types",
        "description": "Returns a list of all available vehicle types",
        "operationId": "vdb_list_types",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "example": [
                    {
                      "id": 1,
                      "name": "Cars & LCV",
                      "slug": "cars",
                      "icon_url": "https://d1etxasddeekf8.cloudfront.net/app-assets/vdb/logos/icl_cars.png"
                    },
                    {
                      "id": 2,
                      "name": "Trucks & Buses",
                      "slug": "trucks",
                      "icon_url": "https://d1etxasddeekf8.cloudfront.net/app-assets/vdb/logos/icl_trucks.png"
                    }
                  ],
                  "items": {
                    "$ref": "#/components/schemas/vdb_vehicle_type"
                  }
                }
              }
            }
          },
          "401": {
            "description": "No enough permissions / Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_401"
                }
              }
            }
          },
          "403": {
            "description": "Invalid API Key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_invalid_key"
                }
              }
            }
          }
        },
        "security": [
          {
            "api_key": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "PHP",
            "source": "try {\n  $result = $apiInstance->vdbListTypes();\n  print_r($result);\n} catch (Exception $e) {\n    echo 'Exception when calling VehicleDatabaseApi->vdbListTypes: ', $e->getMessage(), PHP_EOL;\n}\n"
          }
        ]
      }
    },
    "/vdb/types/{type_id}": {
      "get": {
        "tags": [
          "Vehicle Database"
        ],
        "summary": "View vehicle type",
        "description": "Returns information about specific vehicle type",
        "operationId": "vdb_view_type",
        "parameters": [
          {
            "name": "type_id",
            "in": "path",
            "description": "Vehicle type ID",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vdb_vehicle_type"
                },
                "example": {
                  "id": 1,
                  "name": "Cars & LCV",
                  "slug": "cars",
                  "icon_url": "https://d1etxasddeekf8.cloudfront.net/app-assets/vdb/logos/icl_cars.png"
                }
              }
            }
          },
          "401": {
            "description": "No enough permissions / Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_401"
                }
              }
            }
          },
          "403": {
            "description": "Invalid API Key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_invalid_key"
                }
              }
            }
          },
          "404": {
            "description": "Type doesn't exists",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_404"
                }
              }
            }
          }
        },
        "security": [
          {
            "api_key": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "PHP",
            "source": "$type_id = 1; // int | Vehicle type ID\ntry {\n    $result = $apiInstance->vdbViewType($type_id);\n    print_r($result);\n} catch (Exception $e) {\n    echo 'Exception when calling VehicleDatabaseApi->vdbViewType: ', $e->getMessage(), PHP_EOL;\n}\n"
          }
        ]
      }
    },
    "/vdb/manufacturers/{vehicle_type_id}": {
      "get": {
        "tags": [
          "Vehicle Database"
        ],
        "summary": "List manufacturers",
        "description": "List manufacturers based on vehicle type",
        "operationId": "vdb_list_manufacturers",
        "parameters": [
          {
            "name": "vehicle_type_id",
            "in": "path",
            "description": "Vehicle type ID",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "example": [
                    {
                      "id": 7667,
                      "name": "Acura",
                      "slug": "acura",
                      "brand_logo": "https://d1etxasddeekf8.cloudfront.net/app-assets/vdb/logos/acura.png",
                      "vehicle_type": "Cars & LCV",
                      "vehicle_type_id": 1
                    },
                    {
                      "id": 1026,
                      "name": "Alfa Romeo",
                      "slug": "alfa-romeo",
                      "brand_logo": "https://d1etxasddeekf8.cloudfront.net/app-assets/vdb/logos/alfa_romeo.png",
                      "vehicle_type": "Cars & LCV",
                      "vehicle_type_id": 1
                    }
                  ],
                  "items": {
                    "$ref": "#/components/schemas/vdb_manufacturer"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Missing or wrong parameter supplied",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_bad_request"
                }
              }
            }
          },
          "401": {
            "description": "No enough permissions / Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_401"
                }
              }
            }
          },
          "403": {
            "description": "Invalid API Key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_invalid_key"
                }
              }
            }
          },
          "404": {
            "description": "No manufacturers found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_404"
                }
              }
            }
          }
        },
        "security": [
          {
            "api_key": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "PHP",
            "source": "$vehicle_type_id = 1; // int | Vehicle type ID\ntry {\n    $result = $apiInstance->vdbListManufacturers($vehicle_type_id);\n    print_r($result);\n} catch (Exception $e) {\n    echo 'Exception when calling VehicleDatabaseApi->vdbListManufacturers: ', $e->getMessage(), PHP_EOL;\n}\n"
          }
        ]
      }
    },
    "/vdb/manufacturers/view/{manufacturer_id}": {
      "get": {
        "tags": [
          "Vehicle Database"
        ],
        "summary": "View manufacturer",
        "description": "Returns information about specific manufacturer",
        "operationId": "vdb_view_manufacturer",
        "parameters": [
          {
            "name": "manufacturer_id",
            "in": "path",
            "description": "Manufacturer ID",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vdb_manufacturer"
                },
                "example": {
                  "id": 7667,
                  "name": "Acura",
                  "slug": "acura",
                  "brand_logo": "https://d1etxasddeekf8.cloudfront.net/app-assets/vdb/logos/acura.png",
                  "vehicle_type": "Cars & LCV",
                  "vehicle_type_id": 1
                }
              }
            }
          },
          "400": {
            "description": "Missing or wrong parameter supplied",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_bad_request"
                }
              }
            }
          },
          "401": {
            "description": "No enough permissions / Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_401"
                }
              }
            }
          },
          "403": {
            "description": "Invalid API Key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_invalid_key"
                }
              }
            }
          },
          "404": {
            "description": "Manufacturer not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_404"
                }
              }
            }
          }
        },
        "security": [
          {
            "api_key": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "PHP",
            "source": "$manufacturer_id = 1088; // int | Manufacturer ID\ntry {\n    $result = $apiInstance->vdbViewManufacturer($manufacturer_id);\n    print_r($result);\n} catch (Exception $e) {\n    echo 'Exception when calling VehicleDatabaseApi->vdbViewManufacturer: ', $e->getMessage(), PHP_EOL;\n}\n"
          }
        ]
      }
    },
    "/vdb/models/{manufacturer_id}": {
      "get": {
        "tags": [
          "Vehicle Database"
        ],
        "summary": "List models",
        "description": "List models based on manufacturer",
        "operationId": "vdb_list_models",
        "parameters": [
          {
            "name": "manufacturer_id",
            "in": "path",
            "description": "Manufacturer ID",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "example": [
                    {
                      "id": 1027,
                      "name": "145",
                      "manufacturer": "Alfa Romeo",
                      "manufacturer_id": 1026,
                      "model_photo": "https://d1etxasddeekf8.cloudfront.net/app-assets/vdb/vehicleimages/alfa_145.jpg",
                      "model_photo_unbranded": "https://d1etxasddeekf8.cloudfront.net/app-assets/vdb/vehicleimages/alfa_145.jpg",
                      "slug": "145"
                    },
                    {
                      "id": 1029,
                      "name": "146",
                      "manufacturer": "Alfa Romeo",
                      "manufacturer_id": 1026,
                      "model_photo": "https://d1etxasddeekf8.cloudfront.net/app-assets/vdb/vehicleimages/alfa_146.jpg",
                      "slug": "146"
                    }
                  ],
                  "items": {
                    "$ref": "#/components/schemas/vdb_model"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Missing or wrong parameter supplied",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_bad_request"
                }
              }
            }
          },
          "401": {
            "description": "No enough permissions / Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_401"
                }
              }
            }
          },
          "403": {
            "description": "Invalid API Key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_invalid_key"
                }
              }
            }
          },
          "404": {
            "description": "No models found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_404"
                }
              }
            }
          }
        },
        "security": [
          {
            "api_key": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "PHP",
            "source": "$manufacturer_id = 1088; // int | Manufacturer ID\ntry {\n    $result = $apiInstance->vdbListModels($manufacturer_id);\n    print_r($result);\n} catch (Exception $e) {\n    echo 'Exception when calling VehicleDatabaseApi->vdbListModels: ', $e->getMessage(), PHP_EOL;\n}\n"
          }
        ]
      }
    },
    "/vdb/models/view/{model_id}": {
      "get": {
        "tags": [
          "Vehicle Database"
        ],
        "summary": "View model",
        "description": "Returns information about specific model",
        "operationId": "vdb_view_model",
        "parameters": [
          {
            "name": "model_id",
            "in": "path",
            "description": "Model ID",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vdb_model"
                },
                "example": {
                  "id": 1027,
                  "name": "145",
                  "manufacturer": "Alfa Romeo",
                  "manufacturer_id": 1026,
                  "model_photo": "https://d1etxasddeekf8.cloudfront.net/app-assets/vdb/vehicleimages/alfa_145.jpg",
                  "model_photo_unbranded": "https://d1etxasddeekf8.cloudfront.net/app-assets/vdb/vehicleimages/alfa_145.jpg",
                  "slug": "145"
                }
              }
            }
          },
          "400": {
            "description": "Missing or wrong parameter supplied",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_bad_request"
                }
              }
            }
          },
          "401": {
            "description": "No enough permissions / Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_401"
                }
              }
            }
          },
          "403": {
            "description": "Invalid API Key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_invalid_key"
                }
              }
            }
          },
          "404": {
            "description": "Model not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_404"
                }
              }
            }
          }
        },
        "security": [
          {
            "api_key": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "PHP",
            "source": "$model_id = 7740; // int | Model ID\ntry {\n    $result = $apiInstance->vdbViewModel($model_id);\n    print_r($result);\n} catch (Exception $e) {\n    echo 'Exception when calling VehicleDatabaseApi->vdbViewModel: ', $e->getMessage(), PHP_EOL;\n}\n"
          }
        ]
      }
    },
    "/vdb/generations/{model_id}": {
      "get": {
        "tags": [
          "Vehicle Database"
        ],
        "summary": "List model generations",
        "description": "List available generations for specific model",
        "operationId": "vdb_list_generations",
        "parameters": [
          {
            "name": "model_id",
            "in": "path",
            "description": "Model ID",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "example": [
                    {
                      "id": 164,
                      "name": "8L",
                      "slug": "8l",
                      "model_id": 138,
                      "year": 1996,
                      "yearend": 2003,
                      "photo": "https://d1etxasddeekf8.cloudfront.net/app-assets/vdb/generations/audi_a3_8l.jpg",
                      "photo_unbranded": "https://d1etxasddeekf8.cloudfront.net/app-assets/vdb/generations/audi_a3_8l.jpg",
                      "model": "A3",
                      "manufacturer": "Audi",
                      "manufacturer_id": 1088
                    },
                    {
                      "id": 168,
                      "name": "8V FL",
                      "slug": "8v-fl",
                      "model_id": 138,
                      "year": 2016,
                      "photo": "https://d1etxasddeekf8.cloudfront.net/app-assets/vdb/generations/audi_a3_8v_fl.jpg",
                      "model": "A3",
                      "manufacturer": "Audi",
                      "manufacturer_id": 1088
                    }
                  ],
                  "items": {
                    "$ref": "#/components/schemas/vdb_generation"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Missing or wrong parameter supplied",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_bad_request"
                }
              }
            }
          },
          "401": {
            "description": "No enough permissions / Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_401"
                }
              }
            }
          },
          "403": {
            "description": "Invalid API Key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_invalid_key"
                }
              }
            }
          },
          "404": {
            "description": "No generations found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_404"
                }
              }
            }
          }
        },
        "security": [
          {
            "api_key": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "PHP",
            "source": "$model_id = 138; // int | Model ID\ntry {\n    $result = $apiInstance->vdbListGenerations($model_id);\n    print_r($result);\n} catch (Exception $e) {\n    echo 'Exception when calling VehicleDatabaseApi->vdbListGenerations: ', $e->getMessage(), PHP_EOL;\n}\n"
          }
        ]
      }
    },
    "/vdb/generations/view/{generation_id}": {
      "get": {
        "tags": [
          "Vehicle Database"
        ],
        "summary": "View generation",
        "description": "Returns information about specific model generation",
        "operationId": "vdb_view_generation",
        "parameters": [
          {
            "name": "generation_id",
            "in": "path",
            "description": "Generation ID",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vdb_generation"
                },
                "example": {
                  "id": 167,
                  "name": "8V",
                  "slug": "8v",
                  "model_id": 138,
                  "year": 2012,
                  "yearend": 2016,
                  "photo": "https://d1etxasddeekf8.cloudfront.net/app-assets/vdb/generations/audi_a3_8v.jpg",
                  "photo_unbranded": "https://d1etxasddeekf8.cloudfront.net/app-assets/vdb/generations/audi_a3_8v.jpg",
                  "model": "A3",
                  "manufacturer": "Audi",
                  "manufacturer_id": 1088
                }
              }
            }
          },
          "400": {
            "description": "Missing or wrong parameter supplied",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_bad_request"
                }
              }
            }
          },
          "401": {
            "description": "No enough permissions / Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_401"
                }
              }
            }
          },
          "403": {
            "description": "Invalid API Key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_invalid_key"
                }
              }
            }
          },
          "404": {
            "description": "Generation not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_404"
                }
              }
            }
          }
        },
        "security": [
          {
            "api_key": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "PHP",
            "source": "$generation_id = 167; // int | Generation ID\ntry {\n    $result = $apiInstance->vdbViewGeneration($model_id);\n    print_r($result);\n} catch (Exception $e) {\n    echo 'Exception when calling VehicleDatabaseApi->vdbViewGeneration: ', $e->getMessage(), PHP_EOL;\n}\n"
          }
        ]
      }
    },
    "/vdb/engines/{generation_id}": {
      "get": {
        "tags": [
          "Vehicle Database"
        ],
        "summary": "List engines",
        "description": "List engines for specific model generation",
        "operationId": "vdb_list_engines",
        "parameters": [
          {
            "name": "generation_id",
            "in": "path",
            "description": "Generation ID",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "example": [
                    {
                      "id": 2790,
                      "name": "1.8 20V 125hp 170Nm",
                      "slug": "1-8-20v-125hp-170nm",
                      "type": "Petrol",
                      "power": 125,
                      "torque": 170,
                      "cylinders": 4,
                      "hp_values": "0,9,32,54,72,92,113,125,0,0",
                      "nm_values": "0,79,135,155,155,162,170,153,0,0",
                      "rpm_values": "0,1000,2000,3000,4000,5000,6000,7000,8000,9000",
                      "fuel_name": "Petrol"
                    },
                    {
                      "id": 1028,
                      "name": "1.9 JTD (1997) 105hp 255Nm",
                      "slug": "1-9-jtd-1997-105hp-255nm",
                      "type": "Turbo Diesel",
                      "power": 105,
                      "torque": 255,
                      "hp_values": "0,17,48,67,84,95,102,105,95,0",
                      "nm_values": "0,128,230,253,255,243,217,202,171,0",
                      "rpm_values": "0,1000,1500,2000,2500,3000,3500,4000,4500,5000",
                      "fuel_name": "Diesel"
                    }
                  ],
                  "items": {
                    "$ref": "#/components/schemas/vdb_engine"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Missing or wrong parameter supplied",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_bad_request"
                }
              }
            }
          },
          "401": {
            "description": "No enough permissions / Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_401"
                }
              }
            }
          },
          "403": {
            "description": "Invalid API Key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_invalid_key"
                }
              }
            }
          },
          "404": {
            "description": "No engines found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_404"
                }
              }
            }
          }
        },
        "security": [
          {
            "api_key": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "PHP",
            "source": "$generation_id = 167; // int | Generation ID\ntry {\n    $result = $apiInstance->vdbListEngines($generation_id);\n    print_r($result);\n} catch (Exception $e) {\n    echo 'Exception when calling VehicleDatabaseApi->vdbListEngines: ', $e->getMessage(), PHP_EOL;\n}\n"
          }
        ]
      }
    },
    "/vdb/engines/view/{engine_id}": {
      "get": {
        "tags": [
          "Vehicle Database"
        ],
        "summary": "View engine",
        "description": "Returns information about specific engine",
        "operationId": "vdb_view_engine",
        "parameters": [
          {
            "name": "engine_id",
            "in": "path",
            "description": "Engine ID",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vdb_engine_info"
                },
                "example": {
                  "id": 2790,
                  "name": "1.8 20V 125hp 170Nm",
                  "slug": "1-8-20v-125hp-170nm",
                  "type": "Petrol",
                  "power": 125,
                  "torque": 170,
                  "cylinders": 4,
                  "hp_values": "0,9,32,54,72,92,113,125,0,0",
                  "nm_values": "0,79,135,155,155,162,170,153,0,0",
                  "rpm_values": "0,1000,2000,3000,4000,5000,6000,7000,8000,9000",
                  "fuel_name": "Petrol",
                  "options": [
                    {
                      "name": "DPF",
                      "code": "DPF OFF",
                      "description": "Removal of DPF",
                      "icon": "https://d1etxasddeekf8.cloudfront.net/app-assets/vdb/engine_options/q4127dcwjeow0owwk.png"
                    }
                  ],
                  "remap_stages": [
                    {
                      "stage_no": 1,
                      "power": 136,
                      "torque": 201,
                      "hp_values": "0,10,34,59,78,100,123,136",
                      "nm_values": "0,93,159,183,183,191,201,181",
                      "modifications": ""
                    }
                  ],
                  "read_tools": [
                    {
                      "id": 4,
                      "name": "Alientech K-Tag"
                    },
                    {
                      "id": 5,
                      "name": "Alientech Kess V2"
                    }
                  ],
                  "read_methods": [
                    {
                      "id": 1,
                      "value": "ODB"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Missing or wrong parameter supplied",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_bad_request"
                }
              }
            }
          },
          "401": {
            "description": "No enough permissions / Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_401"
                }
              }
            }
          },
          "403": {
            "description": "Invalid API Key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_invalid_key"
                }
              }
            }
          },
          "404": {
            "description": "Engine not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_404"
                }
              }
            }
          }
        },
        "security": [
          {
            "api_key": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "PHP",
            "source": "$engine_id = 1133; // int | Engine ID\ntry {\n    $result = $apiInstance->vdbViewEngine($engine_id);\n    print_r($result);\n} catch (Exception $e) {\n    echo 'Exception when calling VehicleDatabaseApi->vdbViewEngine: ', $e->getMessage(), PHP_EOL;\n}\n"
          }
        ]
      }
    },
    "/vdb/engines/search": {
      "get": {
        "tags": [
          "Vehicle Database"
        ],
        "summary": "Search engine",
        "description": "Search for engine",
        "operationId": "vdb_engines_search",
        "parameters": [
          {
            "name": "query",
            "in": "query",
            "description": "Search query (minimum 3 characters)",
            "required": true,
            "style": "form",
            "explode": true,
            "schema": {
              "minLength": 3,
              "type": "string"
            }
          },
          {
            "name": "fuel",
            "in": "query",
            "description": "Fuel type (optional)",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "example": [
                    {
                      "id": 2790,
                      "name": "1.8 20V 125hp 170Nm",
                      "slug": "1-8-20v-125hp-170nm",
                      "type": "Petrol",
                      "power": 125,
                      "torque": 170,
                      "cylinders": 4,
                      "hp_values": "0,9,32,54,72,92,113,125,0,0",
                      "nm_values": "0,79,135,155,155,162,170,153,0,0",
                      "rpm_values": "0,1000,2000,3000,4000,5000,6000,7000,8000,9000",
                      "fuel_name": "Petrol"
                    },
                    {
                      "id": 1028,
                      "name": "1.9 JTD (1997) 105hp 255Nm",
                      "slug": "1-9-jtd-1997-105hp-255nm",
                      "type": "Turbo Diesel",
                      "power": 105,
                      "torque": 255,
                      "year": 0,
                      "hp_values": "0,17,48,67,84,95,102,105,95,0",
                      "nm_values": "0,128,230,253,255,243,217,202,171,0",
                      "rpm_values": "0,1000,1500,2000,2500,3000,3500,4000,4500,5000",
                      "fuel_name": "Diesel"
                    }
                  ],
                  "items": {
                    "$ref": "#/components/schemas/vdb_engine"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Missing or wrong parameter supplied",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_bad_request"
                }
              }
            }
          },
          "401": {
            "description": "No enough permissions / Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_401"
                }
              }
            }
          },
          "403": {
            "description": "Invalid API Key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_invalid_key"
                }
              }
            }
          },
          "404": {
            "description": "Nothing found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_404"
                }
              }
            }
          }
        },
        "security": [
          {
            "api_key": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "PHP",
            "source": "$query = \"2.0 TDI 136hp\"; // string | Search query (minimum 3 characters)\n$fuel = \"petrol\"; // string | Fuel type (optional)\ntry {\n    $result = $apiInstance->vdbEnginesSearch($query, $fuel);\n    print_r($result);\n} catch (Exception $e) {\n    echo 'Exception when calling VehicleDatabaseApi->vdbEnginesSearch: ', $e->getMessage(), PHP_EOL;\n}\n"
          }
        ]
      }
    },
    "/vdb/performance/{generation_id}/{engine_id}": {
      "get": {
        "tags": [
          "Vehicle Database"
        ],
        "summary": "View vehicle performance",
        "description": "Getting data of vehicle performance per model generation and engine",
        "operationId": "vdb_view_performance",
        "parameters": [
          {
            "name": "generation_id",
            "in": "path",
            "description": "Generation ID",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "engine_id",
            "in": "path",
            "description": "Engine ID",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vdb_performance"
                }
              }
            }
          },
          "400": {
            "description": "Missing or wrong parameter supplied",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_bad_request"
                }
              }
            }
          },
          "401": {
            "description": "No enough permissions / Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_401"
                }
              }
            }
          },
          "403": {
            "description": "Invalid API Key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_invalid_key"
                }
              }
            }
          },
          "404": {
            "description": "No data",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_404"
                }
              }
            }
          }
        },
        "security": [
          {
            "api_key": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "PHP",
            "source": "$generation_id = 1131; // int | Generation ID\n$engine_id = 9623; // int | Engine ID\ntry {\n    $result = $apiInstance->vdbViewPerformance($generation_id, $engine_id);\n    print_r($result);\n} catch (Exception $e) {\n    echo 'Exception when calling VehicleDatabaseApi->vdbViewPerformance: ', $e->getMessage(), PHP_EOL;\n}\n"
          }
        ]
      }
    },
    "/vdb/search": {
      "get": {
        "tags": [
          "Vehicle Database"
        ],
        "summary": "Search",
        "description": "Searches through: manufacturer, model, engine names for the possible match and outputs a list of all found information.",
        "operationId": "vdb_search",
        "parameters": [
          {
            "name": "query",
            "in": "query",
            "description": "Search query (minimum 2 characters)",
            "required": true,
            "style": "form",
            "explode": true,
            "schema": {
              "minLength": 2,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/vdb_search"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Missing or wrong parameter supplied",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_bad_request"
                }
              }
            }
          },
          "401": {
            "description": "No enough permissions / Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_401"
                }
              }
            }
          },
          "403": {
            "description": "Invalid API Key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_invalid_key"
                }
              }
            }
          },
          "404": {
            "description": "Nothing found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error_404"
                }
              }
            }
          }
        },
        "security": [
          {
            "api_key": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "PHP",
            "source": "$query = \"Audi A4\"; // string | Search query (minimum 2 characters)\ntry {\n    $result = $apiInstance->vdbSearch($query);\n    print_r($result);\n} catch (Exception $e) {\n    echo 'Exception when calling VehicleDatabaseApi->vdbSearch: ', $e->getMessage(), PHP_EOL;\n}\n"
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "vdb_vehicle_type": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Vehicle type ID."
          },
          "name": {
            "type": "string",
            "description": "Vehicle type name."
          },
          "slug": {
            "type": "string",
            "description": "URL-friendly name (slug)."
          },
          "icon_url": {
            "type": "string",
            "description": "Icon.",
            "nullable": true
          }
        }
      },
      "vdb_manufacturer": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Manufacturer ID."
          },
          "name": {
            "type": "string",
            "description": "Manufacturer name."
          },
          "slug": {
            "type": "string",
            "description": "URL-friendly name (slug)."
          },
          "brand_logo": {
            "type": "string",
            "description": "Manufacturer photo.",
            "nullable": true
          },
          "vehicle_type": {
            "type": "string",
            "description": "Type of the vehicle."
          },
          "vehicle_type_id": {
            "type": "integer",
            "description": "Vehicle type ID."
          }
        }
      },
      "vdb_model": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Model ID."
          },
          "name": {
            "type": "string",
            "description": "Model name."
          },
          "manufacturer": {
            "type": "string",
            "description": "Manufacturer name."
          },
          "manufacturer_id": {
            "type": "integer",
            "description": "Manufacturer ID."
          },
          "model_photo": {
            "type": "string",
            "description": "Photo of the model.",
            "nullable": true
          },
          "model_photo_unbranded": {
            "type": "string",
            "description": "Photo of the model (non branded version).",
            "nullable": true
          },
          "slug": {
            "type": "string",
            "description": "URL-friendly name (slug)."
          }
        }
      },
      "vdb_generation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Generation ID."
          },
          "name": {
            "type": "string",
            "description": "Generation name."
          },
          "manufacturer": {
            "type": "string",
            "description": "Manufacturer name."
          },
          "manufacturer_id": {
            "type": "integer",
            "description": "Manufacturer ID."
          },
          "model_id": {
            "type": "integer",
            "description": "Model ID."
          },
          "model": {
            "type": "string",
            "description": "Model name."
          },
          "year": {
            "type": "integer",
            "description": "Year of manufacture",
            "nullable": true
          },
          "yearend": {
            "type": "integer",
            "description": "End year of manufacture",
            "nullable": true
          },
          "photo": {
            "type": "string",
            "description": "Photo of the generation.",
            "nullable": true
          },
          "photo_unbranded": {
            "type": "string",
            "description": "Photo of the generation (non branded version).",
            "nullable": true
          },
          "slug": {
            "type": "string",
            "description": "URL-friendly name (slug)."
          }
        }
      },
      "vdb_engine": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Engine ID."
          },
          "name": {
            "type": "string",
            "description": "Engine name."
          },
          "slug": {
            "type": "string",
            "description": "URL-friendly name (slug)."
          },
          "type": {
            "type": "string",
            "description": "Engine type. Diesel, Petrol, Turbo Diesel, Turbo Petrol, Heavy Diesel, Heavy Turbo Diesel, Marine Diesel, Marine Petrol, Marine Turbo Diesel, Hybrid, Other."
          },
          "capacity": {
            "type": "integer",
            "description": "Engine capacity in cubic cm.",
            "nullable": true
          },
          "power": {
            "type": "integer",
            "description": "Engine horse power (metric).",
            "nullable": true
          },
          "torque": {
            "type": "integer",
            "description": "Engine torque in Nm.",
            "nullable": true
          },
          "cylinders": {
            "type": "integer",
            "description": "Number of cylinders.",
            "nullable": true
          },
          "year": {
            "type": "integer",
            "description": "Manufacture year.",
            "nullable": true
          },
          "ecu": {
            "type": "string",
            "description": "ECU used.",
            "nullable": true
          },
          "tcu": {
            "type": "string",
            "description": "Transmission control unit.",
            "nullable": true
          },
          "hp_values": {
            "type": "string",
            "description": "HP values for plotting a dyno chart."
          },
          "nm_values": {
            "type": "string",
            "description": "Nm values for plotting a dyno chart."
          },
          "rpm_values": {
            "type": "string",
            "description": "RPM values for plotting a dyno chart."
          },
          "engine_code": {
            "type": "string",
            "description": "Engine code.",
            "nullable": true
          },
          "fuel_name": {
            "type": "string",
            "description": "Type of the fuel used. Diesel, Petrol, Ethanol, LPG, Hybrid."
          }
        }
      },
      "vdb_engine_info": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Engine ID."
          },
          "name": {
            "type": "string",
            "description": "Engine name."
          },
          "slug": {
            "type": "string",
            "description": "URL-friendly name (slug)."
          },
          "type": {
            "type": "string",
            "description": "Engine type. Diesel, Petrol, Turbo Diesel, Turbo Petrol, Heavy Diesel, Heavy Turbo Diesel, Marine Diesel, Marine Petrol, Marine Turbo Diesel, Hybrid, Other."
          },
          "capacity": {
            "type": "integer",
            "description": "Engine capacity in cubic cm.",
            "nullable": true
          },
          "power": {
            "type": "integer",
            "description": "Engine horse power (metric).",
            "nullable": true
          },
          "torque": {
            "type": "integer",
            "description": "Engine torque in Nm.",
            "nullable": true
          },
          "cylinders": {
            "type": "integer",
            "description": "Number of cylinders.",
            "nullable": true
          },
          "year": {
            "type": "integer",
            "description": "Manufacture year.",
            "nullable": true
          },
          "ecu": {
            "type": "string",
            "description": "ECU used",
            "nullable": true
          },
          "tcu": {
            "type": "string",
            "description": "Transmission control unit.",
            "nullable": true
          },
          "hp_values": {
            "type": "string",
            "description": "HP values for plotting a dyno chart."
          },
          "nm_values": {
            "type": "string",
            "description": "Nm values for plotting a dyno chart."
          },
          "rpm_values": {
            "type": "string",
            "description": "RPM values for plotting a dyno chart."
          },
          "engine_code": {
            "type": "string",
            "description": "Engine code.",
            "nullable": true
          },
          "fuel_name": {
            "type": "string",
            "description": "Type of the fuel used. Diesel, Petrol, Ethanol, LPG, Hybrid."
          },
          "options": {
            "type": "array",
            "description": "Available remap options for this engine. This is only informational. When creating a project for tuning you should use the `addons` from [/vehicles/remaps/{vehicle_type_id}](#operation/remaps_list) method.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/vdb_engine_info_options"
            }
          },
          "remap_stages": {
            "type": "array",
            "description": "Available remaps for this engine.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/vdb_engine_info_remap_stages"
            }
          },
          "read_tools": {
            "type": "array",
            "description": "Tuning tools which can be used to read this engine.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/vdb_engine_info_read_tools"
            }
          },
          "read_methods": {
            "type": "array",
            "description": "Method to use when reading this engine.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/vdb_engine_info_read_methods"
            }
          }
        }
      },
      "vdb_performance": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "example": 8300
          },
          "fuel_consumption_avg": {
            "type": "number",
            "description": "Average fuel consumption.",
            "example": 10.6
          },
          "top_speed": {
            "type": "number",
            "description": "Maximum speed in kmh.",
            "example": 250
          },
          "zero_to_hundred": {
            "type": "number",
            "description": "Time to get from 0kmh to 100kmh (in seconds)."
          },
          "top_speed_st1": {
            "type": "number",
            "description": "Maximum speed with Stage 1 tuning (in kmh).",
            "example": 281
          },
          "zero_to_hundred_st1": {
            "type": "number",
            "description": "Time to get from 0kmh to 100kmh with Stage 1 tuning (in seconds).",
            "example": 5
          },
          "top_speed_st2": {
            "type": "number",
            "description": "Maximum speed with Stage 2 tuning (in kmh).",
            "example": 0
          },
          "zero_to_hundred_st2": {
            "type": "number",
            "description": "Time to get from 0kmh to 100kmh with Stage 2 tuning (in seconds).",
            "example": 0
          }
        }
      },
      "vdb_search": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer"
          },
          "type_id": {
            "type": "integer",
            "description": "Vehicle type ID."
          },
          "type_name": {
            "type": "string",
            "description": "Vehicle type."
          },
          "manufacturer_id": {
            "type": "integer",
            "description": "Manufacturer ID."
          },
          "manufacturer_name": {
            "type": "string",
            "description": "Manufacturer name."
          },
          "manufacturer_slug": {
            "type": "string",
            "description": "URL-friendly name (slug) of the manufacturer."
          },
          "brand_logo": {
            "type": "string",
            "description": "Photo of the brand.",
            "nullable": true
          },
          "model_id": {
            "type": "integer",
            "description": "Model ID."
          },
          "model_common_name": {
            "type": "string",
            "description": "Model name."
          },
          "model_slug": {
            "type": "string",
            "description": "URL-friendly name (slug) of the model."
          },
          "model_photo": {
            "type": "string",
            "description": "Photo of the model.",
            "nullable": true
          },
          "model_photo_unbranded": {
            "type": "string",
            "description": "Photo of the model (non branded version).",
            "nullable": true
          },
          "generation_id": {
            "type": "integer",
            "description": "Generation ID."
          },
          "generation_name": {
            "type": "string",
            "description": "Generation name."
          },
          "generation_slug": {
            "type": "string",
            "description": "URL-friendly name (slug) of the generation."
          },
          "generation_photo": {
            "type": "string",
            "description": "Photo of the generation.",
            "nullable": true
          },
          "generation_photo_unbranded": {
            "type": "string",
            "description": "Photo of the generation (non branded version).",
            "nullable": true
          },
          "engine_id": {
            "type": "integer",
            "description": "Engine ID."
          },
          "engine_name": {
            "type": "string",
            "description": "Engine name."
          },
          "engine_slug": {
            "type": "string",
            "description": "URL-friendly name (slug) of the engine."
          }
        },
        "example": [
          {
            "id": 1,
            "type_id": 1,
            "type_name": "Cars & LCV",
            "manufacturer_id": 1088,
            "manufacturer_name": "Audi",
            "manufacturer_slug": "audi",
            "brand_logo": "https://d1etxasddeekf8.cloudfront.net/app-assets/vdb/logos/audi.png",
            "model_id": 7737,
            "model_common_name": "A4 B5",
            "model_slug": "a4-b5",
            "model_photo": "https://d1etxasddeekf8.cloudfront.net/app-assets/vdb/vehicleimages/audi_a4_b5_31pynyoby3ok0.jpg",
            "model_photo_unbranded": "https://d1etxasddeekf8.cloudfront.net/app-assets/vdb/vehicleimages/audi_a4_b5_31pynyoby3ok0.jpg",
            "generation_id": 169,
            "generation_name": "B5",
            "generation_slug": "b5",
            "generation_photo": "https://d1etxasddeekf8.cloudfront.net/app-assets/vdb/generations/audi_a4_b5_31pynyoby3ok0.jpg",
            "generation_photo_unbranded": "https://d1etxasddeekf8.cloudfront.net/app-assets/vdb/generations/audi_a4_b5_31pynyoby3ok0.jpg",
            "engine_id": 2770,
            "engine_name": "1.9 TDI 90Hp 210Nm",
            "engine_slug": "1-9-tdi-90hp-210nm"
          },
          {
            "id": 2,
            "type_id": 1,
            "type_name": "Cars & LCV",
            "manufacturer_id": 1088,
            "manufacturer_name": "Audi",
            "manufacturer_slug": "audi",
            "brand_logo": "https://d1etxasddeekf8.cloudfront.net/app-assets/vdb/logos/audi.png",
            "model_id": 7737,
            "model_common_name": "A4 B5",
            "model_slug": "a4-b5",
            "model_photo": "https://d1etxasddeekf8.cloudfront.net/app-assets/vdb/vehicleimages/audi_a4_b5_31pynyoby3ok0.jpg",
            "model_photo_unbranded": "https://d1etxasddeekf8.cloudfront.net/app-assets/vdb/vehicleimages/audi_a4_b5_31pynyoby3ok0.jpg",
            "generation_id": 169,
            "generation_name": "B5",
            "generation_slug": "b5",
            "generation_photo": "https://d1etxasddeekf8.cloudfront.net/app-assets/vdb/generations/audi_a4_b5_31pynyoby3ok0.jpg",
            "generation_photo_unbranded": "https://d1etxasddeekf8.cloudfront.net/app-assets/vdb/generations/audi_a4_b5_31pynyoby3ok0.jpg",
            "engine_id": 1108,
            "engine_name": "1.9 TDI 110hp 235Nm",
            "engine_slug": "1-9-tdi-110hp-235nm"
          }
        ]
      },
      "error_invalid_key": {
        "type": "object",
        "properties": {
          "error": {
            "$ref": "#/components/schemas/error_invalid_key_error"
          }
        }
      },
      "error_bad_request": {
        "type": "object",
        "properties": {
          "error": {
            "$ref": "#/components/schemas/error_bad_request_error"
          }
        }
      },
      "error_401": {
        "type": "object",
        "properties": {
          "error": {
            "$ref": "#/components/schemas/error_401_error"
          }
        }
      },
      "error_404": {
        "type": "object",
        "properties": {
          "error": {
            "$ref": "#/components/schemas/error_404_error"
          }
        }
      },
      "error_500": {
        "type": "object",
        "properties": {
          "error": {
            "$ref": "#/components/schemas/error_500_error"
          }
        }
      },
      "inline_response_201": {
        "allOf": [
          {
            "$ref": "#/components/schemas/support_ticket"
          },
          {
            "type": "object",
            "properties": {
              "messages": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/support_ticket_messages"
                }
              }
            }
          }
        ]
      },
      "vdb_engine_info_options": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Option name."
          },
          "code": {
            "type": "string",
            "description": "Option short name."
          },
          "description": {
            "type": "string",
            "description": "Short description."
          },
          "icon": {
            "type": "string",
            "description": "Link to the icon for this option."
          }
        }
      },
      "vdb_engine_info_remap_stages": {
        "type": "object",
        "properties": {
          "stage_no": {
            "type": "integer",
            "description": "Remap stage number. E.g. 1, 2, etc."
          },
          "power": {
            "type": "integer",
            "description": "HP value after remap"
          },
          "torque": {
            "type": "integer",
            "description": "Torque value after remap (in Nm)."
          },
          "hp_values": {
            "type": "string",
            "description": "HP values for plotting a dyno chart."
          },
          "nm_values": {
            "type": "string",
            "description": "Nm values for plotting a dyno chart."
          },
          "modifications": {
            "type": "string",
            "description": "Modifications needed."
          }
        }
      },
      "vdb_engine_info_read_tools": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Tool ID."
          },
          "name": {
            "type": "string",
            "description": "Tool Name."
          }
        }
      },
      "vdb_engine_info_read_methods": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Method ID."
          },
          "value": {
            "type": "string",
            "description": "Method Name."
          }
        }
      },
      "error_invalid_key_error": {
        "type": "object",
        "properties": {
          "code": {
            "type": "number",
            "description": "Error code. Typically it will be the same as the returtned HTTP response code.",
            "example": 403
          },
          "message": {
            "type": "string",
            "description": "Error message.",
            "example": "Invalid API key"
          }
        }
      },
      "error_bad_request_error": {
        "type": "object",
        "properties": {
          "code": {
            "type": "number",
            "description": "Error code. Typically it will be the same as the returtned HTTP response code.",
            "example": 400
          },
          "message": {
            "type": "string",
            "description": "Error message.",
            "example": "Bad request / Missing parameter"
          }
        }
      },
      "error_401_error": {
        "type": "object",
        "properties": {
          "code": {
            "type": "number",
            "description": "Error code. Typically it will be the same as the returtned HTTP response code.",
            "example": 401
          },
          "message": {
            "type": "string",
            "description": "Error message.",
            "example": "This API key does not have enough permissions"
          }
        }
      },
      "error_404_error": {
        "type": "object",
        "properties": {
          "code": {
            "type": "number",
            "description": "Error code. Typically it will be the same as the returtned HTTP response code.",
            "example": 404
          },
          "message": {
            "type": "string",
            "description": "Error message.",
            "example": "No result(s) found"
          }
        }
      },
      "error_500_error": {
        "type": "object",
        "properties": {
          "code": {
            "type": "number",
            "description": "Error code. Typically it will be the same as the returtned HTTP response code.",
            "example": 500
          },
          "message": {
            "type": "string",
            "description": "Error message.",
            "example": "Internal server error"
          }
        }
      }
    },
    "securitySchemes": {
      "api_key": {
        "type": "apiKey",
        "description": "All API methods required authentication with api key, which can be obtained from [https://app.tuningfiles.com/api](https://app.tuningfiles.com/api). \n\nAPI Key must be send via custom `X-API-KEY` header. Do not send it as url query parameter.\n\nAuthentication example using Curl:\n```\ncurl -X GET \"https://api.tuningfiles.com/method\" -H \"x-api-key: YOUR_API_KEY\"\n```\n",
        "name": "x-api-key",
        "in": "header"
      }
    }
  }
}
