{"openapi":"3.1.0","info":{"title":"DeviceJuJu Public API","description":"Read-only access to the DeviceJuJu catalog: manufacturers, categories,\ndevices with their specs, images and prices, kits, battery platforms, vendors and recalls.\n\n**Keys.** Create a key under My Account → API Keys and send it as\n`Authorization: Bearer djk_…`. Use of the API is subject to the\n[API terms](/developers#terms).\n\n**Limits.** Each key gets 5 requests a second (bursts of 20) and 50,000 requests a UTC day,\nimage downloads included. Responses carry `RateLimit-Limit`, `RateLimit-Remaining` and\n`RateLimit-Reset`; a 429 says when to retry in `Retry-After`.\n\n**Paging.** Lists return `{ data, next_cursor, has_more }` in id order. Pass `next_cursor` back as\n`cursor` for the next page. Cursors don't expire, and changes between pages don't shift them.\n\n**Staying in sync.** Take a cursor from `/changes/cursor`, page the lists you need, then poll\n`/changes?cursor=` and refetch what changed (`/devices?ids=` takes up to 100 ids). A change\nmarked `deleted` names something gone or no longer public. Changes are kept 90 days; an older\ncursor gets 410 `cursor_expired`, and you sync again from a new cursor.\n\n**Errors** are JSON: `{ \"error\": \"…\", \"error_code\": \"…\" }`.\n\n**Compatibility.** Within /v1, fields are added but never renamed or removed. Ignore fields you\ndon't recognize.","license":{"name":""},"version":"1"},"servers":[{"url":"/api/public/v1"}],"paths":{"/battery-platforms":{"get":{"tags":["catalog"],"summary":"List battery platforms","operationId":"list_platforms","parameters":[{"name":"cursor","in":"query","description":"next_cursor from the previous page","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Page size, 1-100 (default 50)","required":false,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_BatteryPlatform"}}}},"400":{"description":"Bad cursor, limit or filter","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api_key":[]}]}},"/battery-platforms/{id}":{"get":{"tags":["catalog"],"summary":"Get a battery platform","operationId":"get_platform","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatteryPlatform"}}}},"404":{"description":"Not found, or not public","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api_key":[]}]}},"/categories":{"get":{"tags":["catalog"],"summary":"List categories with their attributes","operationId":"list_categories","parameters":[{"name":"cursor","in":"query","description":"next_cursor from the previous page","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Page size, 1-100 (default 50)","required":false,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_Category"}}}},"400":{"description":"Bad cursor, limit or filter","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api_key":[]}]}},"/categories/{id}":{"get":{"tags":["catalog"],"summary":"Get a category","operationId":"get_category","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Category"}}}},"404":{"description":"Not found, or not public","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api_key":[]}]}},"/changes":{"get":{"tags":["changes"],"summary":"List changes since a cursor","operationId":"list_changes","parameters":[{"name":"cursor","in":"query","description":"next_cursor from the previous call, or from /changes/cursor","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Changes per page, 1-1000 (default 500)","required":false,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangePage"}}}},"400":{"description":"Bad cursor or limit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"410":{"description":"Cursor older than the 90 days of kept changes: sync again","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api_key":[]}]}},"/changes/cursor":{"get":{"tags":["changes"],"summary":"Get a starting cursor","operationId":"current_cursor","responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CursorResponse"}}}}},"security":[{"api_key":[]}]}},"/devices":{"get":{"tags":["catalog"],"summary":"List devices","operationId":"list_devices","parameters":[{"name":"cursor","in":"query","description":"next_cursor from the previous page","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Page size, 1-100 (default 50)","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"manufacturer_id","in":"query","description":"Only this manufacturer's","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"category_id","in":"query","description":"Only this category and its subcategories","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"ids","in":"query","description":"Comma-separated device ids, up to 100","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_Device"}}}},"400":{"description":"Bad cursor, limit or filter","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api_key":[]}]}},"/devices/{id}":{"get":{"tags":["catalog"],"summary":"Get a device","operationId":"get_device","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Device"}}}},"404":{"description":"Not found, or not public","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api_key":[]}]}},"/key":{"get":{"tags":["key"],"summary":"Get the calling key, its limits and usage today","operationId":"key_info","responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KeyInfo"}}}}},"security":[{"api_key":[]}]}},"/kits":{"get":{"tags":["catalog"],"summary":"List kits","operationId":"list_kits","parameters":[{"name":"cursor","in":"query","description":"next_cursor from the previous page","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Page size, 1-100 (default 50)","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"manufacturer_id","in":"query","description":"Only this manufacturer's","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"device_id","in":"query","description":"Only kits that include this device","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"ids","in":"query","description":"Comma-separated kit ids, up to 100","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_Kit"}}}},"400":{"description":"Bad cursor, limit or filter","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api_key":[]}]}},"/kits/{id}":{"get":{"tags":["catalog"],"summary":"Get a kit","operationId":"get_kit","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Kit"}}}},"404":{"description":"Not found, or not public","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api_key":[]}]}},"/manufacturers":{"get":{"tags":["catalog"],"summary":"List manufacturers","operationId":"list_manufacturers","parameters":[{"name":"cursor","in":"query","description":"next_cursor from the previous page","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Page size, 1-100 (default 50)","required":false,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_Manufacturer"}}}},"400":{"description":"Bad cursor, limit or filter","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api_key":[]}]}},"/manufacturers/{id}":{"get":{"tags":["catalog"],"summary":"Get a manufacturer","operationId":"get_manufacturer","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Manufacturer"}}}},"404":{"description":"Not found, or not public","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api_key":[]}]}},"/recalls":{"get":{"tags":["catalog"],"summary":"List recalls","operationId":"list_recalls","parameters":[{"name":"cursor","in":"query","description":"next_cursor from the previous page","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Page size, 1-100 (default 50)","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"device_id","in":"query","description":"Only this device's recalls","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_Recall"}}}},"400":{"description":"Bad cursor, limit or filter","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api_key":[]}]}},"/recalls/{id}":{"get":{"tags":["catalog"],"summary":"Get a recall","operationId":"get_recall","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Recall"}}}},"404":{"description":"Not found, or not public","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api_key":[]}]}},"/vendors":{"get":{"tags":["catalog"],"summary":"List vendors","operationId":"list_vendors","parameters":[{"name":"cursor","in":"query","description":"next_cursor from the previous page","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Page size, 1-100 (default 50)","required":false,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_Vendor"}}}},"400":{"description":"Bad cursor, limit or filter","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api_key":[]}]}},"/vendors/{id}":{"get":{"tags":["catalog"],"summary":"Get a vendor","operationId":"get_vendor","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Vendor"}}}},"404":{"description":"Not found, or not public","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"api_key":[]}]}}},"components":{"schemas":{"Alias":{"type":"object","required":["model_number"],"properties":{"model_number":{"type":"string"},"note":{"type":["string","null"]}}},"AttributeDefinition":{"type":"object","required":["id","name","namespace","data_type","computed","highlighted"],"properties":{"allowed_values":{"type":["array","null"],"items":{"type":"string"},"description":"The choices for enum and multi_enum attributes."},"computed":{"type":"boolean","description":"Derived from another attribute rather than recorded."},"data_type":{"type":"string","description":"enum, multi_enum, number, range, or boolean."},"highlighted":{"type":"boolean","description":"Shown on the site's device cards."},"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"namespace":{"type":"string"},"unit":{"type":["string","null"]}}},"AttributeValue":{"type":"object","required":["id","name","value"],"properties":{"id":{"type":"string","format":"uuid","description":"The attribute definition's id (see the category's `attributes`)."},"name":{"type":"string"},"unit":{"type":["string","null"]},"value":{"type":"object","description":"A string for enum, a number for number, a boolean for boolean, an\narray of strings for multi_enum, and `[low, high]` for range."}}},"BatteryPlatform":{"type":"object","required":["id","manufacturer","name","packs_also_fit","tools_also_take","created_at","updated_at"],"properties":{"created_at":{"type":"string","format":"date-time"},"description":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"manufacturer":{"$ref":"#/components/schemas/Ref"},"name":{"type":"string"},"nominal_volts":{"type":["number","null"],"format":"double"},"packs_also_fit":{"type":"array","items":{"type":"string","format":"uuid"},"description":"Other platforms whose tools this platform's packs also run."},"tools_also_take":{"type":"array","items":{"type":"string","format":"uuid"},"description":"Other platforms whose packs also run this platform's tools."},"updated_at":{"type":"string","format":"date-time"}}},"BatteryPlatformLink":{"type":"object","required":["platform_id","role","pack_count"],"properties":{"pack_count":{"type":"integer","format":"int32","description":"Packs a tool takes at once; 1 otherwise."},"platform_id":{"type":"string","format":"uuid"},"role":{"type":"string","description":"uses (runs on its packs), pack, or charger."}}},"Category":{"type":"object","required":["id","name","sort_order","attributes","created_at","updated_at"],"properties":{"attributes":{"type":"array","items":{"$ref":"#/components/schemas/AttributeDefinition"},"description":"The attributes devices in this category describe, in display order."},"created_at":{"type":"string","format":"date-time"},"icon":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"parent_id":{"type":["string","null"],"format":"uuid","description":"None for a top-level category."},"sort_order":{"type":"integer","format":"int32"},"updated_at":{"type":"string","format":"date-time"}}},"Change":{"type":"object","required":["type","id","deleted","changed_at"],"properties":{"changed_at":{"type":"string","format":"date-time"},"deleted":{"type":"boolean","description":"Gone, or no longer public: drop your copy."},"id":{"type":"string","format":"uuid"},"type":{"type":"string","description":"manufacturer, category, device, kit, battery_platform, vendor, or recall."}}},"ChangePage":{"type":"object","required":["changes","next_cursor","has_more"],"properties":{"changes":{"type":"array","items":{"$ref":"#/components/schemas/Change"},"description":"In the order they happened; an entity changed more than once in the\npage appears once, at its latest change."},"has_more":{"type":"boolean","description":"More changes are ready now; ask again straight away."},"next_cursor":{"type":"string","description":"Pass back as `cursor` next time, even when there were no changes."}}},"CursorResponse":{"type":"object","required":["cursor"],"properties":{"cursor":{"type":"string","description":"Pass to GET /changes to get changes made after this call."}}},"Device":{"type":"object","required":["id","url","manufacturer","category","model_name","aliases","description","successor_ids","attributes","images","battery_platforms","fits_device_ids","kit_ids","prices","created_at","updated_at"],"properties":{"aliases":{"type":"array","items":{"$ref":"#/components/schemas/Alias"},"description":"Other model numbers the same product is sold under."},"attributes":{"type":"array","items":{"$ref":"#/components/schemas/AttributeValue"},"description":"Values for the category's attributes; attributes without a value are\nleft out."},"battery_platforms":{"type":"array","items":{"$ref":"#/components/schemas/BatteryPlatformLink"}},"battery_types":{"type":["string","null"]},"build_date_end":{"type":["string","null"],"format":"date"},"build_date_start":{"type":["string","null"],"format":"date"},"category":{"$ref":"#/components/schemas/Ref"},"cost_per_year":{"type":["number","null"],"format":"double"},"created_at":{"type":"string","format":"date-time"},"depth_mm":{"type":["number","null"],"format":"double"},"description":{"type":"string"},"fits_device_ids":{"type":"array","items":{"type":"string","format":"uuid"},"description":"For accessories: the tools it fits."},"generation":{"type":["string","null"]},"height_mm":{"type":["number","null"],"format":"double"},"id":{"type":"string","format":"uuid"},"images":{"type":"array","items":{"$ref":"#/components/schemas/Image"}},"kit_ids":{"type":"array","items":{"type":"string","format":"uuid"},"description":"Kits this device comes in."},"manufacturer":{"$ref":"#/components/schemas/Ref"},"manufacturer_page_url":{"type":["string","null"]},"model_name":{"type":"string"},"model_number":{"type":["string","null"]},"power_usage_kwh_year":{"type":["number","null"],"format":"double"},"predecessor_id":{"type":["string","null"],"format":"uuid","description":"The model this one replaced."},"prices":{"type":"array","items":{"$ref":"#/components/schemas/Price"}},"series":{"type":["string","null"]},"specifications":{"type":["string","null"]},"successor_ids":{"type":"array","items":{"type":"string","format":"uuid"},"description":"Models that replaced this one."},"updated_at":{"type":"string","format":"date-time"},"url":{"type":"string","description":"The device's page on the site."},"warranties":{"type":["string","null"]},"weight_kg":{"type":["number","null"],"format":"double"},"width_mm":{"type":["number","null"],"format":"double"}}},"ErrorResponse":{"type":"object","required":["error","error_code"],"properties":{"error":{"type":"string"},"error_code":{"type":"string"}}},"Image":{"type":"object","required":["id","url","file_type","file_size"],"properties":{"background_color":{"type":["string","null"],"description":"`#rrggbb` backdrop that blends with the image's edges, when known."},"file_size":{"type":"integer","format":"int32"},"file_type":{"type":"string"},"id":{"type":"string","format":"uuid"},"url":{"type":"string","description":"Fetched with the same API key; counts toward its limits."}}},"KeyDetails":{"type":"object","required":["name","prefix","created_at"],"properties":{"created_at":{"type":"string","format":"date-time"},"name":{"type":"string"},"prefix":{"type":"string"}}},"KeyInfo":{"type":"object","required":["key","limits","usage"],"properties":{"key":{"$ref":"#/components/schemas/KeyDetails"},"limits":{"$ref":"#/components/schemas/KeyLimits"},"usage":{"$ref":"#/components/schemas/KeyUsage"}}},"KeyLimits":{"type":"object","required":["requests_per_second","burst","requests_per_day"],"properties":{"burst":{"type":"integer","format":"int32","minimum":0},"requests_per_day":{"type":"integer","format":"int64","minimum":0},"requests_per_second":{"type":"integer","format":"int64","minimum":0}}},"KeyUsage":{"type":"object","required":["requests_today","remaining_today"],"properties":{"remaining_today":{"type":"integer","format":"int64","minimum":0},"requests_today":{"type":"integer","format":"int64","minimum":0}}},"Kit":{"type":"object","required":["id","manufacturer","model_number","name","items","created_at","updated_at"],"properties":{"created_at":{"type":"string","format":"date-time"},"id":{"type":"string","format":"uuid"},"items":{"type":"array","items":{"$ref":"#/components/schemas/KitItem"}},"manufacturer":{"$ref":"#/components/schemas/Ref"},"manufacturer_page_url":{"type":["string","null"]},"model_number":{"type":"string"},"msrp_cents":{"type":["integer","null"],"format":"int32"},"name":{"type":"string"},"updated_at":{"type":"string","format":"date-time"}}},"KitItem":{"type":"object","required":["role","quantity","name"],"properties":{"device_id":{"type":["string","null"],"format":"uuid","description":"The catalog device, when the item is in the catalog."},"model_number":{"type":["string","null"]},"name":{"type":"string"},"quantity":{"type":"integer","format":"int32"},"role":{"type":"string","description":"tool, battery, charger, or accessory."}}},"Manufacturer":{"type":"object","required":["id","name","created_at","updated_at"],"properties":{"created_at":{"type":"string","format":"date-time"},"description":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"updated_at":{"type":"string","format":"date-time"},"website_url":{"type":["string","null"]}}},"Page_BatteryPlatform":{"type":"object","description":"One page of a list.","required":["data","has_more"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","manufacturer","name","packs_also_fit","tools_also_take","created_at","updated_at"],"properties":{"created_at":{"type":"string","format":"date-time"},"description":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"manufacturer":{"$ref":"#/components/schemas/Ref"},"name":{"type":"string"},"nominal_volts":{"type":["number","null"],"format":"double"},"packs_also_fit":{"type":"array","items":{"type":"string","format":"uuid"},"description":"Other platforms whose tools this platform's packs also run."},"tools_also_take":{"type":"array","items":{"type":"string","format":"uuid"},"description":"Other platforms whose packs also run this platform's tools."},"updated_at":{"type":"string","format":"date-time"}}}},"has_more":{"type":"boolean"},"next_cursor":{"type":["string","null"],"description":"Pass as `cursor` to get the next page; null on the last page."}}},"Page_Category":{"type":"object","description":"One page of a list.","required":["data","has_more"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","name","sort_order","attributes","created_at","updated_at"],"properties":{"attributes":{"type":"array","items":{"$ref":"#/components/schemas/AttributeDefinition"},"description":"The attributes devices in this category describe, in display order."},"created_at":{"type":"string","format":"date-time"},"icon":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"parent_id":{"type":["string","null"],"format":"uuid","description":"None for a top-level category."},"sort_order":{"type":"integer","format":"int32"},"updated_at":{"type":"string","format":"date-time"}}}},"has_more":{"type":"boolean"},"next_cursor":{"type":["string","null"],"description":"Pass as `cursor` to get the next page; null on the last page."}}},"Page_Device":{"type":"object","description":"One page of a list.","required":["data","has_more"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","url","manufacturer","category","model_name","aliases","description","successor_ids","attributes","images","battery_platforms","fits_device_ids","kit_ids","prices","created_at","updated_at"],"properties":{"aliases":{"type":"array","items":{"$ref":"#/components/schemas/Alias"},"description":"Other model numbers the same product is sold under."},"attributes":{"type":"array","items":{"$ref":"#/components/schemas/AttributeValue"},"description":"Values for the category's attributes; attributes without a value are\nleft out."},"battery_platforms":{"type":"array","items":{"$ref":"#/components/schemas/BatteryPlatformLink"}},"battery_types":{"type":["string","null"]},"build_date_end":{"type":["string","null"],"format":"date"},"build_date_start":{"type":["string","null"],"format":"date"},"category":{"$ref":"#/components/schemas/Ref"},"cost_per_year":{"type":["number","null"],"format":"double"},"created_at":{"type":"string","format":"date-time"},"depth_mm":{"type":["number","null"],"format":"double"},"description":{"type":"string"},"fits_device_ids":{"type":"array","items":{"type":"string","format":"uuid"},"description":"For accessories: the tools it fits."},"generation":{"type":["string","null"]},"height_mm":{"type":["number","null"],"format":"double"},"id":{"type":"string","format":"uuid"},"images":{"type":"array","items":{"$ref":"#/components/schemas/Image"}},"kit_ids":{"type":"array","items":{"type":"string","format":"uuid"},"description":"Kits this device comes in."},"manufacturer":{"$ref":"#/components/schemas/Ref"},"manufacturer_page_url":{"type":["string","null"]},"model_name":{"type":"string"},"model_number":{"type":["string","null"]},"power_usage_kwh_year":{"type":["number","null"],"format":"double"},"predecessor_id":{"type":["string","null"],"format":"uuid","description":"The model this one replaced."},"prices":{"type":"array","items":{"$ref":"#/components/schemas/Price"}},"series":{"type":["string","null"]},"specifications":{"type":["string","null"]},"successor_ids":{"type":"array","items":{"type":"string","format":"uuid"},"description":"Models that replaced this one."},"updated_at":{"type":"string","format":"date-time"},"url":{"type":"string","description":"The device's page on the site."},"warranties":{"type":["string","null"]},"weight_kg":{"type":["number","null"],"format":"double"},"width_mm":{"type":["number","null"],"format":"double"}}}},"has_more":{"type":"boolean"},"next_cursor":{"type":["string","null"],"description":"Pass as `cursor` to get the next page; null on the last page."}}},"Page_Kit":{"type":"object","description":"One page of a list.","required":["data","has_more"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","manufacturer","model_number","name","items","created_at","updated_at"],"properties":{"created_at":{"type":"string","format":"date-time"},"id":{"type":"string","format":"uuid"},"items":{"type":"array","items":{"$ref":"#/components/schemas/KitItem"}},"manufacturer":{"$ref":"#/components/schemas/Ref"},"manufacturer_page_url":{"type":["string","null"]},"model_number":{"type":"string"},"msrp_cents":{"type":["integer","null"],"format":"int32"},"name":{"type":"string"},"updated_at":{"type":"string","format":"date-time"}}}},"has_more":{"type":"boolean"},"next_cursor":{"type":["string","null"],"description":"Pass as `cursor` to get the next page; null on the last page."}}},"Page_Manufacturer":{"type":"object","description":"One page of a list.","required":["data","has_more"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","name","created_at","updated_at"],"properties":{"created_at":{"type":"string","format":"date-time"},"description":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"updated_at":{"type":"string","format":"date-time"},"website_url":{"type":["string","null"]}}}},"has_more":{"type":"boolean"},"next_cursor":{"type":["string","null"],"description":"Pass as `cursor` to get the next page; null on the last page."}}},"Page_Recall":{"type":"object","description":"One page of a list.","required":["data","has_more"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","device_id","title","description","severity","status","recall_date","created_at","updated_at"],"properties":{"created_at":{"type":"string","format":"date-time"},"description":{"type":"string"},"device_id":{"type":"string","format":"uuid"},"id":{"type":"string","format":"uuid"},"recall_date":{"type":"string","format":"date"},"severity":{"type":"string"},"status":{"type":"string"},"title":{"type":"string"},"updated_at":{"type":"string","format":"date-time"}}}},"has_more":{"type":"boolean"},"next_cursor":{"type":["string","null"],"description":"Pass as `cursor` to get the next page; null on the last page."}}},"Page_Vendor":{"type":"object","description":"One page of a list.","required":["data","has_more"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","name","created_at"],"properties":{"created_at":{"type":"string","format":"date-time"},"id":{"type":"string","format":"uuid"},"logo_url":{"type":["string","null"]},"name":{"type":"string"},"url":{"type":["string","null"]}}}},"has_more":{"type":"boolean"},"next_cursor":{"type":["string","null"],"description":"Pass as `cursor` to get the next page; null on the last page."}}},"Price":{"type":"object","required":["price_type","amount_cents","currency","effective_date"],"properties":{"amount_cents":{"type":"integer","format":"int32"},"currency":{"type":"string"},"effective_date":{"type":"string","format":"date"},"price_type":{"type":"string","description":"msrp."},"vendor_id":{"type":["string","null"],"format":"uuid"}}},"Recall":{"type":"object","required":["id","device_id","title","description","severity","status","recall_date","created_at","updated_at"],"properties":{"created_at":{"type":"string","format":"date-time"},"description":{"type":"string"},"device_id":{"type":"string","format":"uuid"},"id":{"type":"string","format":"uuid"},"recall_date":{"type":"string","format":"date"},"severity":{"type":"string"},"status":{"type":"string"},"title":{"type":"string"},"updated_at":{"type":"string","format":"date-time"}}},"Ref":{"type":"object","description":"A related object named by id, with its name.","required":["id","name"],"properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"}}},"Vendor":{"type":"object","required":["id","name","created_at"],"properties":{"created_at":{"type":"string","format":"date-time"},"id":{"type":"string","format":"uuid"},"logo_url":{"type":["string","null"]},"name":{"type":"string"},"url":{"type":["string","null"]}}}},"securitySchemes":{"api_key":{"type":"http","scheme":"bearer","description":"An API key from My Account → API Keys"}}},"tags":[{"name":"key","description":"The calling API key"},{"name":"catalog","description":"Catalog entities"},{"name":"changes","description":"What changed since a cursor"}]}