{"openapi":"3.1.0","info":{"title":"AUCatalog local synthetic API","version":"1.0.0","description":"Fictional vehicles/articles and sandbox supplier offers with test prices, stock and TEST-OEM identifiers. No real supplier or fitment guarantees. Keep keys server-side."},"servers":[{"url":"http://127.0.0.1:4200","description":"Local loopback development only"}],"security":[{"apiKey":[]}],"paths":{"/api/v1/suppliers/sandbox/offers":{"get":{"operationId":"_api_v__suppliers_sandbox_offers","description":"Required scope: catalog.read","parameters":[{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":50,"default":20}},{"name":"cursor","in":"query","schema":{"type":"string","maxLength":4096}}],"responses":{"200":{"description":"Published permitted synthetic records","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Article"}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"400","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"401","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"403","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"404","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"405":{"description":"405","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"429","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"503","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/vehicles/makes":{"get":{"operationId":"_api_v__vehicles_makes","description":"Required scope: vehicles.read","parameters":[{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":50,"default":20}},{"name":"cursor","in":"query","schema":{"type":"string","maxLength":4096}}],"responses":{"200":{"description":"Published permitted synthetic records","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Make"}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"400","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"401","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"403","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"404","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"405":{"description":"405","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"429","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"503","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/vehicles/models":{"get":{"operationId":"_api_v__vehicles_models","description":"Required scope: vehicles.read","parameters":[{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":50,"default":20}},{"name":"cursor","in":"query","schema":{"type":"string","maxLength":4096}},{"name":"make_id","in":"query","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Published permitted synthetic records","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Model"}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"400","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"401","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"403","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"404","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"405":{"description":"405","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"429","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"503","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/vehicles/generations":{"get":{"operationId":"_api_v__vehicles_generations","description":"Required scope: vehicles.read","parameters":[{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":50,"default":20}},{"name":"cursor","in":"query","schema":{"type":"string","maxLength":4096}},{"name":"model_id","in":"query","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Published permitted synthetic records","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Generation"}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"400","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"401","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"403","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"404","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"405":{"description":"405","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"429","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"503","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/vehicles/variants":{"get":{"operationId":"_api_v__vehicles_variants","description":"Required scope: vehicles.read","parameters":[{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":50,"default":20}},{"name":"cursor","in":"query","schema":{"type":"string","maxLength":4096}},{"name":"model_id","in":"query","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Published permitted synthetic records","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Variant"}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"400","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"401","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"403","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"404","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"405":{"description":"405","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"429","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"503","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/brands":{"get":{"operationId":"_api_v__brands","description":"Required scope: catalog.read","parameters":[{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":50,"default":20}},{"name":"cursor","in":"query","schema":{"type":"string","maxLength":4096}}],"responses":{"200":{"description":"Published permitted synthetic records","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Brand"}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"400","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"401","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"403","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"404","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"405":{"description":"405","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"429","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"503","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/categories":{"get":{"operationId":"_api_v__categories","description":"Required scope: catalog.read","parameters":[{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":50,"default":20}},{"name":"cursor","in":"query","schema":{"type":"string","maxLength":4096}}],"responses":{"200":{"description":"Published permitted synthetic records","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Category"}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"400","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"401","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"403","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"404","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"405":{"description":"405","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"429","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"503","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/articles":{"get":{"operationId":"_api_v__articles","description":"Required scope: catalog.read","parameters":[{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":50,"default":20}},{"name":"cursor","in":"query","schema":{"type":"string","maxLength":4096}},{"name":"q","in":"query","required":false,"schema":{"type":"string","maxLength":120}},{"name":"type","in":"query","required":false,"schema":{"type":"string","enum":["name","article","brand"],"default":"name"}},{"name":"category_id","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"brand_id","in":"query","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Published permitted synthetic records","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Article"}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"400","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"401","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"403","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"404","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"405":{"description":"405","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"429","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"503","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/articles/search":{"get":{"operationId":"_api_v__articles_search","description":"Required scope: catalog.read","parameters":[{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":50,"default":20}},{"name":"cursor","in":"query","schema":{"type":"string","maxLength":4096}},{"name":"q","in":"query","required":true,"schema":{"type":"string","maxLength":120}},{"name":"type","in":"query","required":false,"schema":{"type":"string","enum":["name","article","brand"],"default":"name"}},{"name":"category_id","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"brand_id","in":"query","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Published permitted synthetic records","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Article"}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"400","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"401","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"403","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"404","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"405":{"description":"405","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"429","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"503","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/vehicles/{id}/parts":{"get":{"operationId":"_api_v__vehicles__id__parts","description":"Required scope: fitment.read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":50,"default":20}},{"name":"cursor","in":"query","schema":{"type":"string","maxLength":4096}}],"responses":{"200":{"description":"Published permitted synthetic records","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Article"}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"400","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"401","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"403","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"404","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"405":{"description":"405","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"429","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"503","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/articles/{id}/fitments":{"get":{"operationId":"_api_v__articles__id__fitments","description":"Required scope: fitment.read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":50,"default":20}},{"name":"cursor","in":"query","schema":{"type":"string","maxLength":4096}}],"responses":{"200":{"description":"Published permitted synthetic records","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Fitment"}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"400","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"401","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"403","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"404","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"405":{"description":"405","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"429","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"503","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/articles/{id}/specifications":{"get":{"operationId":"_api_v__articles__id__specifications","description":"Required scope: catalog.read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":50,"default":20}},{"name":"cursor","in":"query","schema":{"type":"string","maxLength":4096}}],"responses":{"200":{"description":"Published permitted synthetic records","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Specification"}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"400","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"401","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"403","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"404","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"405":{"description":"405","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"429","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"503","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/articles/{id}/cross-references":{"get":{"operationId":"_api_v__articles__id__cross_references","description":"Required scope: catalog.read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":50,"default":20}},{"name":"cursor","in":"query","schema":{"type":"string","maxLength":4096}}],"responses":{"200":{"description":"Published permitted synthetic records","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/CrossReference"}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"400","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"401","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"403","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"404","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"405":{"description":"405","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"429","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"503","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/vehicles/{id}":{"get":{"operationId":"_api_v__vehicles__id_","description":"Required scope: vehicles.read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Permitted record","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/Variant"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"400","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"401","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"403","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"404","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"405":{"description":"405","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"429","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"503","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/articles/{id}":{"get":{"operationId":"_api_v__articles__id_","description":"Required scope: catalog.read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Permitted record","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/Article"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"400","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"401","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"403","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"404","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"405":{"description":"405","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"429","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"503","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/categories/{id}":{"get":{"operationId":"_api_v__categories__id_","description":"Required scope: catalog.read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Permitted record","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/Category"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"400","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"401","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"403","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"404","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"405":{"description":"405","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"429","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"503","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/media/{id}":{"get":{"operationId":"_api_v__media__id_","description":"Required scope: media.read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Permitted record","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/Media"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"400","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"401","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"403","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"404","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"405":{"description":"405","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"429","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"503","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/providers":{"get":{"operationId":"providerStatus","description":"Deployment provider status only; not client data entitlements. External providers are planned and cannot be called. Requires catalog.read. Provider selection is server controlled.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Provider readiness, without credentials or private configuration","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","status","callable","capabilities","requirements"],"properties":{"id":{"enum":["synthetic","intercars","laximo","tecalliance"]},"status":{"enum":["ACTIVE_LOCAL","PLANNED"]},"callable":{"type":"boolean"},"capabilities":{"type":"array","items":{"type":"string"}},"requirements":{"type":"array","items":{"type":"string"}}}}},"meta":{"type":"object","required":["source","version","mode","active_provider","selection","productionReady","request_id"],"properties":{"source":{"const":"aucatalog"},"version":{"const":"v1"},"mode":{"const":"SYNTHETIC_LOCAL_ONLY"},"active_provider":{"const":"synthetic"},"selection":{"const":"SERVER_CONTROLLED"},"productionReady":{"const":false},"request_id":{"type":"string","format":"uuid"}}}}}}}},"400":{"description":"400","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"401","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"403","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"404","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"405":{"description":"405","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"429","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"503","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/gadgets":{"get":{"operationId":"getGadgets","summary":"Synthetic accessory catalogue and sandbox supplier offers","security":[{"apiKey":[]}],"responses":{"200":{"description":"Eight fictional accessory products; no real stock or compatibility claims.","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","title","articleNumber","supplierOffer"],"properties":{"id":{"type":"string","format":"uuid"},"title":{"type":"string"},"articleNumber":{"type":"string"},"supplierOffer":{"type":"object"}}}},"meta":{"type":"object","required":["mode"],"properties":{"mode":{"const":"SYNTHETIC_LOCAL_ONLY"}}}}}}}},"401":{"description":"Invalid client key"},"403":{"description":"catalog.read scope required"}}}},"/api/v1/insurance/compare":{"post":{"operationId":"compareInsurance","summary":"Compare simulated motor insurance offers; cannot issue policies or accept payments","security":[{"apiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["product","make","model","year","fuel","powerKw","postalCode","insurers"],"properties":{"product":{"type":"string","enum":["GO","CASCO"]},"make":{"type":"string","maxLength":80},"model":{"type":"string","maxLength":80},"year":{"type":"integer","minimum":1950},"fuel":{"type":"string","enum":["PETROL","DIESEL","ELECTRIC","HYBRID","LPG"]},"powerKw":{"type":"integer","minimum":1,"maximum":2000},"postalCode":{"type":"string","pattern":"^[0-9]{4}$"},"insurers":{"type":"array","minItems":1,"maxItems":12,"uniqueItems":true,"items":{"type":"string"}},"installments":{"type":"integer","enum":[1,2,4]},"vehicleValueMinor":{"type":"integer","minimum":10000,"maximum":50000000,"description":"EUR minor units. Required for CASCO."}}}}}},"responses":{"200":{"description":"SIMULATED, bindable=false; EUR prices, exact installment breakdown and 15-minute expiry. No policy is issued.","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["quotes","mode","bindable"],"properties":{"mode":{"const":"SIMULATED"},"bindable":{"const":false},"quotes":{"type":"array","items":{"type":"object","required":["id","annualMinor","providerId","bindable"],"properties":{"id":{"type":"string"},"annualMinor":{"type":"integer"},"providerId":{"type":"string"},"bindable":{"const":false}}}}}},"meta":{"type":"object","required":["mode"],"properties":{"mode":{"const":"SYNTHETIC_LOCAL_ONLY"}}}}}}}},"400":{"description":"Invalid fields or client-supplied prices"},"401":{"description":"Invalid client key"},"413":{"description":"JSON body exceeds 4096 bytes"}}}},"/api/v1/open-vehicles/models":{"get":{"operationId":"approvedOpenVehicleModels","description":"Requires vehicles.read. Local, editorially approved car make/model names from the pinned VehiclesDB snapshot. Separate identifiers; no engine or compatibility claims. Pending and rejected records are never returned.","security":[{"apiKey":[]}],"parameters":[{"name":"q","in":"query","schema":{"type":"string","maxLength":100}},{"name":"make","in":"query","schema":{"type":"string","maxLength":100,"pattern":"^[a-z0-9_-]+$"}},{"name":"page","in":"query","schema":{"type":"integer","minimum":1,"maximum":999999,"default":1}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":50,"default":20}}],"responses":{"200":{"description":"Approved identities and source attribution; no private editorial notes or actor identities.","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","make","model","kind","reviewStatus","reviewRevision","technicalDataVerified","fitmentVerified"],"properties":{"id":{"type":"string","pattern":"^open_[a-f0-9]{64}$"},"make":{"type":"object","required":["slug","name"],"properties":{"slug":{"type":"string"},"name":{"type":"string"}}},"model":{"type":"object","required":["slug","name"],"properties":{"slug":{"type":"string"},"name":{"type":"string"}}},"kind":{"const":"car"},"reviewStatus":{"const":"IDENTITY_APPROVED"},"reviewRevision":{"type":"integer","minimum":1},"technicalDataVerified":{"const":false},"fitmentVerified":{"const":false}}}},"meta":{"type":"object","required":["source","mode","productionReady","page","limit","total","pages","sourceSnapshot","attribution","limitations","request_id"],"properties":{"source":{"const":"aucatalog"},"mode":{"const":"OPEN_IDENTITIES_LOCAL_ONLY"},"productionReady":{"const":false},"page":{"type":"integer"},"limit":{"type":"integer"},"total":{"type":"integer"},"pages":{"type":"integer"},"sourceSnapshot":{"type":"object","required":["sha256","version","revision"],"properties":{"sha256":{"type":"string"},"version":{"type":"string"},"revision":{"type":"string"}}},"attribution":{"type":"object","required":["provider","source","license","licenseUrl","notices"],"properties":{"provider":{"const":"VehiclesDB"},"source":{"type":"string"},"license":{"const":"CC-BY-4.0"},"licenseUrl":{"type":"string"},"notices":{"type":"object","required":["LICENSE","ATTRIBUTION.md","SOURCES.md"]}}},"limitations":{"type":"array","items":{"type":"string"}},"request_id":{"type":"string","format":"uuid"}}}}}}}},"400":{"description":"400","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"401","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"403","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"405":{"description":"405","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"429","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"503","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/research/vehicles":{"get":{"operationId":"researchSwissVehicleApprovals","security":[{"apiKey":[]}],"description":"Requires vehicles.read. Local research-only ASTRA observations; no approved model, engine or parts mapping. Source make label is required; model filters a literal source-label prefix. Swiss approvals include historic/cancelled records.","parameters":[{"name":"make","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":100}},{"name":"model","in":"query","schema":{"type":"string","maxLength":100}},{"name":"page","in":"query","schema":{"type":"integer","minimum":1,"maximum":999999,"default":1}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":50,"default":20}}],"responses":{"200":{"description":"Paginated source observations with attribution. Engine markedCode and netPowerKw are source strings or null; fuelCode is untranslated. No local source paths, operator notes or secrets.","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","maxItems":50,"items":{"type":"object","required":["id","make","sourceModelLabel","market","status","identityApproved","generationVerified","fitmentVerified","approval","vehicle","engine","source"],"properties":{"id":{"type":"string"},"make":{"type":"string"},"sourceModelLabel":{"type":"string"},"market":{"const":"CH"},"status":{"const":"SOURCE_OBSERVED"},"identityApproved":{"const":false},"generationVerified":{"const":false},"fitmentVerified":{"const":false},"approval":{"type":"object","required":["number","version","date","cancellationDate","expiryDate"],"properties":{"number":{"type":["string","null"]},"version":{"type":["string","null"]},"date":{"type":["string","null"]},"cancellationDate":{"type":["string","null"]},"expiryDate":{"type":["string","null"]}}},"vehicle":{"type":"object","required":["type","variant","version","category","driveCode"],"properties":{"type":{"type":["string","null"]},"variant":{"type":["string","null"]},"version":{"type":["string","null"]},"category":{"type":["string","null"]},"driveCode":{"type":["string","null"]}}},"engine":{"type":"object","required":["manufacturer","type","markedCode","fuelCode","cylinders","capacityRaw","netPowerKw"],"properties":{"manufacturer":{"type":["string","null"]},"type":{"type":["string","null"]},"markedCode":{"type":["string","null"]},"fuelCode":{"type":["string","null"]},"cylinders":{"type":["string","null"]},"capacityRaw":{"type":["string","null"]},"netPowerKw":{"type":["string","null"]}}},"source":{"type":"object","required":["provider","snapshot","row"],"properties":{"provider":{"const":"ASTRA"},"snapshot":{"type":"string"},"row":{"type":"integer"}}}}}},"meta":{"type":"object","required":["mode","productionReady","source","page","limit","total","pages","filter","attribution","limitations","request_id"],"properties":{"mode":{"const":"TECHNICAL_RESEARCH_LOCAL_ONLY"},"productionReady":{"const":false},"source":{"const":"aucatalog"},"page":{"type":"integer"},"limit":{"type":"integer"},"total":{"type":"integer"},"pages":{"type":"integer"},"filter":{"type":"object"},"attribution":{"type":"object"},"limitations":{"type":"array","items":{"type":"string"}},"request_id":{"type":"string"}}}}}}}},"400":{"description":"400"},"401":{"description":"401"},"403":{"description":"403"},"405":{"description":"405"},"429":{"description":"429"},"503":{"description":"503"}}}},"/api/v1/vin/decode":{"post":{"operationId":"decodeVin","security":[{"apiKey":[]}],"description":"Requires vin.decode and an active VIN subscription or explicit local trial. Monthly allowance is enforced even on cache hits. VIN decoding is local to AUCatalog; this endpoint does not guarantee parts compatibility or identify a canonical catalog variant.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["vin"],"properties":{"vin":{"type":"string","minLength":17,"maxLength":17,"pattern":"^[A-HJ-NPR-Za-hj-npr-z0-9]{17}$"},"modelYear":{"type":"integer","minimum":1981}}}}}},"responses":{"200":{"description":"Local vPIC result: DECODED or PARTIAL_OR_UNSUPPORTED. Missing facts are null. Source version, cache hit, access plan and compatibility limitations are explicit."},"400":{"description":"400"},"401":{"description":"401"},"403":{"description":"403"},"405":{"description":"405"},"413":{"description":"413"},"415":{"description":"415"},"429":{"description":"429"},"503":{"description":"503"}}}}},"components":{"securitySchemes":{"apiKey":{"type":"http","scheme":"bearer","bearerFormat":"au_<key-id>.<random-secret>"}},"schemas":{"Record":{"type":"object","required":["id","provenance"],"properties":{"id":{"type":"string","format":"uuid"},"provenance":{"type":"object","required":["provider","recordId","version","classification","verification"],"properties":{"provider":{"type":"string"},"recordId":{"type":"string"},"version":{"type":"string"},"classification":{"const":"SYNTHETIC"},"verification":{"const":"SYNTHETIC_ONLY"}}}},"additionalProperties":true},"Meta":{"type":"object","required":["request_id","source","version","mode","next_cursor","dataset_revision"],"properties":{"request_id":{"type":"string","format":"uuid"},"source":{"const":"aucatalog"},"version":{"const":"v1"},"mode":{"const":"SYNTHETIC_LOCAL_ONLY"},"limit":{"type":"integer"},"next_cursor":{"type":["string","null"]},"dataset_revision":{"type":"string"},"completeness":{"const":"complete"}}},"ListResponse":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Record"}},"meta":{"$ref":"#/components/schemas/Meta"}}},"DetailResponse":{"type":"object","required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/Record"},"meta":{"$ref":"#/components/schemas/Meta"}}},"Error":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message","request_id"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string","format":"uuid"}}}}},"Make":{"type":"object","required":["id","provenance","name"],"properties":{"id":{"type":"string","format":"uuid"},"provenance":{"type":"object","required":["provider","recordId","version","classification","verification"],"properties":{"provider":{"type":"string"},"recordId":{"type":"string"},"version":{"type":"string"},"classification":{"const":"SYNTHETIC"},"verification":{"const":"SYNTHETIC_ONLY"}}},"name":{"type":"string"}},"additionalProperties":true},"Model":{"type":"object","required":["id","provenance","name","makeId"],"properties":{"id":{"type":"string","format":"uuid"},"provenance":{"type":"object","required":["provider","recordId","version","classification","verification"],"properties":{"provider":{"type":"string"},"recordId":{"type":"string"},"version":{"type":"string"},"classification":{"const":"SYNTHETIC"},"verification":{"const":"SYNTHETIC_ONLY"}}},"name":{"type":"string"},"makeId":{"type":"string","format":"uuid"}},"additionalProperties":true},"Generation":{"type":"object","required":["id","provenance","name","modelId","yearFrom","yearTo"],"properties":{"id":{"type":"string","format":"uuid"},"provenance":{"type":"object","required":["provider","recordId","version","classification","verification"],"properties":{"provider":{"type":"string"},"recordId":{"type":"string"},"version":{"type":"string"},"classification":{"const":"SYNTHETIC"},"verification":{"const":"SYNTHETIC_ONLY"}}},"name":{"type":"string"},"modelId":{"type":"string","format":"uuid"},"yearFrom":{"type":["integer","null"]},"yearTo":{"type":["integer","null"]}},"additionalProperties":true},"Variant":{"type":"object","required":["id","provenance","name","modelId","generationId","engine","body","yearFrom","yearTo"],"properties":{"id":{"type":"string","format":"uuid"},"provenance":{"type":"object","required":["provider","recordId","version","classification","verification"],"properties":{"provider":{"type":"string"},"recordId":{"type":"string"},"version":{"type":"string"},"classification":{"const":"SYNTHETIC"},"verification":{"const":"SYNTHETIC_ONLY"}}},"name":{"type":"string"},"modelId":{"type":"string","format":"uuid"},"generationId":{"type":"string","format":"uuid"},"engine":{"type":"object","required":["id","name","code","fuel","powerKw"],"properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"code":{"type":"string"},"fuel":{"type":"string"},"powerKw":{"type":["integer","null"]}}},"body":{"type":"string"},"yearFrom":{"type":["integer","null"]},"yearTo":{"type":["integer","null"]}},"additionalProperties":true},"Brand":{"type":"object","required":["id","provenance","name"],"properties":{"id":{"type":"string","format":"uuid"},"provenance":{"type":"object","required":["provider","recordId","version","classification","verification"],"properties":{"provider":{"type":"string"},"recordId":{"type":"string"},"version":{"type":"string"},"classification":{"const":"SYNTHETIC"},"verification":{"const":"SYNTHETIC_ONLY"}}},"name":{"type":"string"}},"additionalProperties":true},"Category":{"type":"object","required":["id","provenance","name","parentId"],"properties":{"id":{"type":"string","format":"uuid"},"provenance":{"type":"object","required":["provider","recordId","version","classification","verification"],"properties":{"provider":{"type":"string"},"recordId":{"type":"string"},"version":{"type":"string"},"classification":{"const":"SYNTHETIC"},"verification":{"const":"SYNTHETIC_ONLY"}}},"name":{"type":"string"},"parentId":{"type":["string","null"],"format":"uuid"}},"additionalProperties":true},"Media":{"type":"object","required":["id","provenance","name","mediaKey","attribution","delivery"],"properties":{"id":{"type":"string","format":"uuid"},"provenance":{"type":"object","required":["provider","recordId","version","classification","verification"],"properties":{"provider":{"type":"string"},"recordId":{"type":"string"},"version":{"type":"string"},"classification":{"const":"SYNTHETIC"},"verification":{"const":"SYNTHETIC_ONLY"}}},"name":{"type":"string"},"mediaKey":{"enum":["brake","filter","shock","oil"]},"attribution":{"type":"string"},"delivery":{"const":"OWN_ILLUSTRATION_METADATA"}},"additionalProperties":true},"Article":{"type":"object","required":["id","provenance","title","brand","brandId","category","categoryId","articleNumber"],"properties":{"id":{"type":"string","format":"uuid"},"provenance":{"type":"object","required":["provider","recordId","version","classification","verification"],"properties":{"provider":{"type":"string"},"recordId":{"type":"string"},"version":{"type":"string"},"classification":{"const":"SYNTHETIC"},"verification":{"const":"SYNTHETIC_ONLY"}}},"title":{"type":"string"},"brand":{"type":"string"},"brandId":{"type":"string","format":"uuid"},"category":{"type":"string"},"categoryId":{"type":"string","format":"uuid"},"articleNumber":{"type":"string"},"oemNumbers":{"type":"array","items":{"type":"string","pattern":"^TEST-OEM-[A-F0-9]{12}$"}},"supplierOffer":{"type":["object","null"],"description":"Fictional sandbox supplier only. EUR price includes VAT. TEST-OEM values are illustrative and do not assert compatibility.","properties":{"provider":{"const":"aucatalog_sandbox_supplier"},"mode":{"const":"SANDBOX"},"articleId":{"type":"string","format":"uuid"},"sku":{"type":"string"},"priceMinor":{"type":"integer","minimum":1},"currency":{"const":"EUR"},"vatIncluded":{"const":true},"stockQty":{"type":"integer","minimum":0},"validUntil":{"type":"string","format":"date-time"},"oemNumbers":{"type":"array","items":{"type":"string"}},"oemVerification":{"const":"TEST_ONLY"},"condition":{"const":"NEW"}}},"media":{"type":"object","description":"Included only with media.read scope","properties":{"id":{"type":"string","format":"uuid"},"key":{"enum":["brake","filter","shock","oil"]},"attribution":{"type":"string"}}},"fitment":{"type":"object","description":"Included only on vehicle parts projection","properties":{"state":{"enum":["CONDITIONAL","CONFLICT","SYNTHETIC_MATCH","NOT_APPLICABLE","UNKNOWN"]},"guaranteed":{"const":false},"claims":{"type":"array","items":{"type":"object","required":["state","restrictions","provenance"],"properties":{"state":{"enum":["CONFLICT","SYNTHETIC_MATCH","NOT_APPLICABLE","UNKNOWN"]},"restrictions":{"type":"object"},"provenance":{"type":"object","required":["provider","recordId","version","classification","verification"],"properties":{"provider":{"type":"string"},"recordId":{"type":"string"},"version":{"type":"string"},"classification":{"const":"SYNTHETIC"},"verification":{"const":"SYNTHETIC_ONLY"}}}}}}}}},"additionalProperties":true},"Specification":{"type":"object","required":["id","provenance","articleId","property","value","unit"],"properties":{"id":{"type":"string","format":"uuid"},"provenance":{"type":"object","required":["provider","recordId","version","classification","verification"],"properties":{"provider":{"type":"string"},"recordId":{"type":"string"},"version":{"type":"string"},"classification":{"const":"SYNTHETIC"},"verification":{"const":"SYNTHETIC_ONLY"}}},"articleId":{"type":"string","format":"uuid"},"property":{"type":"string"},"value":{"type":"string"},"unit":{"type":["string","null"]}},"additionalProperties":true},"Fitment":{"type":"object","required":["id","provenance","articleId","variantId","state","restrictions","guaranteed"],"properties":{"id":{"type":"string","format":"uuid"},"provenance":{"type":"object","required":["provider","recordId","version","classification","verification"],"properties":{"provider":{"type":"string"},"recordId":{"type":"string"},"version":{"type":"string"},"classification":{"const":"SYNTHETIC"},"verification":{"const":"SYNTHETIC_ONLY"}}},"articleId":{"type":"string","format":"uuid"},"variantId":{"type":"string","format":"uuid"},"state":{"enum":["CONFLICT","SYNTHETIC_MATCH","NOT_APPLICABLE","UNKNOWN"]},"restrictions":{"type":"object"},"guaranteed":{"const":false}},"additionalProperties":true},"CrossReference":{"type":"object","required":["id","provenance","articleId","kind","targetArticleId","oeNumber","makeId","impliesFitment"],"properties":{"id":{"type":"string","format":"uuid"},"provenance":{"type":"object","required":["provider","recordId","version","classification","verification"],"properties":{"provider":{"type":"string"},"recordId":{"type":"string"},"version":{"type":"string"},"classification":{"const":"SYNTHETIC"},"verification":{"const":"SYNTHETIC_ONLY"}}},"articleId":{"type":"string","format":"uuid"},"kind":{"enum":["OEM","REPLACEMENT","ANALOGUE","CROSS_REFERENCE"]},"targetArticleId":{"type":["string","null"],"format":"uuid"},"oeNumber":{"type":["string","null"]},"makeId":{"type":["string","null"],"format":"uuid"},"impliesFitment":{"const":false}},"additionalProperties":true}}}}