{"openapi":"3.1.0","info":{"title":"Car Vector (BYOK) API","version":"0.1.0","description":"Car Vector (BYOK) lets an AI assistant read your own Car Vector data through the Car Vector API with a key you supply (CarVector API key). Read-only: 8 tools (search_vehicles, get_vehicle, get_vehicle_recalls, get_vehicle_complaints, get_vehicle_service_bulletins, get_vehicle_investigations, lookup_trouble_code, get_service_status). The BYOK key travels with each request, is used for that one...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-carvector.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-carvector/docs"},"termsOfService":"https://connectorbay.com/byok-carvector/terms"},"servers":[{"url":"https://byok-carvector.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-carvector/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/search_vehicles":{"post":{"operationId":"search_vehicles","summary":"Search the vehicle catalog by model year, make and model (case-insensitive). Returns vehicle ids to use with the other t","description":"Search the vehicle catalog by model year, make and model (case-insensitive). Returns vehicle ids to use with the other tools; the free plan caps pages at 10. Use for \"Find 2018 Toyota Tacoma vehicles\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"year":{"anyOf":[{"maximum":2100,"minimum":1900,"type":"integer"},{"type":"null"}],"default":null,"description":"Model year, for example 2018.","title":"Year"},"make":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Make, for example 'Toyota'.","title":"Make"},"model":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Model, for example 'Tacoma' (prefix match).","title":"Model"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"Results per page (1 to 100; 10 on the free plan).","title":"Limit"},"offset":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many results to skip.","title":"Offset"}},"title":"search_vehiclesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_vehicle":{"post":{"operationId":"get_vehicle","summary":"Get the specs of one vehicle by id: trim, engine, horsepower, transmission, drivetrain, fuel, body, doors and counts of ","description":"Get the specs of one vehicle by id: trim, engine, horsepower, transmission, drivetrain, fuel, body, doors and counts of recalls, complaints, bulletins and investigations. Use for \"What are the engine specs of vehicle 1laqdklflb3hfav\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"id":{"description":"Opaque vehicle id returned by search_vehicles, for example '1laqdklflb3hfav'.","maxLength":200,"title":"Id","type":"string"}},"required":["id"],"title":"get_vehicleArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_vehicle_recalls":{"post":{"operationId":"get_vehicle_recalls","summary":"List federal recall campaigns for a vehicle, newest first, with component, summary, consequence, remedy and units affect","description":"List federal recall campaigns for a vehicle, newest first, with component, summary, consequence, remedy and units affected. Dates are DD/MM/YYYY here. Use for \"Any recalls on vehicle 1laqdklflb3hfav\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"id":{"description":"Opaque vehicle id returned by search_vehicles, for example '1laqdklflb3hfav'.","maxLength":200,"title":"Id","type":"string"}},"required":["id"],"title":"get_vehicle_recallsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_vehicle_complaints":{"post":{"operationId":"get_vehicle_complaints","summary":"Get the owner-complaint totals for a vehicle (by component and year, crash, fire, injury and death counts) plus the most","description":"Get the owner-complaint totals for a vehicle (by component and year, crash, fire, injury and death counts) plus the most recent complaints. Needs the Pro plan or higher. Use for \"How many owner complaints does vehicle 1laqdklflb3hfav have, and about what\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"id":{"description":"Opaque vehicle id returned by search_vehicles, for example '1laqdklflb3hfav'.","maxLength":200,"title":"Id","type":"string"},"limit":{"anyOf":[{"maximum":10,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"Recent complaints to return (1 to 10).","title":"Limit"},"since":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only items on or after this date, as YYYY-MM-DD.","title":"Since"}},"required":["id"],"title":"get_vehicle_complaintsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_vehicle_service_bulletins":{"post":{"operationId":"get_vehicle_service_bulletins","summary":"List the manufacturer technical service bulletin index for a vehicle (id, date, type, component, short summary), newest ","description":"List the manufacturer technical service bulletin index for a vehicle (id, date, type, component, short summary), newest first. Needs the Business plan or higher. Use for \"Which service bulletins exist for vehicle 1laqdklflb3hfav\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"id":{"description":"Opaque vehicle id returned by search_vehicles, for example '1laqdklflb3hfav'.","maxLength":200,"title":"Id","type":"string"},"limit":{"anyOf":[{"maximum":50,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"Bulletins to return (1 to 50).","title":"Limit"},"since":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only items on or after this date, as YYYY-MM-DD.","title":"Since"}},"required":["id"],"title":"get_vehicle_service_bulletinsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_vehicle_investigations":{"post":{"operationId":"get_vehicle_investigations","summary":"List NHTSA defect investigations mapped to a vehicle, newest first, with open and close dates and linked recall campaign","description":"List NHTSA defect investigations mapped to a vehicle, newest first, with open and close dates and linked recall campaign. Needs the Business plan or higher. Use for \"Has NHTSA opened any investigation on vehicle 1laqdklflb3hfav\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"id":{"description":"Opaque vehicle id returned by search_vehicles, for example '1laqdklflb3hfav'.","maxLength":200,"title":"Id","type":"string"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"Investigations to return (1 to 100).","title":"Limit"},"since":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only items on or after this date, as YYYY-MM-DD.","title":"Since"}},"required":["id"],"title":"get_vehicle_investigationsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/lookup_trouble_code":{"post":{"operationId":"lookup_trouble_code","summary":"Look up an OBD-II diagnostic trouble code: title, category, severity and whether it is safety or emissions related. Use ","description":"Look up an OBD-II diagnostic trouble code: title, category, severity and whether it is safety or emissions related. Use for \"What does trouble code P0420 mean\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"code":{"description":"OBD-II code, for example 'P0420' (case-insensitive).","maxLength":200,"title":"Code","type":"string"}},"required":["code"],"title":"lookup_trouble_codeArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_service_status":{"post":{"operationId":"get_service_status","summary":"Check the service health and when the vehicle data was last refreshed. Use for \"When was the CarVector data last updated","description":"Check the service health and when the vehicle data was last refreshed. Use for \"When was the CarVector data last updated\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_service_statusArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}