Automation & API · Everything over HTTP
REST API
Anything the app can do, a script can do too. Over 115 routes across 15 resource groups, all documented as OpenAPI specs (not to be confused with OpenAI, they are not related!). Use the APIs locally with your favourite language and tools.
- GET /api/components
- POST /api/components
- PATCH /api/components/:id
- DELETE /api/components/:id
- GET /api/components/:id/locations
Scripting
Feeling like screaming?
Three hundred components all requiring updating? Want to rewrite all descriptions in a standardised format? Need to make some weird Word document for your manager to sign off on every change?
We've got your back.
Use any programming language, such as Python or Bash, to access any data over fully documented REST APIs.
import requests
api = "http://localhost:5173/api"
parts = requests.get(f"{api}/components", params={"limit": 10000}).json()
for p in parts:
desc = p.get("description") or ""
if desc != desc.upper():
requests.patch(f"{api}/components/{p['id']}",
json={"description": desc.upper()}) - CMP-1044 ceramic cap 10uF 25V x5r 0805 CERAMIC CAP 10UF 25V X5R 0805 PATCH 200
- CMP-2210 Esd diode array, sot-23 ESD DIODE ARRAY, SOT-23 PATCH 200
- CMP-3001 mcu, Arm cortex-m0+, lqfp-48 MCU, ARM CORTEX-M0+, LQFP-48 PATCH 200
Documentation
Always up to date
We know how frustrating it is when documentation gets out of date. That's why our OpenAPI definitions are generated automatically, based on the underlying code, and are always up to date.
const SuggestParams = z.object({
entity: z.enum(["symbols",
"footprints", "components", …]),
q: z.string().min(1).max(200),
limit: z.coerce.number().int()
.min(1).max(20).default(5)
});"/api/suggest": { "get": {
"parameters": [
{ "name": "q",
"required": true,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 200 } },
…Explore related features
Put every part on one data model
Download Sideband for Windows and give your whole team one source of truth. Free 30-day trial — no card required.
Stable · Windows · free