{"openapi":"3.1.0","info":{"title":"Toyota parts catalogue API","version":"1.0.0","description":"Read-only access to a factory parts catalogue.\n\nThe catalogue is four independent market datasets (EU, GR, US, JP); a part number present in one may be absent from another.\n\nKnown gaps, stated rather than papered over: there are no quantities anywhere, prices exist for Japan only, roughly 18% of drawing callouts resolve to nothing, and fields under an `unverified` key have no published legend behind them."},"servers":[{"url":"https://toyota-epc.aftermarketcatalog.com"}],"paths":{"/api/v1":{"get":{"operationId":"index","summary":"Service description and endpoint index","tags":["service"],"parameters":[],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/abbreviations":{"get":{"operationId":"abbreviations","summary":"The abbreviation dictionary","tags":["abbreviations"],"parameters":[{"name":"q","in":"query","required":false,"description":"Search term.","schema":{"type":"string"}},{"name":"lang","in":"query","required":false,"description":"Data language: 01, 02, 03, 04, 05. Default 01 (English).","schema":{"type":"string","default":"01"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"maximum":500}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/accessories":{"get":{"operationId":"accessories","summary":"Accessory campaigns","tags":["accessories"],"parameters":[{"name":"q","in":"query","required":false,"description":"Search term.","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"maximum":500}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/accessories/item/{id}":{"get":{"operationId":"accessory_item","summary":"One accessory line","tags":["accessories"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"\\d+"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/accessories/{campaign}":{"get":{"operationId":"accessory_campaign","summary":"One campaign and its items","tags":["accessories"],"parameters":[{"name":"campaign","in":"path","required":true,"schema":{"type":"string","pattern":"[A-Za-z0-9\\-]{1,12}"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/catalogs":{"get":{"operationId":"catalogs","summary":"Search catalogues by model, chassis or catalogue code","tags":["catalogs"],"parameters":[{"name":"region","in":"query","required":false,"description":"Restrict to one market: EU, GR, US, JP.","schema":{"type":"string","enum":["EU","GR","US","JP"]}},{"name":"q","in":"query","required":false,"description":"Search term.","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"maximum":500}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/catalogs/{region}/{code}":{"get":{"operationId":"catalog","summary":"One vehicle catalogue","tags":["catalogs"],"parameters":[{"name":"region","in":"path","required":true,"schema":{"type":"string","pattern":"EU|GR|US|JP"}},{"name":"code","in":"path","required":true,"schema":{"type":"string","pattern":"[A-Z0-9]{6}"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/catalogs/{region}/{code}/characteristics":{"get":{"operationId":"catalog_characteristics","summary":"The attribute legend used by the fitment codes","tags":["catalogs"],"parameters":[{"name":"region","in":"path","required":true,"schema":{"type":"string","pattern":"EU|GR|US|JP"}},{"name":"code","in":"path","required":true,"schema":{"type":"string","pattern":"[A-Z0-9]{6}"}},{"name":"lang","in":"query","required":false,"description":"Data language: 01, 02, 03, 04, 05. Default 01 (English).","schema":{"type":"string","default":"01"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/catalogs/{region}/{code}/figures":{"get":{"operationId":"catalog_figures","summary":"Every figure key used by a catalogue","tags":["catalogs"],"parameters":[{"name":"region","in":"path","required":true,"schema":{"type":"string","pattern":"EU|GR|US|JP"}},{"name":"code","in":"path","required":true,"schema":{"type":"string","pattern":"[A-Z0-9]{6}"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"maximum":500}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/catalogs/{region}/{code}/figures/{figureKey}":{"get":{"operationId":"catalog_figure","summary":"A drawing with its callouts and all the parts they point at","tags":["catalogs"],"parameters":[{"name":"region","in":"path","required":true,"schema":{"type":"string","pattern":"EU|GR|US|JP"}},{"name":"code","in":"path","required":true,"schema":{"type":"string","pattern":"[A-Z0-9]{6}"}},{"name":"figureKey","in":"path","required":true,"schema":{"type":"string","pattern":"[A-Za-z0-9]{1,7}"}},{"name":"lang","in":"query","required":false,"description":"Data language: 01, 02, 03, 04, 05. Default 01 (English).","schema":{"type":"string","default":"01"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/catalogs/{region}/{code}/frames":{"get":{"operationId":"catalog_frames","summary":"Frame-number ranges a catalogue applies to","tags":["catalogs"],"parameters":[{"name":"region","in":"path","required":true,"schema":{"type":"string","pattern":"EU|GR|US|JP"}},{"name":"code","in":"path","required":true,"schema":{"type":"string","pattern":"[A-Z0-9]{6}"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/catalogs/{region}/{code}/group-members":{"get":{"operationId":"catalog_group_members","summary":"Catalogue group to model-variant mapping","tags":["catalogs"],"parameters":[{"name":"region","in":"path","required":true,"schema":{"type":"string","pattern":"EU|GR|US|JP"}},{"name":"code","in":"path","required":true,"schema":{"type":"string","pattern":"[A-Z0-9]{6}"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"maximum":500}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/catalogs/{region}/{code}/groups/{pnc}":{"get":{"operationId":"catalog_group","summary":"Every part line under one part group (PNC)","tags":["catalogs"],"parameters":[{"name":"region","in":"path","required":true,"schema":{"type":"string","pattern":"EU|GR|US|JP"}},{"name":"code","in":"path","required":true,"schema":{"type":"string","pattern":"[A-Z0-9]{6}"}},{"name":"pnc","in":"path","required":true,"schema":{"type":"string","pattern":"[A-Za-z0-9]{1,6}"}},{"name":"lang","in":"query","required":false,"description":"Data language: 01, 02, 03, 04, 05. Default 01 (English).","schema":{"type":"string","default":"01"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/catalogs/{region}/{code}/new-parts":{"get":{"operationId":"catalog_new_parts","summary":"Most recently introduced parts in a catalogue","tags":["catalogs"],"parameters":[{"name":"region","in":"path","required":true,"schema":{"type":"string","pattern":"EU|GR|US|JP"}},{"name":"code","in":"path","required":true,"schema":{"type":"string","pattern":"[A-Z0-9]{6}"}},{"name":"lang","in":"query","required":false,"description":"Data language: 01, 02, 03, 04, 05. Default 01 (English).","schema":{"type":"string","default":"01"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"maximum":500}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/catalogs/{region}/{code}/notes":{"get":{"operationId":"catalog_notes","summary":"Illustration notes (per catalogue, not per figure)","tags":["catalogs"],"parameters":[{"name":"region","in":"path","required":true,"schema":{"type":"string","pattern":"EU|GR|US|JP"}},{"name":"code","in":"path","required":true,"schema":{"type":"string","pattern":"[A-Z0-9]{6}"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"maximum":500}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/catalogs/{region}/{code}/sections":{"get":{"operationId":"catalog_sections","summary":"The sections of a catalogue, with cover figures","tags":["catalogs"],"parameters":[{"name":"region","in":"path","required":true,"schema":{"type":"string","pattern":"EU|GR|US|JP"}},{"name":"code","in":"path","required":true,"schema":{"type":"string","pattern":"[A-Z0-9]{6}"}},{"name":"lang","in":"query","required":false,"description":"Data language: 01, 02, 03, 04, 05. Default 01 (English).","schema":{"type":"string","default":"01"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"maximum":500}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/catalogs/{region}/{code}/sections/{section}":{"get":{"operationId":"catalog_section","summary":"One section: its part groups and drawings","tags":["catalogs"],"parameters":[{"name":"region","in":"path","required":true,"schema":{"type":"string","pattern":"EU|GR|US|JP"}},{"name":"code","in":"path","required":true,"schema":{"type":"string","pattern":"[A-Z0-9]{6}"}},{"name":"section","in":"path","required":true,"schema":{"type":"string","pattern":"[A-Z0-9]{1,4}"}},{"name":"lang","in":"query","required":false,"description":"Data language: 01, 02, 03, 04, 05. Default 01 (English).","schema":{"type":"string","default":"01"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/catalogs/{region}/{code}/specs":{"get":{"operationId":"catalog_specs","summary":"Raw spec/option codes for a catalogue","tags":["catalogs"],"parameters":[{"name":"region","in":"path","required":true,"schema":{"type":"string","pattern":"EU|GR|US|JP"}},{"name":"code","in":"path","required":true,"schema":{"type":"string","pattern":"[A-Z0-9]{6}"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/catalogs/{region}/{code}/variants":{"get":{"operationId":"catalog_variants","summary":"Model variants and VIN prefixes a catalogue covers","tags":["catalogs"],"parameters":[{"name":"region","in":"path","required":true,"schema":{"type":"string","pattern":"EU|GR|US|JP"}},{"name":"code","in":"path","required":true,"schema":{"type":"string","pattern":"[A-Z0-9]{6}"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"maximum":500}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/fitment/{code}":{"get":{"operationId":"fitment","summary":"Every part carrying a given fitment code","tags":["fitment"],"parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","pattern":"[A-Za-z0-9_\\-\\.,;\\/]{1,82}"}},{"name":"region","in":"query","required":false,"description":"Restrict to one market: EU, GR, US, JP.","schema":{"type":"string","enum":["EU","GR","US","JP"]}},{"name":"lang","in":"query","required":false,"description":"Data language: 01, 02, 03, 04, 05. Default 01 (English).","schema":{"type":"string","default":"01"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"maximum":500}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/openapi.json":{"get":{"operationId":"openapi","summary":"This OpenAPI document","tags":["openapi.json"],"parameters":[],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/part-names":{"get":{"operationId":"part_names","summary":"Part groups by name","tags":["part-names"],"parameters":[{"name":"q","in":"query","required":false,"description":"Search term.","schema":{"type":"string"}},{"name":"lang","in":"query","required":false,"description":"Data language: 01, 02, 03, 04, 05. Default 01 (English).","schema":{"type":"string","default":"01"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"maximum":500}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/part-numbers/{number}":{"get":{"operationId":"part_number","summary":"Everything known about a part number, across all markets","tags":["part-numbers"],"parameters":[{"name":"number","in":"path","required":true,"schema":{"type":"string","pattern":"[A-Za-z0-9\\-]{3,20}"}},{"name":"lang","in":"query","required":false,"description":"Data language: 01, 02, 03, 04, 05. Default 01 (English).","schema":{"type":"string","default":"01"}},{"name":"region","in":"query","required":false,"description":"Restrict to one market: EU, GR, US, JP.","schema":{"type":"string","enum":["EU","GR","US","JP"]}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/part-numbers/{number}/history":{"get":{"operationId":"part_number_history","summary":"Supersessions, the full replacement chain, and substitutes","tags":["part-numbers"],"parameters":[{"name":"number","in":"path","required":true,"schema":{"type":"string","pattern":"[A-Za-z0-9\\-]{3,20}"}},{"name":"region","in":"query","required":false,"description":"Restrict to one market: EU, GR, US, JP.","schema":{"type":"string","enum":["EU","GR","US","JP"]}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/part-numbers/{number}/price":{"get":{"operationId":"part_number_price","summary":"List price (Japanese dataset only)","tags":["part-numbers"],"parameters":[{"name":"number","in":"path","required":true,"schema":{"type":"string","pattern":"[A-Za-z0-9\\-]{3,20}"}},{"name":"region","in":"query","required":false,"description":"Restrict to one market: EU, GR, US, JP.","schema":{"type":"string","enum":["EU","GR","US","JP"]}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/part-numbers/{number}/suffixes":{"get":{"operationId":"part_number_suffixes","summary":"What the two-character suffix on a number selects","tags":["part-numbers"],"parameters":[{"name":"number","in":"path","required":true,"schema":{"type":"string","pattern":"[A-Za-z0-9\\-]{3,20}"}},{"name":"region","in":"query","required":false,"description":"Restrict to one market: EU, GR, US, JP.","schema":{"type":"string","enum":["EU","GR","US","JP"]}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/parts/{id}":{"get":{"operationId":"part","summary":"One catalogue part line, with fitment and remarks","tags":["parts"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"\\d+"}},{"name":"lang","in":"query","required":false,"description":"Data language: 01, 02, 03, 04, 05. Default 01 (English).","schema":{"type":"string","default":"01"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/regions":{"get":{"operationId":"regions","summary":"The four market datasets","tags":["regions"],"parameters":[],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/regions/{region}/models":{"get":{"operationId":"models","summary":"Model families in one market, A–Z","tags":["regions"],"parameters":[{"name":"region","in":"path","required":true,"schema":{"type":"string","pattern":"EU|GR|US|JP"}},{"name":"q","in":"query","required":false,"description":"Search term.","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"maximum":500}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/regions/{region}/models/{slug}":{"get":{"operationId":"model","summary":"One model family and its production runs","tags":["regions"],"parameters":[{"name":"region","in":"path","required":true,"schema":{"type":"string","pattern":"EU|GR|US|JP"}},{"name":"slug","in":"path","required":true,"schema":{"type":"string","pattern":"[a-z0-9][a-z0-9\\-]*"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/search":{"get":{"operationId":"search","summary":"Unified search: VIN, part number, model or part name","tags":["search"],"parameters":[{"name":"q","in":"query","required":false,"description":"Search term.","schema":{"type":"string"}},{"name":"region","in":"query","required":false,"description":"Restrict to one market: EU, GR, US, JP.","schema":{"type":"string","enum":["EU","GR","US","JP"]}},{"name":"lang","in":"query","required":false,"description":"Data language: 01, 02, 03, 04, 05. Default 01 (English).","schema":{"type":"string","default":"01"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/stats":{"get":{"operationId":"stats","summary":"Every table behind the catalogue, with row counts","tags":["stats"],"parameters":[],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/vehicles/model-code/{modelCode}/accessories":{"get":{"operationId":"vehicle_accessories","summary":"Accessories offered against a model code","tags":["vehicles"],"parameters":[{"name":"modelCode","in":"path","required":true,"schema":{"type":"string","pattern":"[A-Za-z0-9\\-]{1,20}"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"maximum":500}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/vehicles/{chassis}/serials":{"get":{"operationId":"vehicle_serials","summary":"Serial runs recorded for a chassis","tags":["vehicles"],"parameters":[{"name":"chassis","in":"path","required":true,"schema":{"type":"string","pattern":"[A-Za-z0-9]{1,7}"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"maximum":500}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/vehicles/{chassis}/{frame}":{"get":{"operationId":"vehicle_build","summary":"Build month for one chassis and frame number","tags":["vehicles"],"parameters":[{"name":"chassis","in":"path","required":true,"schema":{"type":"string","pattern":"[A-Za-z0-9]{1,7}"}},{"name":"frame","in":"path","required":true,"schema":{"type":"string","pattern":"[A-Za-z0-9]{1,7}"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/vin/{vin}":{"get":{"operationId":"vin","summary":"VIN or frame prefix to the catalogues covering the vehicle","tags":["vin"],"parameters":[{"name":"vin","in":"path","required":true,"schema":{"type":"string","pattern":"[A-Za-z0-9]{5,17}"}},{"name":"region","in":"query","required":false,"description":"Restrict to one market: EU, GR, US, JP.","schema":{"type":"string","enum":["EU","GR","US","JP"]}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"maximum":500}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}},"components":{"schemas":{"Envelope":{"type":"object","properties":{"data":{"description":"The resource or collection"},"meta":{"type":"object","properties":{"count":{"type":"integer"},"total":{"type":"integer"},"limit":{"type":"integer"},"offset":{"type":"integer"},"capped":{"type":"boolean","description":"True when the underlying query hit its own row cap, so `total` is a floor rather than the real total."}}},"links":{"type":"object","properties":{"self":{"type":"string"},"next":{"type":"string"},"prev":{"type":"string"}}}}},"Error":{"type":"object","properties":{"error":{"type":"object","properties":{"status":{"type":"integer"},"code":{"type":"string"},"message":{"type":"string"}}}}}}}}