{"openapi":"3.1.0","info":{"title":"Particle Libraries (BYOK) API","version":"0.1.0","description":"Particle Libraries (BYOK) lets an AI assistant read your own Particle Libraries data through the Particle Libraries API with a key you supply (Particle access token). Read-only: 5 tools (list_libraries, search_libraries, get_library, list_library_versions, list_build_targets). The BYOK key travels with each request, is used for that one call only and is never stored, logged or cached; it is only...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-particle-libraries.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-particle-libraries/docs"},"termsOfService":"https://connectorbay.com/byok-particle-libraries/terms"},"servers":[{"url":"https://byok-particle-libraries.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-particle-libraries/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/list_libraries":{"post":{"operationId":"list_libraries","summary":"List firmware libraries (public ones plus the token user's private ones) with name, latest version, installs, license, s","description":"List firmware libraries (public ones plus the token user's private ones) with name, latest version, installs, license, summary and repository. Filter by scope and architecture, sort by popularity or date. Use for \"What are the most popular official Particle firmware libraries\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"filter":{"anyOf":[{"maxLength":80,"type":"string"},{"type":"null"}],"default":null,"description":"Only libraries whose name contains this text.","title":"Filter"},"sort":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":"popularity","description":"Order: name, installs, popularity, published, updated or created; prefix with - for descending (default popularity).","title":"Sort"},"scope":{"anyOf":[{"enum":["all","official","public","mine","private"],"type":"string"},{"type":"null"}],"default":"all","description":"Which libraries: all, official, public, mine or private.","title":"Scope"},"architectures":{"anyOf":[{"maxLength":80,"type":"string"},{"type":"null"}],"default":null,"description":"Comma-separated architectures to include, for example 'gcc,arm' (default all).","title":"Architectures"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"How many libraries per page (1 to 100).","title":"Limit"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"}},"title":"list_librariesArguments","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/search_libraries":{"post":{"operationId":"search_libraries","summary":"Search firmware libraries by part of the name and return name, latest version, installs, license, summary and repository","description":"Search firmware libraries by part of the name and return name, latest version, installs, license, summary and repository. Use for \"Find Particle libraries for NeoPixel LEDs\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"filter":{"description":"Part of the library name to search for, for example 'neopixel'.","maxLength":80,"title":"Filter","type":"string"},"sort":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":"popularity","description":"Order: name, installs, popularity, published, updated or created; prefix with - for descending (default popularity).","title":"Sort"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"How many libraries per page (1 to 100).","title":"Limit"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"}},"required":["filter"],"title":"search_librariesArguments","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_library":{"post":{"operationId":"get_library","summary":"Get one firmware library's latest (or a given) version: name, version, install count, license, summary, repository and d","description":"Get one firmware library's latest (or a given) version: name, version, install count, license, summary, repository and download link. Use for \"Show the Particle library InternetButton\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"library_name":{"description":"Library name, case-insensitive, for example 'internetbutton'.","maxLength":80,"title":"Library Name","type":"string"},"version":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":"latest","description":"Version to get, for example '0.1.10' (default latest).","title":"Version"},"scope":{"anyOf":[{"enum":["all","public","private"],"type":"string"},{"type":"null"}],"default":"all","description":"Which versions to consider: all, public or private.","title":"Scope"}},"required":["library_name"],"title":"get_libraryArguments","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/list_library_versions":{"post":{"operationId":"list_library_versions","summary":"List all published versions of a firmware library with version, install count and download link. Use for \"Which versions","description":"List all published versions of a firmware library with version, install count and download link. Use for \"Which versions of the Particle library InternetButton exist\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"library_name":{"description":"Library name, case-insensitive, for example 'internetbutton'.","maxLength":80,"title":"Library Name","type":"string"},"scope":{"anyOf":[{"enum":["all","public","private"],"type":"string"},{"type":"null"}],"default":"all","description":"Which versions to list: all, public or private.","title":"Scope"}},"required":["library_name"],"title":"list_library_versionsArguments","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/list_build_targets":{"post":{"operationId":"list_build_targets","summary":"List the Device OS firmware versions that can be used as build targets, per platform, plus the default version of each p","description":"List the Device OS firmware versions that can be used as build targets, per platform, plus the default version of each platform. Use for \"Which Device OS versions can I build Particle firmware against\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"featured":{"description":"True to list only the featured (most relevant) targets.","title":"Featured","type":"boolean"}},"required":["featured"],"title":"list_build_targetsArguments","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}}}}