openapi: 3.1.0
info:
  title: Nitto Tire USA API
  description: |
    API for the Nitto tire finder.
    **Document last updated:** 2025-04-21
  contact:
    name: API Support
    email: info@entrinix.com
  license:
    name: Proprietary
    url: https://www.entrinix.com/nittotire-api
  version: 4.0.2
servers:
  - url: https://entrinix.nittotire.com
    description: Nitto Tire Production Server
  - url: https://api.nittotire.entrinix.com
    description: Nitto Tire Staging Server
  - url: http://api.nittotire.test
    description: Nitto Tire Development Server
tags:
  - name: auth
    description: Auth functions return *JWT* tokens for use with other functions.
  - name: brand
    description: Brands functions return *Nitto tire* brand information.
  - name: legacy
    description: Legacy functions return the previous version of the API.
  - name: product
    description: Product functions return *Nitto tire* product information.
  - name: reference
    description: Reference functions return data to pass to other functions or are test functions.
  - name: system
    description: System functions return *system information* (not related to tire products or OE vehicles).
  - name: tirefinder
    description: Tire functions return *Nitto tire* information.
  - name: vehicle
    description: Vehicle functions return *OE vehicle* information.
components:
  securitySchemes:
    # apiKey:
    #   type: apiKey
    #   name: X-API-Key
    #   in: header
    bearerAuth:
      type: http
      description: By using the authenticate endpoint, you can obtain a token that can be used to access secured endpoints.
      scheme: bearer
      bearerFormat: JWT
  parameters:
    AspectRatio:
      name: ar
      description: Aspect ratio to filter with. If a value is passed in, only tires with a matching value are returned.
      in: query
      schema:
        type: integer
        enum: [25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85]
      example: 60
    BrandId:
      name: brand_id
      description: Unique ID for the brand.
      in: path
      required: true
      schema:
        type: integer
      example: 1
    Filter:
      name: filter[]
      description: Filter to apply to the results. This is an array of field to value pairs. For example, *filter[make_id]=1&filter[name]=Neo+Gen* will return all resultsfor make ID 1 and name Neo Gen.
      in: query
      schema:
        type: string
      example: filter[make_id]=1&filter[name]=Neo+Gen
    FlotationSeries:
      name: fs
      description: Flotation series to filter with. If a value is passed in, only tires with a matching value are returned.
      in: query
      schema:
        type: number
        format: float
    IsActive:
      name: is_active
      description: Display active (1) or inactive (0) items.
      in: query
      schema:
        type: integer
        enum: [0, 1]
    LoadIndexDual:
      name: lid
      description: Load index (dual) value.
      in: query
      schema:
        type: integer
    LoadIndex:
      name: li
      description: Load index (single) value.
      in: query
      schema:
        type: integer
    LoadMarginPercent:
      name: lmp
      description: Load margin percent.
      in: query
      schema:
        type: integer
    LoadRange:
      name: lr
      description: Load range.
      in: query
      schema:
        type: string
    MakeID:
      name: make_id
      description: Unique ID for the make.
      in: query
      schema:
        type: integer
      example: 2
    ModelID:
      name: model_id
      description: Unique ID for the model.
      in: query
      schema:
        type: integer
      example: 4
    OffsetSpeedRanking:
      name: offset-speed-ranking
      description: This changes the speed rating offset by a desired amount. For example, 1 will allow a V rated tire where H is the max.
      in: query
      schema:
        type: integer
    OrderBy:
      name: order-by
      in: query
      description: Order by a certain field.
      required: false
      schema:
        type: string
        default: id ASC
      examples:
        idAsc:
          summary: Order by lowest ID in ascending order.
          value: id
        idDesc:
          summary: Order by highest ID in descending order.
          value: id DESC
        titleAsc:
          summary: Order by title in alphabetical order.
          value: title
        titleDesc:
          summary: Order by title in reverse alphabetical order.
          value: title DESC
    OverallDiameter:
      name: oad
      description: Overall diameter of the tire.
      in: query
      required: false
      schema:
        type: number
        format: float
    Page:
      name: pg
      description: Page number.
      in: query
      required: false
      schema:
        type: integer
        default: 1
      example: 1
    PerPage:
      name: per-page
      description: Number of items shown per page.
      in: query
      schema:
        type: integer
        default: 50
      examples:
        page10:
          summary: "10"
          value: 10
        page20:
          summary: "20"
          value: 20
        page50:
          summary: "50"
          value: 50
    PlusSize:
      name: plus_size
      description: Plus sizes that should be shown. This can be a value e.g. *1*, a comma separated value e.g. *1,2,3,4*, or a range e.g. *0-8*. Use *oe* for OE fitments. So *oe-8* returns all plus sizes. *oe,1,3* returns OE,  +1, and +3 fitments.
      in: query
      schema:
        type: string
        pattern: ^(oe|[0-8])(-[0-8]|,[0-8]+)*$
        default: oe
      example: 1-2
    ProductGroupIdPath:
      name: product_group_id
      description: ID of the product group.
      in: path
      required: true
      schema:
        type: integer
    ProductGroupIdQuery:
      name: product_group_id
      description: ID of the product group.
      in: query
      required: true
      schema:
        type: integer
    RimDiameter:
      name: rd
      description: Rim diameter of the tire.
      in: query
      schema:
        type: number
        format: float
    Search:
      name: search
      description: Filter data result with the search parameter.
      in: query
      schema:
        type: string
      example: R12
    SectionWidth:
      name: section-width
      description: Section width of the tire.
      in: query
      schema:
        type: integer
        minimum: 60
        maximum: 6000
      example: 195
    Sort:
      name: sort
      description: Sort order (ASC or DESC).
      in: query
      schema:
        type: string
        enum: [ASC, DESC]
    ShowCategories:
      name: show[categories]
      description: Show categories linked to the object.
      in: query
      schema:
        type: boolean
        default: false
    ShowFailed:
      name: show[failed]
      description: Show failed tire information in detail.
      in: query
      schema:
        type: boolean
        default: false
    ShowFiles:
      name: show[files]
      description: Show files linked to the object.
      in: query
      schema:
        type: boolean
        default: false
    ShowImages:
      name: show[images]
      description: Show images linked to the object.
      in: query
      schema:
        type: boolean
        default: false
    ShowMakes:
      name: show[makes]
      description: Show makes of vehicles.
      in: query
      schema:
        type: boolean
        default: false
    ShowModels:
      name: show[models]
      description: Show models of vehicles.
      in: query
      schema:
        type: boolean
        default: false
    ShowParsed:
      name: show[parsed]
      description: Show parsed tire information in detail.
      in: query
      schema:
        type: boolean
        default: false
    ShowYears:
      name: show[years]
      description: Show years of vehicles.
      in: query
      schema:
        type: boolean
        default: false
    SpeedRating:
      name: sr
      description: Speed rating of the tire.
      in: query
      schema:
        type: string
        enum:
          - B
          - C
          - D
          - E
          - F
          - G
          - J
          - K
          - L
          - M
          - "N"
          - P
          - Q
          - R
          - S
          - T
          - U
          - H
          - V
          - W
          - "Y"
          - Z
          - (Y)
    Status:
      name: status
      description: Filter the results for a given status.
      in: query
      schema:
        type: string
        enum: [success, info, warning, error]
      example: success
    TireId:
      name: tire_id
      description: The ID of the tire obtained from the list endpoint.
      in: path
      required: true
      schema:
        type: integer
    TireMetric:
      name: tire-metric
      description: Tire metric of the tire. The **tire-metric** parameter is also aliased to **tire_metric**.
      in: query
      schema:
        type: string
        enum: [Flotation, LT-Metric, Metric, PAX, P-Metric, Spare]
      example: Metric
    TireSize:
      name: tire_size
      description: Size of the tire, with or without the load index information.
      in: query
      schema:
        type: string
      example: 205/60R15 104/106W
    TrimID:
      name: trim_id
      description: The ID of the trim of the vehicle. A vehicle can have 1 or more trims. That is, a vehicle can have multiple optional tires, but the trim is the same. For example, a BMW X3 can come with multiple tire sizes.
      in: query
      schema:
        type: integer
      example: 302
    Units:
      name: units
      description: Units to return (imperial or metric).
      in: query
      schema:
        type: string
        enum: [imperial, metric]
        default: imperial
      example: imperial
    VehicleID:
      name: vehicle_id
      description: Unique ID value of a given vehicle.
      in: query
      schema:
        type: integer
      example: 1
    Year:
      name: year
      description: Model year of the vehicle.
      in: query
      schema:
        type: integer
      example: 2000
  responses:
    "200":
      description: Successful response.
    "201":
      description: Successful create.
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                example: Internal server error. Please contact support.
              status:
                type: string
                example: error
    "400":
      description: Missing or invalid querystring parameter.
    "404":
      description: No data found.
    "422":
      description: Invalid input.
      content:
        application/json:
          schema:
            type: object
            properties:
              errors:
                $ref: "#/components/schemas/Errors"
              message:
                type: string
                example: Internal server error. Please contact support.
              status:
                $ref: "#/components/schemas/StatusError"
    "500":
      description: Internal server error.
      content:
        application/json:
          schema:
            type: object
            properties:
              data:
                type: "null"
              message:
                type: string
                example: Internal server error. Please contact support.
              stats:
                type: object
                properties:
                  failed:
                    type: integer
                    description: Number of items that failed.
                    example: 1
              status:
                $ref: "#/components/schemas/StatusError"
  schemas:
    ApprovedRimWidths:
      type: string
      description: Approved rim widths in inches.
      example: 8.0-(8.0)-9.5
    AspectRatio:
      type: number
      multipleOf: 5
      description: Aspect ratio of the tire. Flotation sizes will show the series (9.5, 10.5).
      minimum: 9.5
      maximum: 90
      example: 30
    AspectRatios:
      type: array
      description: List of aspect ratios.
      items:
        $ref: "#/components/schemas/AspectRatio"
      example: [30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80]
    Brand:
      type: object
      properties:
        aliases:
          type: array
          items:
            type: string
          example: [Nitto Tire, Nitto Tires]
        attributes:
          type: object
        code:
          type: string
          example: nto
        date_created:
          type: string
          description: Datetime in format YYYY-MM-DD HH:MM:SS
          format: date-time
          example: "2023-02-02 05:02:35"
        date_modified:
          type: string
          description: Datetime in format YYYY-MM-DD HH:MM:SS
          format: date-time
          example: "2024-01-15 23:17:55"
        id:
          type: integer
          example: 1
        is_active:
          type: boolean
          example: true
        title:
          type: string
          example: Nitto
      required:
        - id
        - title
    CountValueInteger:
      type: object
      properties:
        count:
          type: integer
        value:
          type: [integer, "null"]
    CountValueString:
      type: object
      properties:
        count:
          type: integer
        value:
          type: [string, "null"]
    DateCreated:
      type: string
      format: date-time
      description: Date time the record was created (RFC 3339 timestamp).
    DateModified:
      type: string
      format: date-time
      description: Date time the record was last modified (RFC 3339 timestamp).
    Email:
      type: string
      description: Email address of the user.
      example: john.doe@example.com
    Errors:
      type: object
      description: List of errors produced during the API call with key-value pairs where keys represent the field names and values contain the validation errors. A given field can have one or more errors associated with it.
      additionalProperties:
        type: array
        items:
          type: string
          description: Field-specific error message
      example:
        key: [value]
    File:
      type: object
      description: Linked file object.
      properties:
        id:
          type: integer
          description: Unique ID of the file.
          example: 1
    Files:
      type: array
      description: List of files linked to the object. Only returned when the *show[files]* querystring parameter is set to true.
      items:
        $ref: "#/components/schemas/File"
    FitmentFailureReason:
      type: string
      description: Failure key.
      enum:
        [
          section_width,
          max_load,
          speed_rating,
          tire_metric,
          product_to_vehicle,
        ]
      example: section_width
    FitmentFailureReasons:
      type: array
      description: List of reason keys why a fitment failed.
      items:
        $ref: "#/components/schemas/FitmentFailureReason"
      example:
        [
          section_width,
          max_load,
          speed_rating,
          tire_metric,
          product_to_vehicle,
        ]
    FlotationSeries:
      type: [number, "null"]
      format: float
      description: For flotation tires, this is the flotation series of the tire, in inches.
      example: 15.5
    FRB:
      type: string
      description: Front, rear, or both.
      enum: [F, R, B]
      example: F
    Image:
      type: object
      description: Linked image object.
      properties:
        id:
          type: integer
          description: Unique ID of the image.
          example: 1
    Images:
      type: array
      description: List of images linked to the object. Only returned when the *show[images]* querystring parameter is set to true.
      items:
        $ref: "#/components/schemas/Image"
    IsActive:
      type: boolean
      description: Is the item active in the system?
      example: true
    LoadIndex:
      type: [integer, "null"]
      description: Load index for a single tire.
      example: 72
      minimum: 70
      maximum: 140
    LoadIndexDual:
      type: [integer, "null"]
      description: Load index when there is a dual tire setup.
      example: 89
      minimum: 70
      maximum: 140
    LoadRange:
      type: [string, "null"]
      description: Load range of the tire.
      enum: [C, D, E, LL, RD, RF, SL, XL, "null"]
      example: XL
    Make:
      type: string
      description: Vehicle make.
      example: Saab
    MakeId:
      type: integer
      description: Unique ID for the make of the vehicle. This is equal to the *make_id*. This ID is used to pass to the model search.
      example: 1
    MaxLoad:
      type: [integer, "null"]
      description: Maximum load of a single tire. Units are in lbs or kg based on the *units* querystring parameter. Default is lbs.
      example: 783
    MaxLoadDual:
      type: [integer, "null"]
      description: Maximum load when there are 2 tires (typical for rear tire setups). Units are in lbs or kg based on the *units* querystring parameter. Default is lbs.
      example: 840
    MaxPressure:
      type: [number, "null"]
      format: decimal
      description: Maximum pressure of a single tire. Units are in psi or bar based on the *units* querystring parameter. Default is psi.
      example: 44
    MaxPressureDual:
      type: [number, "null"]
      format: decimal
      description: Maximum pressure when there are 2 tires (typical for rear tire setups). Units are in psi or bar based on the *units* querystring parameter. Default is psi.
      example: 40
    MaxSpeed:
      type: [integer, "null"]
      description: Maximum speed of a single tire. Units are in mph or kmph based on the *units* querystring parameter. Default is mph.
      example: 100
    Message:
      type: string
      description: Human readable information about the returned response.
      example: This is a human readable version of what the returned response means.
    Model:
      type: string
      description: Name of the vehicle model. This is used for display purposes only, and is not used to filter due to misspellings and/or abbreviations.
      example: Civic
    ModelId:
      type: integer
      description: Unique ID for the model of the vehicle. This is equal to the *model_id*.
      example: 3
    Notes:
      type: [string, "null"]
      description: Notes specific to the item.
      example: This is a note about the item, saved on Nov 23.
    OverallDiameter:
      type: [number, "null"]
      format: decimal
      description: Overall diameter of the tire. Units are in inches or cm based on the *units* querystring parameter. Default is inches.
      example: 30.5
    OverallSectionWidth:
      type: [number, "null"]
      description: Overall section width of the tire. This is the width of the tire when mounted on a rim.
      example: 5.9
    OverallTireDiameter:
      type: [number, "null"]
      description: Overall tire diameter of the tire. Units are in inches or cm based on the *units* querystring parameter. Default is inches.
      example: 33
    PlyRating:
      type: [integer, string]
      description: Ply rating of the tire. These values are only used on Elevated, Flotation, LT-Metric, LT-Numeric, and Metric tires.
      enum: [B, C, D, E, F, 8, 6]
      example: B
    Price:
      type: [number, "null"]
      format: decimal
      description: Price of the item in USD.
      example: 99.99
    Pagination:
      type: object
      properties:
        pages:
          type: object
          properties:
            current:
              type: integer
              description: Current page of the results.
              example: 1
            rows_per_page:
              type: integer
              description: How many result items per page.
              default: 50
              example: 10
            total:
              type: integer
              description: Total number of pages for the queried results. This is the number of active rows divided by the per page value.
              example: 5
        rows:
          type: object
          properties:
            all:
              type: integer
              description: All rows, disregarding any filters or active status.
              example: 1033
            count:
              type: integer
              description: Count of rows returned in this result set.
              example: 50
            end:
              type: integer
              description: Last row to be displayed. For example, if 50 are requested and 44 are available, it will show 44.
              example: 44
            start:
              type: integer
              description: Number of the first
            total:
              type: integer
              description: Total number of rows, regardless of which page. Counts are for filtered data. See *all* for unfiltered counts.
              example: 1033
    ParsedTireDesc:
      type: [object, "null"]
      description: Parsed tire object. Null if tire could not be parsed or the parsing does not apply.
      properties:
        aspect_ratio:
          type: integer
          description: Aspect ratio of the parsed tire.
          example: 60
        load_desc:
          type: string
        load_index:
          type: integer
          example: 104
        load_index_dual:
          type: integer
          example: 106
        rim_diameter:
          type: number
          format: decimal
          example: 15
        section_width:
          type: integer
          example: 205
        speed_rating:
          $ref: "#/components/schemas/SpeedRating"
        tire_metric:
          type: string
          enum: [Flotation, LT-Metric, Metric, PAX, P-Metric, Spare, "null"]
          example: Metric
        tire_size:
          $ref: "#/components/schemas/TireSizeFull"
        tire_type:
          type: string
          enum: [R, B]
          description: Tire type, either radial or bias.
          example: R
    Performance:
      type: object
      description: Returns basic performance metrics of the API call.
      properties:
        elapsed_seconds:
          type: number
          format: decimal
          description: Elapsed time of API endpoint call in seconds.
          example: 0.0044
        memory_usage_bytes:
          type: integer
          description: Maximum memory used in the call, in bytes.
          example: 1548112
        memory_usage_human:
          type: string
          description: Maximum memory used in the call, in human readable format.
          example: 1.48 MB
    ProductAttributes:
      type: object
      description: Nitto tire specific values.
      properties:
        ean:
          type: string
          description: European Article Number (EAN) of the tire.
          example: "4562221234567"
        fet:
          type: string
          description: Federal Tire Identification Number (TIN) of the tire.
          example: "1234567890123"
        pattern_name:
          type: string
          description: Pattern of the tire.
          example: Highway Terrain
        pattern_sub_name:
          type: string
          description: Sub-pattern of the tire.
          example: Extreme
        sfcd_id:
          type: string
          description: Salesforce ID of the tire.
          example: 01tC0000003XgMyIAK
        sidewall:
          type: string
          description: Sidewall of the tire.
          example: Black
        sidewall_construction:
          type: string
          description: Sidewall construction of the tire.
          example: 2P
        suggested_applications:
          type: string
          description: Suggested applications for the tire.
          example: Nissan Titan, Toyota Tundra
        tread_construction:
          type: string
          description: Tread construction of the tire.
          example: 2S+2P+2N
    ProductCategory:
      type: object
      properties:
        id:
          type: integer
          description: Unique ID of the category.
          example: 1
        title:
          type: string
          description: Name or title of the category.
          example: Performance
        join_id:
          type: integer
          description: ID of the join table.
          example: 234
        description:
          type: [string, "null"]
          description: Description of the category.
          example: null
    ProductDescription:
      type: string
      description: Description of the tire.
      example: The Nitto NT421Q is a premium all-season tire designed for luxury SUVs and crossovers. It offers a perfect balance of performance, comfort, and  durability.
    ProductGroupAttributes:
      type: object
      description: Nitto Tire specific attributes for the group.
      properties:
        rate_drag_race:
          type: [number, "null"]
          format: float
          description: Rating for drag racing.
          example: 2.5
          minimum: 0
          maximum: 5
          multipleOf: 0.5
        rate_dry_traction:
          type: [number, "null"]
          format: float
          description: Rating for dry traction.
          example: 4.5
          minimum: 0
          maximum: 5
          multipleOf: 0.5
        rate_or_traction:
          type: [number, "null"]
          format: float
          description: Rating for off-road traction.
          example: 4
          minimum: 0
          maximum: 5
          multipleOf: 0.5
        rate_quiet_ride:
          type: [number, "null"]
          format: float
          description: Rating for quiet ride.
          example: 2.5
          minimum: 0
          maximum: 5
          multipleOf: 0.5
        rate_ride_comfort:
          type: [number, "null"]
          format: float
          description: Rating for ride comfort.
          example: 2.5
          minimum: 0
          maximum: 5
          multipleOf: 0.5
        rate_road_race:
          type: [number, "null"]
          format: float
          description: Rating for road racing.
          example: 1.5
          minimum: 0
          maximum: 5
          multipleOf: 0.5
        rate_treadwear:
          type: [number, "null"]
          format: float
          description: Rating for treadwear.
          example: 3.5
          minimum: 0
          maximum: 5
          multipleOf: 0.5
        rate_wet_traction:
          type: [number, "null"]
          format: float
          description: Rating for wet traction.
          example: 2.5
          minimum: 0
          maximum: 5
          multipleOf: 0.5
    ProductGroupDescription:
      type: string
      description: Description of the group of tire. Groups are
      example: The Nitto NT421Q is a premium all-season tire designed for luxury SUVs and crossovers. It offers a perfect balance of performance, comfort, and durability.
    ProductGroupFull:
      allOf:
        - $ref: "#/components/schemas/ProductGroupLinked"
        - type: object
          properties:
            date_created:
              $ref: "#/components/schemas/DateCreated"
            date_modified:
              $ref: "#/components/schemas/DateModified"
            description:
              type: string
              description: Description of the group.
              example: The Nitto NT421Q is a premium all-season tire designed for luxury SUVs and crossovers. It offers a perfect balance of performance, comfort, and durability.
            is_active:
              $ref: "#/components/schemas/IsActive"
    ProductGroupLinked:
      type: object
      description: Attributes of the group this tire belongs to. Groups are used to put the same tire family (Trail Grappler, NT421Q) with different sizes.
      properties:
        attributes:
          $ref: "#/components/schemas/ProductGroupAttributes"
        description:
          $ref: "#/components/schemas/ProductGroupDescription"
        id:
          type: integer
          description: Unique internal identifying ID of the group of the tire.
          example: 84
        title:
          type: string
          description: Title or name of the tire group.
          example: Motivo 365
    ProductGroupId:
      type: integer
      description: ID of the group this tire belongs to.
      example: 84
    ProductGroupTitle:
      type: string
      description: Title of the group this tire belongs to. Groups are used to put the same tire family (Trail Grappler, NT421Q) with different sizes.
      example: The Nitto NT421Q is a premium all-season tire designed for luxury SUVs and crossovers. It offers a perfect balance of performance, comfort, and durability.
    ProductGroupUpsert:
      type: object
      properties:
        attributes:
          $ref: "#/components/schemas/ProductGroupAttributes"
        description:
          $ref: "#/components/schemas/ProductGroupDescription"
        is_active:
          $ref: "#/components/schemas/IsActive"
        title:
          $ref: "#/components/schemas/ProductGroupTitle"
      required:
        - title
        - is_active
    ProductInputDelete:
      type: object
      properties:
        id:
          type: [string, integer]
          description: |
            IDs of the brands to delete.
            Accepts:
            - Number: 2
            - Single ID: "1"
            - Range: "1-7"
            - Comma-separated: "1,3,7"
      required:
        - id
    ProductStatus:
      type: string
      description: Status of the tire.
      example: Discontinued
    ProductTireUpsert:
      type: object
      properties:
        approved_rim_widths:
          $ref: "#/components/schemas/ApprovedRimWidths"
        aspect_ratio:
          $ref: "#/components/schemas/AspectRatio"
        attributes:
          $ref: "#/components/schemas/ProductAttributes"
        description:
          $ref: "#/components/schemas/ProductDescription"
        flotation_series:
          $ref: "#/components/schemas/FlotationSeries"
        group_id:
          $ref: "#/components/schemas/ProductGroupId"
        is_active:
          $ref: "#/components/schemas/IsActive"
        load_index:
          $ref: "#/components/schemas/LoadIndex"
        load_index_dual:
          $ref: "#/components/schemas/LoadIndexDual"
        load_range:
          $ref: "#/components/schemas/LoadRange"
        max_load:
          $ref: "#/components/schemas/MaxLoad"
        max_load_dual:
          $ref: "#/components/schemas/MaxLoadDual"
        max_pressure:
          $ref: "#/components/schemas/MaxPressure"
        max_pressure_dual:
          $ref: "#/components/schemas/MaxPressureDual"
        max_speed:
          $ref: "#/components/schemas/MaxSpeed"
        notes:
          $ref: "#/components/schemas/Notes"
        overall_diameter:
          $ref: "#/components/schemas/OverallDiameter"
        overall_section_width:
          $ref: "#/components/schemas/OverallSectionWidth"
        overall_tire_diameter:
          $ref: "#/components/schemas/OverallTireDiameter"
        ply_rating:
          $ref: "#/components/schemas/PlyRating"
        price:
          $ref: "#/components/schemas/Price"
        qty_in_stock:
          $ref: "#/components/schemas/QtyInStock"
        revs_per_mile:
          $ref: "#/components/schemas/RevsPerMile"
        rim_diameter:
          $ref: "#/components/schemas/RimDiameter"
        sku:
          $ref: "#/components/schemas/SKU"
        speed_rating:
          $ref: "#/components/schemas/SpeedRating"
        status:
          $ref: "#/components/schemas/ProductStatus"
        tags:
          $ref: "#/components/schemas/Tags"
        tire_metric:
          $ref: "#/components/schemas/TireMetric"
        tire_size:
          $ref: "#/components/schemas/TireSize"
        title:
          $ref: "#/components/schemas/ProductTitle"
        tread_depth:
          $ref: "#/components/schemas/TreadDepth"
        type:
          $ref: "#/components/schemas/ProductType"
        type_id:
          $ref: "#/components/schemas/ProductTypeId"
        utqg:
          $ref: "#/components/schemas/UTQG"
        weight:
          $ref: "#/components/schemas/Weight"
      required:
        - title
        - is_active
    ProductTire:
      type: object
      properties:
        approved_rim_widths:
          $ref: "#/components/schemas/ApprovedRimWidths"
        aspect_ratio:
          $ref: "#/components/schemas/AspectRatio"
        attributes:
          $ref: "#/components/schemas/ProductAttributes"
        categories:
          type: array
          items:
            $ref: "#/components/schemas/ProductCategory"
        date_created:
          $ref: "#/components/schemas/DateCreated"
        date_modified:
          $ref: "#/components/schemas/DateModified"
        description:
          $ref: "#/components/schemas/ProductDescription"
        files:
          $ref: "#/components/schemas/Files"
        flotation_series:
          $ref: "#/components/schemas/FlotationSeries"
        group:
          $ref: "#/components/schemas/ProductGroupLinked"
        group_id:
          $ref: "#/components/schemas/ProductGroupId"
        guid:
          $ref: "#/components/schemas/UUID"
        id:
          type: integer
          description: Unique internal identifying ID of the tire itself.
          example: 1088
        images:
          $ref: "#/components/schemas/Images"
        is_active:
          $ref: "#/components/schemas/IsActive"
        load_index:
          $ref: "#/components/schemas/LoadIndex"
        load_index_dual:
          $ref: "#/components/schemas/LoadIndexDual"
        load_range:
          $ref: "#/components/schemas/LoadRange"
        max_load:
          $ref: "#/components/schemas/MaxLoad"
        max_load_dual:
          $ref: "#/components/schemas/MaxLoadDual"
        max_pressure:
          $ref: "#/components/schemas/MaxPressure"
        max_pressure_dual:
          $ref: "#/components/schemas/MaxPressureDual"
        max_speed:
          $ref: "#/components/schemas/MaxSpeed"
        notes:
          $ref: "#/components/schemas/Notes"
        overall_diameter:
          $ref: "#/components/schemas/OverallDiameter"
        overall_section_width:
          $ref: "#/components/schemas/OverallSectionWidth"
        overall_tire_diameter:
          $ref: "#/components/schemas/OverallTireDiameter"
        ply_rating:
          $ref: "#/components/schemas/PlyRating"
        price:
          $ref: "#/components/schemas/Price"
        qty_in_stock:
          $ref: "#/components/schemas/QtyInStock"
        revs_per_mile:
          $ref: "#/components/schemas/RevsPerMile"
        rim_diameter:
          $ref: "#/components/schemas/RimDiameter"
        sku:
          $ref: "#/components/schemas/SKU"
        speed_rating:
          $ref: "#/components/schemas/SpeedRating"
        status:
          $ref: "#/components/schemas/ProductStatus"
        tags:
          $ref: "#/components/schemas/Tags"
        tire_metric:
          $ref: "#/components/schemas/TireMetric"
        tire_size:
          $ref: "#/components/schemas/TireSize"
        title:
          $ref: "#/components/schemas/ProductTitle"
        tread_depth:
          $ref: "#/components/schemas/TreadDepth"
        type:
          $ref: "#/components/schemas/ProductType"
        type_id:
          $ref: "#/components/schemas/ProductTypeId"
        utqg:
          $ref: "#/components/schemas/UTQG"
        weight:
          $ref: "#/components/schemas/Weight"
    ProductTires:
      type: array
      items:
        $ref: "#/components/schemas/ProductTire"
    ProductTitle:
      type: string
      description: Name or title of the tire.
      example: Dura Grappler A/T
    ProductType:
      type: object
      description: Type of tire.
      properties:
        attributes:
          type: [object, "null"]
          description: Attributes of the type of tire this belongs to.
        description:
          type: [string, "null"]
          description: Description of the tire type.
          example: H/T tires primaryly for use on pavement and highway use.
        id:
          type: integer
          description: Unique identifier for the tire type.
          example: 3
        title:
          type: string
          description: Name or title of the tire type.
          example: Summer
    ProductTypeId:
      type: integer
      description: ID of the type this tire belongs to.
      example: 9
    QtyInStock:
      type: [integer, "null"]
      description: Quantity of the item in stock.
      example: 100
    RevsPerMile:
      type: [integer, "null"]
      description: Maximum revolutions per mile for the tire.
      example: 927
    RimDiameter:
      type: [number, "null"]
      format: decimal
      description: Rim diameter of the tire. Units are in inches.
      example: 14
      minimum: 12
      maximum: 390
    RimDiameters:
      type: array
      items:
        $ref: "#/components/schemas/RimDiameter"
      example:
        [
          12,
          13,
          14,
          15,
          16,
          16.5,
          17,
          18,
          18.1,
          18.9,
          19,
          20,
          21,
          21.3,
          22,
          23,
          24,
          365,
          390,
        ]
    SectionWidth:
      type: [integer, string, "null"]
      description: Section width of the tire. Units are in MM.
      example: 145
    SectionWidths:
      type: array
      description: List of section widths of Nitto tires.
      items:
        $ref: "#/components/schemas/SectionWidth"
      example: [165, 175, 185, 195, 205, 215, 225, 235, LT195, LT215, 29, 30]
    SpeedRatingRanks:
      type: object
      description: Key value pair of the speed ratings. Since speed ratings
      properties:
        B:
          type: integer
          example: 1
        C:
          type: integer
          example: 2
        D:
          type: integer
          example: 3
        E:
          type: integer
          example: 4
        F:
          type: integer
          example: 5
        G:
          type: integer
          example: 6
        J:
          type: integer
          example: 7
        K:
          type: integer
          example: 8
        L:
          type: integer
          example: 9
        M:
          type: integer
          example: 10
        N:
          type: integer
          example: 11
        P:
          type: integer
          example: 12
        Q:
          type: integer
          example: 13
        R:
          type: integer
          example: 14
        S:
          type: integer
          example: 15
        T:
          type: integer
          example: 16
        U:
          type: integer
          example: 17
        H:
          type: integer
          example: 18
        V:
          type: integer
          example: 19
        Z:
          type: integer
          example: 20
        W:
          type: integer
          example: 21
        Y:
          type: integer
          example: 22
        "(Y)":
          type: integer
          example: 23
      additionalProperties: false
    SKU:
      type: string
      description: Unique article number/SKU of the tire.
      example: "03449730000"
    SpeedRating:
      type: [string, "null"]
      description: Speed rating of the tire.
      enum:
        - B
        - C
        - D
        - E
        - F
        - G
        - J
        - K
        - L
        - M
        - "N"
        - P
        - Q
        - R
        - S
        - T
        - U
        - H
        - V
        - W
        - "Y"
        - Z
        - (Y)
      example: (Y)
    Stats:
      type: object
      properties:
        deleted:
          type: integer
          description: Number of items deleted by this call. Only shown if items are deleted.
          example: 2
        failed:
          type: integer
          description: Number of items that failed to insert, delete, update, or be selected. Only shown if there are failures.
          example: 1
        inserted:
          type: integer
          description: Number of items inserted by this call. Only shown if items are inserted.
          example: 1
        selected:
          type: integer
          description: Number of items selected by this call. Only shown if there are selected items.
          example: 5
        updated:
          type: integer
          description: Number of items updated by this call. Only shown if items are updated.
          example: 1
    Status:
      type: string
      description: |-
        Status of the output.

        Error = There were errors in the request and data was not returned.

        Info = Request returned data, no processing was done.

        Success = Request processed data and returned data with no errors.

        Warning = Request returned null or some data (not all) was returned.
      enum: [error, expired, info, success, unauthorized, warning]
      example: success
    StatusError:
      type: string
      description: Error message if the status is error.
      example: error
    Tags:
      type: array
      items:
        type: string
        description: Tags associated with the tire.
        example: All Season
    TireGroup:
      type: object
      properties:
        title:
          type: string
        is_active:
          type: integer
        count:
          type: integer
    TireFinderData:
      type: object
      properties:
        load_index:
          type: array
          items:
            $ref: "#/components/schemas/CountValueInteger"
        load_range:
          type: array
          items:
            $ref: "#/components/schemas/CountValueString"
        max_pressure:
          type: array
          items:
            $ref: "#/components/schemas/CountValueInteger"
        ply_rating:
          type: array
          items:
            $ref: "#/components/schemas/CountValueString"
        speed_rating:
          type: array
          items:
            $ref: "#/components/schemas/CountValueString"
        tire_metric:
          type: array
          items:
            $ref: "#/components/schemas/CountValueString"
        tires:
          type: object
          properties:
            groups:
              type: array
              items:
                $ref: "#/components/schemas/TireGroup"
            total:
              type: integer
    TireFinderParseTire:
      type: [object, "null"]
      description: Parsed tire broken down to dimensions and load index information.
      properties:
        B:
          allOf:
            - $ref: "#/components/schemas/ParsedTireDesc"
            - description: Parsed tire, if applicable to **both** front and rear tires. This is the most common output.
        F:
          allOf:
            - $ref: "#/components/schemas/ParsedTireDesc"
            - description: Parsed tire, if applicable to **front** tires.
        R:
          allOf:
            - $ref: "#/components/schemas/ParsedTireDesc"
            - description: Parsed tire, if applicable to **rear** tires.
    TireFitments:
      type: array
      items:
        type: object
        properties:
          display:
            type: string
            description: Human readable version of the plus (or OE) size.
            enum: [OE, "+0", "+1", "+2", "+3", "+4", "+5", "+6", "+7", "+8"]
          plus_size:
            type: integer
            description: Plus size in integer format. -1 is OE.
            enum: [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8]
          replacements:
            type: array
            description: Replacement Nitto tires for this vehicle and plus size.
            items:
              $ref: "#/components/schemas/ProductTires"
    TireMetric:
      type: string
      description: Metric of the tire.
      enum:
        [
          Bias,
          Elevated,
          Flotation,
          LT-Metric,
          LT-Numeric,
          Metric,
          P-Metric,
          PAX,
          TRX,
          Spare,
        ]
      example: Metric
    TireMetrics:
      type: array
      description: List of tire metrics.
      items:
        $ref: "#/components/schemas/TireMetric"
    TireSize:
      type: [string, "null"]
      description: Basic tire size, which usually does not include load index, speed rating, or tire type.
      example: 215/40R16
    TireSizeFull:
      type: [string, "null"]
      description: Full tire size, which usually includes load index, speed rating, and tire type.
      example: 215/40R16 86V XL
    TireSizes:
      type: array
      description: List of tire sizes.
      items:
        $ref: "#/components/schemas/TireSize"
    TireStats:
      type: object
      properties:
        activated:
          type: array
          description: Which tires are active in the system vs inactive. This only shows if stats=full on the query parameter.
          items:
            type: object
            properties:
              count:
                type: integer
                description: Count of tire rows with this active/inactive/null value.
                example: 123
              value:
                type: string
                description: Value of the item being counted.
                example: active
                enum: [active, inactive]
        date_created:
          type: array
          description: Groups tires with date created value. This removes the time value. This only shows if stats=full on the query parameter.
          items:
            type: object
            properties:
              count:
                type: integer
                description: Count of tire rows with this date created value.
                example: 1023
              value:
                type: string
                format: date
                description: Date created value.
                example: 2020-09-09
        date_modified:
          type: array
          description: Groups tires with date modified value. This removes the time value. This only shows if stats=full on the query parameter.
          items:
            type: object
            properties:
              count:
                type: integer
                description: Count of tire rows with this date modified value.
                example: 130
              value:
                type: string
                format: date
                description: Date modified value.
                example: 2021-01-12
        dimensions:
          type: object
          description: Groups tires with dimensions. This only shows if stats=full on the query parameter.
          properties:
            aspect_ratio:
              type: array
              description: Aspect ratio counts.
              items:
                type: object
                properties:
                  count:
                    type: integer
                    description: Count of tire rows with this aspect ratio value.
                    example: 45
                  value:
                    type: integer
                    description: Aspect ratio value.
                    example: 55
            flotation_series:
              type: array
              description:
                The flotation series only applies to flotation sizes. It is the
                37X*12.5*R15 part of the tire size.
              items:
                type: object
                properties:
                  count:
                    type: integer
                    description: Count of tire rows with this flotation series value.
                    example: 1421
                  value:
                    type: [integer, "null"]
                    description: Flotation series value.
                    example: null
            overall_diameter:
              type: array
              description:
                The overall diameter only applies to flotation sizes. It is the
                *37*X12.5R15 part of the tire size.
              items:
                type: object
                properties:
                  count:
                    type: integer
                    description: Count of tire rows with this overall diameter value.
                    example: 43
                  value:
                    type: integer
                    description: Overall diameter value.
                    example: 37
            rim_diameter:
              type: array
              description:
                The rim diameter is typically an integer, but in some strange
                flotation sizes, it can be 12.5 or 13.5.
              items:
                type: object
                properties:
                  count:
                    type: integer
                    description: Count of tire rows with this rim diameter value.
                    example: 435
                  value:
                    type: integer
                    description: Rim diameter value.
                    example: 14
            section_width:
              type: array
              description: Section widths of Nitto tires.
              items:
                type: object
                properties:
                  count:
                    type: integer
                    description: Count of tire rows with this section width value.
                    example: 435
                  value:
                    type: integer
                    description: Section width value.
                    example: 235
        load_index:
          type: array
          items:
            type: object
            properties:
              count:
                type: integer
                description: Count of tire rows with this load index value.
                example: 1303
              value:
                type: integer
                description: Load index value.
                example: 89
        load_range:
          type: array
          items:
            type: object
            properties:
              count:
                type: integer
                description: Count of tire rows with this load range value.
                example: 690
              value:
                type: string
                description: Load range value.
                example: XL
        max_pressure:
          type: array
          items:
            type: object
            properties:
              count:
                type: integer
                description: Count of tire rows with this max pressure value.
                example: 1150
              value:
                type: integer
                description: Max pressure value, in PSI.
                example: 51
        speed_rating:
          type: array
          items:
            type: object
            properties:
              count:
                type: integer
                description: Count of tire rows with this speed rating value.
                example: 367
              value:
                type: string
                description: Speed rating value.
                example: H
        tire_metric:
          type: array
          items:
            type: object
            properties:
              count:
                type: integer
                description: Count of tire rows with this tire metric value.
                example: 1356
              value:
                type: string
                description: Tire metric value.
                example: Metric
        total:
          type: integer
          description: Total number of Nitto tires in the system (active or inactive).
          example: 1453
    TreadDepth:
      type: [integer, "null"]
      description: Tread depth of the tire, in 32nds.
      example: 10
    Trim:
      type: string
      description: Name of the vehicle trim (option).
      example: EX
    TrimId:
      type: integer
      description: Unique ID of the vehicle trim. This is the vehicle ID *vehicle_id*.
      example: 9175
    UnitsWeight:
      type: string
      description: Units for the front and rear load.
      enum: [kg, lbs]
      default: lbs
      example: lbs
    UTQG:
      type: string
      description: UTQG for the tire.
      example: 500 A A
    UUID:
      type: string
      description: Universally unique identifier (UUID) for the object.
      example: 123e4567-e89b-12d3-a456-426614174000
    VehicleMakes:
      type: array
      items:
        type: object
        properties:
          id:
            $ref: "#/components/schemas/MakeId"
          make:
            $ref: "#/components/schemas/Make"
    VehicleModels:
      type: array
      items:
        type: object
        properties:
          make:
            type: object
            properties:
              id:
                $ref: "#/components/schemas/MakeId"
              title:
                $ref: "#/components/schemas/Make"
          id:
            $ref: "#/components/schemas/ModelId"
          model:
            $ref: "#/components/schemas/Model"
    VehicleTires:
      type: array
      items:
        type: object
        properties:
          data:
            type: array
            items:
              type: object
              properties:
                aspect_ratio:
                  $ref: "#/components/schemas/AspectRatio"
                flotation_series:
                  $ref: "#/components/schemas/FlotationSeries"
                load_index_dual:
                  $ref: "#/components/schemas/LoadIndexDual"
                load_index:
                  $ref: "#/components/schemas/LoadIndex"
                load_range:
                  $ref: "#/components/schemas/LoadRange"
                overall_diameter:
                  $ref: "#/components/schemas/OverallDiameter"
                rim_diameter:
                  $ref: "#/components/schemas/RimDiameter"
                section_width:
                  $ref: "#/components/schemas/SectionWidth"
                tire_size:
                  $ref: "#/components/schemas/TireSizeFull"
                speed_rating:
                  $ref: "#/components/schemas/SpeedRating"
                tire_metric:
                  $ref: "#/components/schemas/TireMetric"
                makes:
                  type: array
                  description: A list of makes for the given tire size. Only shown when show[makes] is true.
                  items:
                    $ref: "#/components/schemas/Make"
                models:
                  type: array
                  description: A list of models for the given tire size. Only shown when show[models] is true.
                  items:
                    $ref: "#/components/schemas/Model"
                years:
                  type: array
                  description: A list of years for the given tire size. Only shown when show[years] is true.
                  items:
                    $ref: "#/components/schemas/Year"
    VehicleTrims:
      type: array
      items:
        type: object
        properties:
          id:
            $ref: "#/components/schemas/TrimId"
          make:
            type: object
            properties:
              attributes:
                type: [object, "null"]
                properties:
                  domestic:
                    type: boolean
                    example: true
              id:
                $ref: "#/components/schemas/MakeId"
              title:
                $ref: "#/components/schemas/Make"
          model:
            type: object
            properties:
              id:
                $ref: "#/components/schemas/ModelId"
              title:
                $ref: "#/components/schemas/Model"
          trim:
            $ref: "#/components/schemas/Trim"
    VehicleVehicles:
      type: array
      items:
        type: object
        properties:
          attributes:
            type: [object, "null"]
            description: Unique attributes for vehicles.
            properties:
              calculated_load_index:
                type: boolean
                description: Is the load index calculated for this vehicle? This means that the *load_index* is calculated from the *load* and *weight*.
                example: true
          frb:
            $ref: "#/components/schemas/FRB"
          id:
            $ref: "#/components/schemas/TrimId"
          is_active:
            $ref: "#/components/schemas/IsActive"
          load:
            type: object
            description: Load information for the front and rear of the vehicle.
            properties:
              front:
                type: [integer, "null"]
                description: Front load.
                example: 1230
              rear:
                type: [integer, "null"]
                description: Rear load.
                example: 1284
              units:
                $ref: "#/components/schemas/UnitsWeight"
          make:
            type: object
            description: Vehicle make information.
            properties:
              id:
                $ref: "#/components/schemas/MakeId"
              title:
                $ref: "#/components/schemas/Make"
          model:
            type: object
            description: Vehicle model information.
            properties:
              id:
                $ref: "#/components/schemas/ModelId"
              title:
                $ref: "#/components/schemas/Model"
          tire:
            type: object
            description: Vehicle tire information.
            properties:
              aspect_ratio:
                $ref: "#/components/schemas/AspectRatio"
              flotation_series:
                $ref: "#/components/schemas/FlotationSeries"
              overall_diameter:
                $ref: "#/components/schemas/OverallDiameter"
              rim_diameter:
                $ref: "#/components/schemas/RimDiameter"
              section_width:
                $ref: "#/components/schemas/SectionWidth"
              inflation_f:
                type: [integer, "null"]
                description: Inflation pressure for the front tire.
                example: 32
              inflation_r:
                type: [integer, "null"]
                description: Inflation pressure for the rear tire.
                example: 32
              inflation_units:
                type: string
                description: Units for the inflation pressure.
                enum: [kg, lbs]
                default: lbs
                example: lbs
              load_index:
                $ref: "#/components/schemas/LoadIndex"
              load_index_dual:
                $ref: "#/components/schemas/LoadIndexDual"
              load_range:
                $ref: "#/components/schemas/LoadRange"
              ply_rating:
                $ref: "#/components/schemas/PlyRating"
              size_desc:
                type: [string, "null"]
                description: Size description of the OE tire including the load index and speed rating.
                example: 205/55R16 89V
              speed_rating:
                $ref: "#/components/schemas/SpeedRating"
              tire_metric:
                $ref: "#/components/schemas/TireMetric"
              tire_size:
                $ref: "#/components/schemas/TireSize"
          trim:
            type: object
            properties:
              id:
                $ref: "#/components/schemas/TrimId"
              title:
                $ref: "#/components/schemas/Trim"
    VehicleYears:
      type: array
      items:
        $ref: "#/components/schemas/Year"
      example: [1999, 2000, 2001, 2002, 2003]
    Version:
      type: string
      description: Version of the API.
      example: 2.5.0
    Weight:
      type: [integer, "null"]
      description: Weight of the product, in lbs or kg.
      example: 100
    Year:
      type: integer
      description: Year of the vehicle.
      minimum: 1970
      maximum: 2030
      example: 2010
paths:
  /:
    get:
      operationId: getSystemInfo
      summary: Information about the API.
      description: System information about the API is shown on this endpoint.
      security: []
      tags:
        - system
      responses:
        "200":
          description: Returns app name, environment, and versions of the API.
          content:
            application/json:
              schema:
                properties:
                  data:
                    type: object
                    description: Data for the output.
                    properties:
                      app_name:
                        type: string
                        description: Name of the application.
                        example: Nitto Tire USA API
                      environment:
                        type: string
                        description: Environment of the application.
                        enum: [development, testing, production]
                      server_name:
                        type: string
                        description: Domain name of the server.
                        example: api.nittotire.com
                      version:
                        $ref: "#/components/schemas/Version"
                  errors:
                    allOf:
                      - $ref: "#/components/schemas/Errors"
                    example: {}
                  message:
                    allOf:
                      - $ref: "#/components/schemas/Message"
                    example: Displaying API information.
                  performance:
                    $ref: "#/components/schemas/Performance"
                  stats:
                    $ref: "#/components/schemas/Stats"
                  status:
                    $ref: "#/components/schemas/Status"
        "400":
          $ref: "#/components/responses/400"
        "404":
          $ref: "#/components/responses/404"
        "500":
          $ref: "#/components/responses/500"
  /authenticate:
    post:
      operationId: authenticate
      summary: Authenticate a user.
      description: Authenticate a user with the provided credentials. This is used to add, edit, and delete rows.
      security: []
      tags:
        - auth
      requestBody:
        content:
          application/json:
            schema:
              properties:
                email:
                  $ref: "#/components/schemas/Email"
                password:
                  type: string
                  description: Password of the user.
                  example: password123
      responses:
        "200":
          description: Returns a JWT token for the user.
          content:
            application/json:
              schema:
                properties:
                  data:
                    type: object
                    description: Data for the output.
                    properties:
                      token:
                        type: string
                        description: JWT token for the user.
                        example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
                  message:
                    $ref: "#/components/schemas/Message"
                  performance:
                    $ref: "#/components/schemas/Performance"
                  stats:
                    $ref: "#/components/schemas/Stats"
                  status:
                    $ref: "#/components/schemas/Status"
        "400":
          $ref: "#/components/responses/400"
        "404":
          $ref: "#/components/responses/404"
        "500":
          $ref: "#/components/responses/500"
  /brands:
    get:
      operationId: listBrands
      summary: Get a list of Nitto Tire brands.
      description: Returns a list of brands that are available.
      security: []
      parameters:
        - name: filter
          in: query
          description: Filter brands by a specific field.
          required: false
          schema:
            type: string
        - $ref: "#/components/parameters/OrderBy"
        - $ref: "#/components/parameters/Page"
        - $ref: "#/components/parameters/PerPage"
        - $ref: "#/components/parameters/Search"
      tags:
        - brand
      responses:
        "200":
          description: Successful response. May be blank if there is no brand data.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    description: Array of the brands in the API.
                    items:
                      $ref: "#/components/schemas/Brand"
                    minItems: 0
                  errors:
                    type: object
                  message:
                    $ref: "#/components/schemas/Message"
                  pagination:
                    $ref: "#/components/schemas/Pagination"
                  performance:
                    $ref: "#/components/schemas/Performance"
                  stats:
                    $ref: "#/components/schemas/Stats"
                  status:
                    $ref: "#/components/schemas/Status"
        "400":
          description: No data response.
          content:
            application/json:
              schema:
                type: array
                description: Array of the brands in the API.
                items:
                  type: object
                minItems: 0
                example: []
        "403":
          description: Unautorized access.
          content:
            application/json:
              schema:
                type: object
        "500":
          $ref: "#/components/responses/500"
    post:
      operationId: createBrand
      summary: Add a new brand.
      description: Add a new brand to the list of available brands.
      security:
        - bearerAuth: []
      tags:
        - brand
      requestBody:
        description: Brand data to create
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                title:
                  type: string
                  description: Name of the brand
                  example: Nitto
                description:
                  type: string
                  description: Description of the brand
                  example: A premium tire brand
              required:
                - title
      responses:
        "201":
          $ref: "#/components/responses/201"
        "400":
          $ref: "#/components/responses/400"
        "404":
          $ref: "#/components/responses/404"
        "422":
          $ref: "#/components/responses/422"
        "500":
          $ref: "#/components/responses/500"
  /brands/{brand_id}:
    get:
      operationId: getBrand
      summary: Get a single brand.
      description: Get a brand with the ID.
      security: []
      parameters:
        - $ref: "#/components/parameters/BrandId"
      tags:
        - brand
      responses:
        "200":
          description: Returns information about the brand.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: "#/components/schemas/Brand"
                  errors:
                    $ref: "#/components/schemas/Errors"
                  message:
                    $ref: "#/components/schemas/Message"
                  performance:
                    $ref: "#/components/schemas/Performance"
                  stats:
                    $ref: "#/components/schemas/Stats"
                  status:
                    $ref: "#/components/schemas/Status"
        "400":
          $ref: "#/components/responses/400"
        "404":
          $ref: "#/components/responses/404"
        "500":
          $ref: "#/components/responses/500"
    put:
      operationId: updateBrand
      summary: Update a single brand.
      description: Update a brand with the provided data.
      security:
        - bearerAuth: []
      parameters:
        - $ref: "#/components/parameters/BrandId"
      tags:
        - brand
      requestBody:
        description: Brand data to update
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                title:
                  type: string
                  description: Name of the brand.
                  example: Nitto
                description:
                  type: string
                  description: Description of the brand.
                  example: A premium tire brand.
              required:
                - title
      responses:
        "200":
          $ref: "#/components/responses/200"
        "400":
          $ref: "#/components/responses/400"
        "404":
          $ref: "#/components/responses/404"
        "500":
          $ref: "#/components/responses/500"
    delete:
      operationId: deleteBrand
      summary: Delete a single brand.
      description: Delete a brand with the ID.
      security:
        - bearerAuth: []
      parameters:
        - $ref: "#/components/parameters/BrandId"
      tags:
        - brand
      responses:
        "200":
          $ref: "#/components/responses/200"
        "400":
          $ref: "#/components/responses/400"
        "404":
          $ref: "#/components/responses/404"
        "500":
          $ref: "#/components/responses/500"
  /brands/delete:
    post:
      operationId: deleteBrands
      summary: Delete multiple brands.
      description: Delete a brand with the ID.
      security:
        - bearerAuth: []
      tags:
        - brand
      requestBody:
        description: Brand IDs to delete.
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: [integer, string]
                  description: IDs of the brands to delete.
                  examples:
                    - commaItems:
                      summary: Comma separated list of IDs.
                      value: "1,2,3"
                    - singleItem:
                      summary: Single ID.
                      value: 4
                    - rangeItems:
                      summary: Range of IDs.
                      value: "4-10"
              required:
                - id
  /cache:
    get:
      operationId: getCacheInfo
      summary: Number of endpoints that are cached.
      description: Returns the number of endpoints that are cached.
      security:
        - bearerAuth: []
      tags:
        - system
      responses:
        "200":
          description: Returns information about the cache.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    description: Data regarding the cache.
                    properties:
                      cache_file_count:
                        type: integer
                        description: Number of cache files, representing a unique endpoint.
                        example: 23
                  message:
                    allOf:
                      - $ref: "#/components/schemas/Message"
                    example: Cache path found with `22` cache files.
                  performance:
                    $ref: "#/components/schemas/Performance"
                  stats:
                    $ref: "#/components/schemas/Stats"
                  status:
                    $ref: "#/components/schemas/Status"
        "400":
          $ref: "#/components/responses/400"
        "404":
          $ref: "#/components/responses/404"
        "500":
          $ref: "#/components/responses/500"
    post:
      operationId: purgeCache
      summary: Purge/flush all of the cache files.
      description: Clear out all cache files so each request goes through the full lifecycle to retrieve the latest data.
      security:
        - bearerAuth: []
      tags:
        - system
      responses:
        "200":
          $ref: "#/components/responses/200"
        "400":
          $ref: "#/components/responses/400"
        "404":
          $ref: "#/components/responses/404"
        "500":
          $ref: "#/components/responses/500"
  /products:
    get:
      operationId: getProducts
      summary: Returns a list of Nitto products.
      description: Returns of array of Nitto tire products.
      security: []
      parameters:
        - $ref: "#/components/parameters/Filter"
        - $ref: "#/components/parameters/OrderBy"
        - $ref: "#/components/parameters/Page"
        - $ref: "#/components/parameters/PerPage"
        - $ref: "#/components/parameters/Search"
        - $ref: "#/components/parameters/ShowCategories"
        - $ref: "#/components/parameters/ShowFiles"
        - $ref: "#/components/parameters/ShowImages"
      tags:
        - product
      responses:
        "200":
          description: Returns information about the tires.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: "#/components/schemas/ProductTire"
                    minItems: 0
                  errors:
                    $ref: "#/components/schemas/Errors"
                  message:
                    $ref: "#/components/schemas/Message"
                  performance:
                    $ref: "#/components/schemas/Performance"
                  stats:
                    $ref: "#/components/schemas/Stats"
                  status:
                    $ref: "#/components/schemas/Status"
        "400":
          $ref: "#/components/responses/400"
        "500":
          $ref: "#/components/responses/500"
    post:
      operationId: createProduct
      summary: Create a new product.
      description: Create a new product with the provided data.
      security:
        - bearerAuth: []
      tags:
        - product
      requestBody:
        description: Product data to create
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ProductTireUpsert"
      responses:
        "201":
          $ref: "#/components/responses/201"
        "400":
          $ref: "#/components/responses/400"
        "500":
          $ref: "#/components/responses/500"
  /products/{tire_id}:
    get:
      operationId: getProductById
      summary: Returns a list of Nitto products.
      description: Returns a list of a specific tire product.
      security: []
      parameters:
        - $ref: "#/components/parameters/TireId"
      tags:
        - product
      responses:
        "200":
          description: Returns information about the tire.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: "#/components/schemas/ProductTire"
                  errors:
                    $ref: "#/components/schemas/Errors"
                  message:
                    $ref: "#/components/schemas/Message"
                  performance:
                    $ref: "#/components/schemas/Performance"
                  stats:
                    $ref: "#/components/schemas/Stats"
                  status:
                    $ref: "#/components/schemas/Status"
        "404":
          $ref: "#/components/responses/404"
    put:
      operationId: updateProduct
      summary: Update a product.
      description: Update a product with the provided data.
      security:
        - bearerAuth: []
      parameters:
        - $ref: "#/components/parameters/TireId"
      tags:
        - product
      requestBody:
        description: Product data to update
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ProductTireUpsert"
      responses:
        "200":
          $ref: "#/components/responses/200"
        "400":
          $ref: "#/components/responses/400"
        "404":
          $ref: "#/components/responses/404"
        "500":
          $ref: "#/components/responses/500"
    delete:
      operationId: deleteProduct
      summary: Delete a product.
      description: Delete a product with the ID.
      security:
        - bearerAuth: []
      parameters:
        - $ref: "#/components/parameters/TireId"
      tags:
        - product
      responses:
        "200":
          $ref: "#/components/responses/200"
        "400":
          $ref: "#/components/responses/400"
        "404":
          $ref: "#/components/responses/404"
        "500":
          $ref: "#/components/responses/500"
  /products/delete:
    post:
      operationId: deleteProducts
      summary: Delete multiple products.
      description: Delete a product with the ID.
      security:
        - bearerAuth: []
      tags:
        - product
      requestBody:
        description: Product IDs to delete.
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ProductInputDelete"
            examples:
              singleItem:
                summary: Delete a single product.
                value:
                  id: 1
              rangeItems:
                summary: Delete a range of products.
                value:
                  id: 1-7
              commaItems:
                summary: Delete a comma separated range of products.
                value:
                  id: 1,3,7
          application/x-www-form-urlencoded:
            schema:
              $ref: "#/components/schemas/ProductInputDelete"
            examples:
              singleItem:
                summary: Delete a single product.
                value:
                  id: "1"
              rangeItems:
                summary: Delete a range of products.
                value:
                  id: 1-7
              commaItems:
                summary: Delete a comma separated range of products.
                value:
                  id: 1,3,7
      responses:
        "200":
          description: Returns a success message.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    description: Data for the output.
                    properties:
                      delete_count:
                        type: integer
                        description: Number of products deleted.
                        example: 3
                  errors:
                    $ref: "#/components/schemas/Errors"
                  message:
                    $ref: "#/components/schemas/Message"
                  performance:
                    $ref: "#/components/schemas/Performance"
                  stats:
                    $ref: "#/components/schemas/Stats"
                  status:
                    $ref: "#/components/schemas/Status"
        "400":
          $ref: "#/components/responses/400"
        "404":
          $ref: "#/components/responses/404"
        "500":
          $ref: "#/components/responses/500"
  /products/groups:
    get:
      operationId: getProductsGroups
      summary: Get a list of product groups.
      description: Returns a list of product groups that are available.
      security: []
      parameters:
        - $ref: "#/components/parameters/Filter"
        - $ref: "#/components/parameters/OrderBy"
        - $ref: "#/components/parameters/Page"
        - $ref: "#/components/parameters/PerPage"
        - $ref: "#/components/parameters/Search"
      tags:
        - product
      responses:
        "200":
          description: Returns information about the product groups.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    description: Array of the product groups in the API.
                    items:
                      $ref: "#/components/schemas/ProductGroupFull"
                    minItems: 0
                  errors:
                    $ref: "#/components/schemas/Errors"
                  message:
                    $ref: "#/components/schemas/Message"
                  performance:
                    $ref: "#/components/schemas/Performance"
                  stats:
                    $ref: "#/components/schemas/Stats"
                  status:
                    $ref: "#/components/schemas/Status"
        "400":
          $ref: "#/components/responses/400"
        "500":
          $ref: "#/components/responses/500"
    post:
      operationId: createProductGroup
      summary: Create a new product group.
      description: Create a new product group with the provided data.
      security:
        - bearerAuth: []
      tags:
        - product
      requestBody:
        description: Product group data to create
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ProductGroupUpsert"
      responses:
        "201":
          $ref: "#/components/responses/201"
        "400":
          $ref: "#/components/responses/400"
        "500":
          $ref: "#/components/responses/500"
  /products/groups/{product_group_id}:
    get:
      operationId: getProductGroup
      summary: Get a single product group.
      description: Get a product group with the ID.
      security: []
      parameters:
        - $ref: "#/components/parameters/ProductGroupIdPath"
      tags:
        - product
      responses:
        "200":
          description: Returns information about the product group.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: "#/components/schemas/ProductGroupFull"
                  errors:
                    $ref: "#/components/schemas/Errors"
                  message:
                    $ref: "#/components/schemas/Message"
                  performance:
                    $ref: "#/components/schemas/Performance"
                  stats:
                    $ref: "#/components/schemas/Stats"
                  status:
                    $ref: "#/components/schemas/Status"
        "400":
          $ref: "#/components/responses/400"
        "404":
          $ref: "#/components/responses/404"
        "500":
          $ref: "#/components/responses/500"
  /tirefinder:
    get:
      operationId: getTireFinderSummary
      summary: Summary about the tire guide.
      description: Returns a summary of information about the tire guide.
      security: []
      tags:
        - reference
      responses:
        "200":
          description: Returns various stats for the tire products. Currently only shows a count of tires.
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: "#/components/schemas/TireFinderData"
                  errors:
                    $ref: "#/components/schemas/Errors"
                  message:
                    $ref: "#/components/schemas/Message"
                  performance:
                    $ref: "#/components/schemas/Performance"
                  stats:
                    $ref: "#/components/schemas/Stats"
                  status:
                    $ref: "#/components/schemas/Status"
        "400":
          $ref: "#/components/responses/400"
        "404":
          $ref: "#/components/responses/404"
        "500":
          $ref: "#/components/responses/500"
  /tirefinder/parse:
    get:
      operationId: parseTireSize
      summary: Parse a given tire size. Used for testing.
      description: The endpoint takes a single parameter, a full tire size, and parses it to its dimension components.
      security: []
      parameters:
        - $ref: "#/components/parameters/TireSize"
      tags:
        - reference
      responses:
        "200":
          description: Returns an object of the parsed tire. If the tire size cannot be parsed, the returned data is null.
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: "#/components/schemas/TireFinderParseTire"
                  errors:
                    $ref: "#/components/schemas/Errors"
                  message:
                    $ref: "#/components/schemas/Message"
                  performance:
                    $ref: "#/components/schemas/Performance"
                  stats:
                    $ref: "#/components/schemas/Stats"
                  status:
                    $ref: "#/components/schemas/Status"
        "400":
          $ref: "#/components/responses/400"
        "404":
          $ref: "#/components/responses/404"
        "500":
          $ref: "#/components/responses/500"
  /tirefinder/parse/products:
    get:
      operationId: parseProductTires
      summary: Returns a list array of parsed tire objects for all Nitto tire products.
      description: This list tries to parse all of the unique tire sizes for Nitto tires.
      security: []
      parameters:
        - $ref: "#/components/parameters/ShowFailed"
        - $ref: "#/components/parameters/ShowParsed"
        - $ref: "#/components/parameters/Status"
        - $ref: "#/components/parameters/TireMetric"
      tags:
        - reference
      responses:
        "200":
          description: Output of parsed tire products.
          content:
            application/json:
              schema:
                properties:
                  data:
                    type: array
                    description: Output of all product tires parsed.
                    items:
                      type: object
                      description: Output of parsed tire products.
                      properties:
                        parsed:
                          $ref: "#/components/schemas/TireFinderParseTire"
                        status:
                          $ref: "#/components/schemas/Status"
                        tire_size:
                          type: string
                          description: Full size of the tire, which usually includes the speed rating and load index information.
                          example: LT215/85R16 E 115/112Q
                        tire_size_parsed:
                          type: string
                          description: Result of the parsed tire size.
                          example: LT215/85R16 115/112Q
                      required:
                        - status
                        - tire_size
                        - tire_size_parsed
                  errors:
                    $ref: "#/components/schemas/Errors"
                  message:
                    $ref: "#/components/schemas/Message"
                  performance:
                    $ref: "#/components/schemas/Performance"
                  stats:
                    $ref: "#/components/schemas/Stats"
                  status:
                    $ref: "#/components/schemas/Status"
        "400":
          $ref: "#/components/responses/400"
        "404":
          $ref: "#/components/responses/404"
        "500":
          $ref: "#/components/responses/500"
  /tirefinder/parse/vehicles:
    get:
      operationId: parseProductVehicles
      summary: Returns a list array of parsed vehicle tire objects for all TGP vehicles.
      description: This list tries to parse all of the unique tire sizes for TGP vehicles.
      security: []
      parameters:
        - $ref: "#/components/parameters/ShowFailed"
        - $ref: "#/components/parameters/ShowParsed"
        - $ref: "#/components/parameters/Status"
        - $ref: "#/components/parameters/TireMetric"
      tags:
        - reference
      responses:
        "200":
          description: Output of parsed vehicle tire objects.
          content:
            application/json:
              schema:
                properties:
                  data:
                    type: array
                    description: Data for the output.
                    items:
                      type: object
                      description: Output of parsed tire products.
                      properties:
                        parsed:
                          $ref: "#/components/schemas/TireFinderParseTire"
                        status:
                          $ref: "#/components/schemas/Status"
                        tire_size:
                          $ref: "#/components/schemas/TireSizeFull"
                        tire_size_parsed:
                          allOf:
                            - $ref: "#/components/schemas/TireSizeFull"
                          description: Result of the parsed tire size.
                          example: LT215/85R16 115/112Q
                        ids:
                          type: array
                          description: Array of IDs of the parsed tire sizes from TGP.
                          items:
                            type: integer
                  errors:
                    $ref: "#/components/schemas/Errors"
                  message:
                    $ref: "#/components/schemas/Message"
                  performance:
                    $ref: "#/components/schemas/Performance"
                  stats:
                    $ref: "#/components/schemas/Stats"
                  status:
                    $ref: "#/components/schemas/Status"
        "400":
          $ref: "#/components/responses/400"
        "404":
          $ref: "#/components/responses/404"
        "500":
          $ref: "#/components/responses/500"
  /tirefinder/speed-rating-ranks:
    get:
      operationId: listSpeedRatingRanks
      summary: Get distinct speed ratings of product tires.
      description: Return an array of distinct speed ratings of Nitto tires (products).
      security: []
      tags:
        - reference
      responses:
        "200":
          description: Returns array of unique speed ratings for all Nitto tires.
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: "#/components/schemas/SpeedRatingRanks"
                  errors:
                    $ref: "#/components/schemas/Errors"
                  message:
                    $ref: "#/components/schemas/Message"
                  performance:
                    $ref: "#/components/schemas/Performance"
                  stats:
                    $ref: "#/components/schemas/Stats"
                  status:
                    $ref: "#/components/schemas/Status"
        "400":
          $ref: "#/components/responses/400"
  /tirefinder/tires:
    get:
      operationId: listTires
      summary: Returns a list of Nitto tires (products).
      description: Return a paginated list of Nitto tires. These can be filtered using parameters.
      security: []
      parameters:
        - $ref: "#/components/parameters/AspectRatio"
        - $ref: "#/components/parameters/Filter"
        - $ref: "#/components/parameters/FlotationSeries"
        - $ref: "#/components/parameters/IsActive"
        - $ref: "#/components/parameters/LoadIndex"
        - $ref: "#/components/parameters/LoadIndexDual"
        - $ref: "#/components/parameters/LoadRange"
        - $ref: "#/components/parameters/OverallDiameter"
        - $ref: "#/components/parameters/Page"
        - $ref: "#/components/parameters/PerPage"
        - $ref: "#/components/parameters/ProductGroupIdQuery"
        - $ref: "#/components/parameters/RimDiameter"
        - $ref: "#/components/parameters/SectionWidth"
        - $ref: "#/components/parameters/Sort"
        - $ref: "#/components/parameters/SpeedRating"
        - $ref: "#/components/parameters/TireMetric"
        - $ref: "#/components/parameters/Units"
      tags:
        - tirefinder
      responses:
        "200":
          description: Returns array of Nitto Tire (Dura Grappler, etc.) tires. This list is paginated by default and can be filtered.
          content:
            application/json:
              schema:
                properties:
                  data:
                    type: array
                    description: Data for the output.
                    items:
                      $ref: "#/components/schemas/ProductTires"
                  errors:
                    $ref: "#/components/schemas/Errors"
                  message:
                    $ref: "#/components/schemas/Message"
                  performance:
                    $ref: "#/components/schemas/Performance"
                  stats:
                    $ref: "#/components/schemas/Stats"
                  status:
                    $ref: "#/components/schemas/Status"
        "400":
          $ref: "#/components/responses/400"
        "404":
          $ref: "#/components/responses/404"
        "500":
          $ref: "#/components/responses/500"
  /tirefinder/tires/{tire_id}:
    get:
      operationId: getTireDetails
      summary: Return details of a single Nitto tire.
      description: Returns an object which contains the dimensions and attributes of a single Nitto tire using the unique ID of the tire.
      security: []
      parameters:
        - $ref: "#/components/parameters/TireId"
        - $ref: "#/components/parameters/Units"
      tags:
        - tirefinder
      responses:
        "200":
          description: Returns array of Nitto Tire (Dura Grappler, etc.) tires. This list is paginated by default and can be filtered.
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: "#/components/schemas/ProductTire"
                  errors:
                    $ref: "#/components/schemas/Errors"
                  message:
                    $ref: "#/components/schemas/Message"
                  performance:
                    $ref: "#/components/schemas/Performance"
                  stats:
                    $ref: "#/components/schemas/Stats"
                  status:
                    $ref: "#/components/schemas/Status"
        "400":
          $ref: "#/components/responses/400"
        "404":
          $ref: "#/components/responses/404"
        "500":
          $ref: "#/components/responses/500"
  /tirefinder/tires/aspect-ratios:
    get:
      operationId: listProductAspectRatios
      summary: Get distinct aspect ratios of product tires.
      description: Return an array of distinct aspect ratios of Nitto tires (products). These can be filtered using parameters.
      security: []
      parameters:
        - $ref: "#/components/parameters/IsActive"
        - $ref: "#/components/parameters/SectionWidth"
        - $ref: "#/components/parameters/TireMetric"
      tags:
        - tirefinder
      responses:
        "200":
          description: Returns array of unique speed ratings for all Nitto tires.
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: "#/components/schemas/AspectRatios"
                  errors:
                    $ref: "#/components/schemas/Errors"
                  message:
                    $ref: "#/components/schemas/Message"
                  performance:
                    $ref: "#/components/schemas/Performance"
                  stats:
                    $ref: "#/components/schemas/Stats"
                  status:
                    $ref: "#/components/schemas/Status"
        "400":
          $ref: "#/components/responses/400"
        "404":
          $ref: "#/components/responses/404"
        "500":
          $ref: "#/components/responses/500"
  /tirefinder/tires/fitment-failure-reasons:
    get:
      operationId: listFitmentFailureReasons
      summary: Returns a list of fitment failure reasons.
      description: Returns a list of fitment failure reasons.
      security: []
      tags:
        - tirefinder
      responses:
        "200":
          description: Returns an array of possible tire fitment failure/warnings.
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: "#/components/schemas/FitmentFailureReasons"
                  errors:
                    $ref: "#/components/schemas/Errors"
                  message:
                    $ref: "#/components/schemas/Message"
                  performance:
                    $ref: "#/components/schemas/Performance"
                  stats:
                    $ref: "#/components/schemas/Stats"
                  status:
                    $ref: "#/components/schemas/Status"
        "400":
          $ref: "#/components/responses/400"
  /tirefinder/tires/fitments:
    get:
      operationId: listTireFitments
      summary: Returns a object list of Nitto tires that fit a given OE vehicle.
      description: Returns a object list of Nitto tires that fit a given OE vehicle.
      security: []
      parameters:
        - $ref: "#/components/parameters/IsActive"
        - $ref: "#/components/parameters/LoadMarginPercent"
        - $ref: "#/components/parameters/OffsetSpeedRanking"
        - $ref: "#/components/parameters/PlusSize"
        - $ref: "#/components/parameters/SectionWidth"
        - $ref: "#/components/parameters/TireMetric"
        - $ref: "#/components/parameters/Units"
        - $ref: "#/components/parameters/VehicleID"
      tags:
        - tirefinder
      responses:
        "200":
          description: Object list of Nitto tires for a vehicle.
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: "#/components/schemas/TireFitments"
                  errors:
                    $ref: "#/components/schemas/Errors"
                  message:
                    $ref: "#/components/schemas/Message"
                  performance:
                    $ref: "#/components/schemas/Performance"
                  stats:
                    $ref: "#/components/schemas/Stats"
                  status:
                    $ref: "#/components/schemas/Status"
        "400":
          $ref: "#/components/responses/400"
        "404":
          $ref: "#/components/responses/404"
        "500":
          $ref: "#/components/responses/500"
  /tirefinder/tires/rim-diameters:
    get:
      operationId: listRimDiameters
      summary: Returns an array of distinct rim diameters of Nitto tires (products).
      description: Return an array of distinct rim diameters of Nitto tires (products). These can be filtered using parameters.
      security: []
      parameters:
        - $ref: "#/components/parameters/AspectRatio"
        - $ref: "#/components/parameters/IsActive"
        - $ref: "#/components/parameters/SectionWidth"
        - $ref: "#/components/parameters/TireMetric"
      tags:
        - tirefinder
      responses:
        "200":
          description: Returns array of unique rim diameters for all Nitto tires.
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: "#/components/schemas/RimDiameters"
                  errors:
                    $ref: "#/components/schemas/Errors"
                  message:
                    $ref: "#/components/schemas/Message"
                  performance:
                    $ref: "#/components/schemas/Performance"
                  stats:
                    $ref: "#/components/schemas/Stats"
                  status:
                    $ref: "#/components/schemas/Status"
        "400":
          $ref: "#/components/responses/400"
        "404":
          $ref: "#/components/responses/404"
        "500":
          $ref: "#/components/responses/500"
  /tirefinder/tires/section-widths:
    get:
      operationId: getSectionWidths
      summary: Returns an array of distinct section widths of Nitto tires (products).
      description: Return an array of distinct section widths of Nitto tires (products). These can be filtered using parameters.
      parameters:
        - $ref: "#/components/parameters/IsActive"
        - $ref: "#/components/parameters/TireMetric"
      tags:
        - tirefinder
      security:
        - bearerAuth: []
      responses:
        "200":
          description: Returns array of unique section widths for all Nitto tires.
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: "#/components/schemas/SectionWidths"
                  errors:
                    $ref: "#/components/schemas/Errors"
                  message:
                    $ref: "#/components/schemas/Message"
                  performance:
                    $ref: "#/components/schemas/Performance"
                  stats:
                    $ref: "#/components/schemas/Stats"
                  status:
                    $ref: "#/components/schemas/Status"
        "400":
          $ref: "#/components/responses/400"
        "404":
          $ref: "#/components/responses/404"
        "500":
          $ref: "#/components/responses/500"
  /tirefinder/tires/stats:
    get:
      operationId: getTireStats
      summary: Returns a object list of a summary of tire statistics of Nitto tires (products).
      description: Returns a object list of a summary of tire statistics of Nitto tires (products).
      security: []
      parameters:
        - name: stats
          in: query
          description: Type of status to return.
          schema:
            type: string
            enum: [full]
            example: full
      tags:
        - tirefinder
      responses:
        "200":
          description: Object list of Nitto tire stats.
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: "#/components/schemas/TireStats"
                  errors:
                    $ref: "#/components/schemas/Errors"
                  message:
                    $ref: "#/components/schemas/Message"
                  performance:
                    $ref: "#/components/schemas/Performance"
                  stats:
                    $ref: "#/components/schemas/Stats"
                  status:
                    $ref: "#/components/schemas/Status"
        "400":
          $ref: "#/components/responses/400"
        "404":
          $ref: "#/components/responses/404"
        "500":
          $ref: "#/components/responses/500"
  /tirefinder/vehicles:
    get:
      operationId: listVehicles
      summary: Returns a list of all OE vehicles. The returned ID is equal to the vehicle_id.
      description: |-
        This endpoint returns an array list of vehicles. This ID uniquely identifies a vehicle (year, make, model, trim, and tire size).

        This is used in the fitments endpoint to get Nitto tires that fit a given vehicle.
      security: []
      parameters:
        - $ref: "#/components/parameters/MakeID"
        - $ref: "#/components/parameters/ModelID"
        - $ref: "#/components/parameters/Page"
        - $ref: "#/components/parameters/PerPage"
        - $ref: "#/components/parameters/Sort"
        - $ref: "#/components/parameters/Year"
      tags:
        - vehicle
      responses:
        "200":
          description: Array of vehicles.
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: "#/components/schemas/VehicleVehicles"
                  errors:
                    $ref: "#/components/schemas/Errors"
                  message:
                    $ref: "#/components/schemas/Message"
                  performance:
                    $ref: "#/components/schemas/Performance"
                  stats:
                    $ref: "#/components/schemas/Stats"
                  status:
                    $ref: "#/components/schemas/Status"
        "400":
          $ref: "#/components/responses/400"
        "404":
          $ref: "#/components/responses/404"
        "500":
          $ref: "#/components/responses/500"
  /tirefinder/vehicles/aspect-ratios:
    get:
      operationId: listVehicleAspectRatios
      summary: Returns a list of all vehicle aspect ratios.
      description: Returns a list of unique aspect ratios for all of the vehicles in the system.
      security: []
      parameters:
        - $ref: "#/components/parameters/SectionWidth"
        - $ref: "#/components/parameters/Sort"
        - $ref: "#/components/parameters/TireMetric"
      tags:
        - vehicle
      responses:
        "200":
          description: Array of vehicle aspect ratios.
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: "#/components/schemas/AspectRatios"
                  errors:
                    $ref: "#/components/schemas/Errors"
                  message:
                    $ref: "#/components/schemas/Message"
                  performance:
                    $ref: "#/components/schemas/Performance"
                  stats:
                    $ref: "#/components/schemas/Stats"
                  status:
                    $ref: "#/components/schemas/Status"
        "400":
          $ref: "#/components/responses/400"
        "404":
          $ref: "#/components/responses/404"
        "500":
          $ref: "#/components/responses/500"
  /tirefinder/vehicles/makes:
    get:
      operationId: listVehicleMakes
      summary: Returns all of the makes for OE vehicles. The returned ID is equal to the make_id.
      description: |-
        Returns an array of distinct OEM vehicles with the **make_id** and **title** of the make.

        For example, the make of a 2000 Honda Civic EX is **Honda**.
      security: []
      parameters:
        - $ref: "#/components/parameters/Page"
        - $ref: "#/components/parameters/PerPage"
        - $ref: "#/components/parameters/Sort"
        - $ref: "#/components/parameters/Year"
      tags:
        - vehicle
      responses:
        "200":
          description: Array of vehicle makes. If the *grouped* parameter is set to true, the output data schema will show the grouped object.
          content:
            application/json:
              schema:
                properties:
                  data:
                    oneOf:
                      - $ref: "#/components/schemas/VehicleMakes"
                  errors:
                    $ref: "#/components/schemas/Errors"
                  message:
                    $ref: "#/components/schemas/Message"
                  pagination:
                    $ref: "#/components/schemas/Pagination"
                  performance:
                    $ref: "#/components/schemas/Performance"
                  stats:
                    $ref: "#/components/schemas/Stats"
                  status:
                    $ref: "#/components/schemas/Status"
        "400":
          $ref: "#/components/responses/400"
        "404":
          $ref: "#/components/responses/404"
        "500":
          $ref: "#/components/responses/500"
  /tirefinder/vehicles/models:
    get:
      operationId: listVehicleModels
      summary: Returns all of the models for OE vehicles. The returned ID is equal to the model_id.
      description: |-
        Returns an array of distinct OEM vehicles with the **model_id** and **title** of the model.

        For example, the model of a 2000 Honda Civic EX is **Civic**.
      security: []
      parameters:
        - $ref: "#/components/parameters/MakeID"
        - $ref: "#/components/parameters/Page"
        - $ref: "#/components/parameters/PerPage"
        - $ref: "#/components/parameters/Sort"
        - $ref: "#/components/parameters/Year"
      tags:
        - vehicle
      responses:
        "200":
          description: Array of vehicle models.
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: "#/components/schemas/VehicleModels"
                  errors:
                    $ref: "#/components/schemas/Errors"
                  message:
                    $ref: "#/components/schemas/Message"
                  pagination:
                    $ref: "#/components/schemas/Pagination"
                  performance:
                    $ref: "#/components/schemas/Performance"
                  stats:
                    $ref: "#/components/schemas/Stats"
                  status:
                    $ref: "#/components/schemas/Status"
        "400":
          $ref: "#/components/responses/400"
        "404":
          $ref: "#/components/responses/404"
        "500":
          $ref: "#/components/responses/500"
  /tirefinder/vehicles/rim-diameters:
    get:
      operationId: listVehicleRimDiameters
      summary: Returns a list of all vehicle rim diameters.
      description: Returns a list of unique rim diameters for all of the vehicles in the system.
      security: []
      parameters:
        - $ref: "#/components/parameters/Sort"
        - $ref: "#/components/parameters/TireMetric"
      tags:
        - vehicle
      responses:
        "200":
          description: Array of vehicle rim diameters.
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: "#/components/schemas/RimDiameters"
                  errors:
                    $ref: "#/components/schemas/Errors"
                  message:
                    $ref: "#/components/schemas/Message"
                  performance:
                    $ref: "#/components/schemas/Performance"
                  stats:
                    $ref: "#/components/schemas/Stats"
                  status:
                    $ref: "#/components/schemas/Status"
        "400":
          $ref: "#/components/responses/400"
        "404":
          $ref: "#/components/responses/404"
        "500":
          $ref: "#/components/responses/500"
  /tirefinder/vehicles/section-widths:
    get:
      operationId: listVehicleSectionWidths
      summary: Returns a list of all vehicle section widths.
      description: Returns a list of unique section widths for all of the vehicles in the system.
      security: []
      parameters:
        - $ref: "#/components/parameters/Sort"
        - $ref: "#/components/parameters/TireMetric"
      tags:
        - vehicle
      responses:
        "200":
          description: Array of vehicle section widths.
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: "#/components/schemas/SectionWidths"
                  errors:
                    $ref: "#/components/schemas/Errors"
                  message:
                    $ref: "#/components/schemas/Message"
                  performance:
                    $ref: "#/components/schemas/Performance"
                  stats:
                    $ref: "#/components/schemas/Stats"
                  status:
                    $ref: "#/components/schemas/Status"
        "400":
          $ref: "#/components/responses/400"
        "404":
          $ref: "#/components/responses/404"
        "500":
          $ref: "#/components/responses/500"
  /tirefinder/vehicles/tire-metrics:
    get:
      operationId: listVehicleTireMetrics
      summary: Returns a list of all vehicle tire metrics.
      description: Returns a list of unique tire metrics for all of the vehicles in the system.
      security: []
      parameters:
        - $ref: "#/components/parameters/Sort"
      tags:
        - vehicle
      responses:
        "200":
          description: Array of vehicle tire metrics.
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: "#/components/schemas/TireMetrics"
                  errors:
                    $ref: "#/components/schemas/Errors"
                  message:
                    $ref: "#/components/schemas/Message"
                  performance:
                    $ref: "#/components/schemas/Performance"
                  stats:
                    $ref: "#/components/schemas/Stats"
                  status:
                    $ref: "#/components/schemas/Status"
        "400":
          $ref: "#/components/responses/400"
        "404":
          $ref: "#/components/responses/404"
        "500":
          $ref: "#/components/responses/500"
  /tirefinder/vehicles/tire-sizes:
    get:
      operationId: listVehicleTireSizes
      summary: Returns a list of all vehicle tire sizes.
      description: Returns a list of unique tire sizes for all of the vehicles in the system.
      security: []
      parameters:
        - $ref: "#/components/parameters/Sort"
      tags:
        - vehicle
      responses:
        "200":
          description: Array of vehicle tire sizes.
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: "#/components/schemas/TireSizes"
                  errors:
                    $ref: "#/components/schemas/Errors"
                  message:
                    $ref: "#/components/schemas/Message"
                  performance:
                    $ref: "#/components/schemas/Performance"
                  stats:
                    $ref: "#/components/schemas/Stats"
                  status:
                    $ref: "#/components/schemas/Status"
        "400":
          $ref: "#/components/responses/400"
        "404":
          $ref: "#/components/responses/404"
        "500":
          $ref: "#/components/responses/500"
  /tirefinder/vehicles/tires:
    get:
      operationId: listVehicleTires
      summary: Returns an array of tires for OE vehicles. The returned ID is equal to the tire_id.
      description: |-
        Returns an array of distinct OEM vehicle tires.

        This endpoint returns a list of distinct tire sizes. The OE tires returned do not distinguish by manufacturers. Only unique tire sizes are shown.
      security: []
      parameters:
        - $ref: "#/components/parameters/AspectRatio"
        - $ref: "#/components/parameters/FlotationSeries"
        - $ref: "#/components/parameters/LoadIndex"
        - $ref: "#/components/parameters/LoadIndexDual"
        - $ref: "#/components/parameters/MakeID"
        - $ref: "#/components/parameters/ModelID"
        - $ref: "#/components/parameters/OverallDiameter"
        - $ref: "#/components/parameters/Page"
        - $ref: "#/components/parameters/PerPage"
        - $ref: "#/components/parameters/RimDiameter"
        - $ref: "#/components/parameters/SectionWidth"
        - $ref: "#/components/parameters/ShowMakes"
        - $ref: "#/components/parameters/ShowModels"
        - $ref: "#/components/parameters/ShowYears"
        - $ref: "#/components/parameters/Sort"
        - $ref: "#/components/parameters/SpeedRating"
        - $ref: "#/components/parameters/TireMetric"
        - $ref: "#/components/parameters/TrimID"
        - $ref: "#/components/parameters/Year"
      tags:
        - vehicle
      responses:
        "200":
          description: Array of distinct vehicle tires. This is a list of the OEM tires that come with vehicles on the market.
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: "#/components/schemas/VehicleTires"
                  errors:
                    $ref: "#/components/schemas/Errors"
                  message:
                    $ref: "#/components/schemas/Message"
                  pagination:
                    $ref: "#/components/schemas/Pagination"
                  performance:
                    $ref: "#/components/schemas/Performance"
                  stats:
                    $ref: "#/components/schemas/Stats"
                  status:
                    $ref: "#/components/schemas/Status"
        "400":
          $ref: "#/components/responses/400"
        "404":
          $ref: "#/components/responses/404"
        "500":
          $ref: "#/components/responses/500"
  /tirefinder/vehicles/trims:
    get:
      operationId: listVehicleTrims
      summary: Returns an array of trims for OE vehicles. The returned ID is equal to the trim_id.
      description: |-
        Returns an array of distinct OEM vehicles with the **trim_id** and **title** of the trim.

        For example, the trim of a 2000 Honda Civic EX is **EX**.

        A trim for a given vehicle may have one or more tire sizes. The **vehicle_id** uniquely identifies the trim and tire size.
      security: []
      parameters:
        - $ref: "#/components/parameters/MakeID"
        - $ref: "#/components/parameters/ModelID"
        - $ref: "#/components/parameters/Page"
        - $ref: "#/components/parameters/PerPage"
        - $ref: "#/components/parameters/Sort"
        - $ref: "#/components/parameters/Year"
      tags:
        - vehicle
      responses:
        "200":
          description: Array of vehicle trims, which results in the *trim_id* to use on fitment searches.
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: "#/components/schemas/VehicleTrims"
                  errors:
                    $ref: "#/components/schemas/Errors"
                  message:
                    $ref: "#/components/schemas/Message"
                  pagination:
                    $ref: "#/components/schemas/Pagination"
                  performance:
                    $ref: "#/components/schemas/Performance"
                  stats:
                    $ref: "#/components/schemas/Stats"
                  status:
                    $ref: "#/components/schemas/Status"
        "400":
          $ref: "#/components/responses/400"
        "404":
          $ref: "#/components/responses/404"
        "500":
          $ref: "#/components/responses/500"
  /tirefinder/vehicles/years:
    get:
      operationId: listVehicleYears
      summary: Returns all of the distinct years for OE vehicles.
      description: Returns a grouped list of distinct years for all OEM vehicles. The results are grouped and sorted by largest year first. This can be changed by the *sort* parameter.
      security: []
      parameters:
        - $ref: "#/components/parameters/Page"
        - $ref: "#/components/parameters/PerPage"
        - $ref: "#/components/parameters/Sort"
      tags:
        - vehicle
      responses:
        "200":
          description: Array of vehicle years.
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: "#/components/schemas/VehicleYears"
                  errors:
                    $ref: "#/components/schemas/Errors"
                  message:
                    $ref: "#/components/schemas/Message"
                  pagination:
                    $ref: "#/components/schemas/Pagination"
                  performance:
                    $ref: "#/components/schemas/Performance"
                  stats:
                    $ref: "#/components/schemas/Stats"
                  status:
                    $ref: "#/components/schemas/Status"
        "400":
          $ref: "#/components/responses/400"
        "404":
          $ref: "#/components/responses/404"
        "500":
          $ref: "#/components/responses/500"
