{"openapi":"3.1.0","info":{"title":"Raindrop.io (BYOK) API","version":"0.1.0","description":"Raindrop.io (BYOK) lets an AI assistant read your own Raindrop.io data through the Raindrop.io API with a key you supply (test token). Read-only: 10 tools (get_user, get_system_collection_counts, list_root_collections, list_child_collections, get_collection, list_raindrops, get_raindrop, list_tags, list_filters, list_highlights). The BYOK key travels with each request, is used for that one call...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-raindrop.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-raindrop/docs"},"termsOfService":"https://connectorbay.com/byok-raindrop/terms"},"servers":[{"url":"https://byok-raindrop.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-raindrop/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/get_user":{"post":{"operationId":"get_user","summary":"Show the Raindrop.io account the token belongs to: name, plan (pro or free), pro expiry and registration date. Use for \"","description":"Show the Raindrop.io account the token belongs to: name, plan (pro or free), pro expiry and registration date. Use for \"Which Raindrop.io account is my token connected to\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_userArguments","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_system_collection_counts":{"post":{"operationId":"get_system_collection_counts","summary":"Show how many bookmarks sit in the system collections (All, Unsorted, Trash) and how many are broken or duplicates. Use ","description":"Show how many bookmarks sit in the system collections (All, Unsorted, Trash) and how many are broken or duplicates. Use for \"How many bookmarks are in my Raindrop.io Unsorted and Trash collections\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_system_collection_countsArguments","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_root_collections":{"post":{"operationId":"list_root_collections","summary":"List your top-level collections (folders) with bookmark counts, visibility and last update. Ids feed the other tools. Us","description":"List your top-level collections (folders) with bookmark counts, visibility and last update. Ids feed the other tools. Use for \"What top-level collections do I have in Raindrop.io\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_root_collectionsArguments","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_child_collections":{"post":{"operationId":"list_child_collections","summary":"List your nested collections (sub-folders); each row names its parent collection id in parent.$id. Use for \"What sub-col","description":"List your nested collections (sub-folders); each row names its parent collection id in parent.$id. Use for \"What sub-collections do I have in Raindrop.io\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_child_collectionsArguments","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_collection":{"post":{"operationId":"get_collection","summary":"Get one collection by id: title, bookmark count, visibility, view, created and last update. Use for \"Tell me about my Ra","description":"Get one collection by id: title, bookmark count, visibility, view, created and last update. Use for \"Tell me about my Raindrop.io collection 8492393\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"id":{"description":"Numeric id of the collection (from list_root_collections or list_child_collections).","minimum":1,"title":"Id","type":"integer"}},"required":["id"],"title":"get_collectionArguments","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_raindrops":{"post":{"operationId":"list_raindrops","summary":"List or search bookmarks (raindrops) in a collection, 25 per page at most. Each bookmark has _id, title, link, domain, e","description":"List or search bookmarks (raindrops) in a collection, 25 per page at most. Each bookmark has _id, title, link, domain, excerpt, note, tags, type, created, lastUpdate and highlights. Use for \"Find my Raindrop.io bookmarks about machine learning\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"collection_id":{"description":"Numeric collection id. Special values: 0 = every collection except Trash, -1 = Unsorted, -99 = Trash.","minimum":-99,"title":"Collection Id","type":"integer"},"search":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Search text or Raindrop.io search operators, for example 'machine learning' or '#python'.","title":"Search"},"sort":{"anyOf":[{"enum":["-created","created","score","-sort","title","-title","domain","-domain"],"type":"string"},{"type":"null"}],"default":"-created","description":"Order: -created (newest, default), created, score (relevance, only with search), -sort (manual order), title, -title, domain, -domain.","title":"Sort"},"nested":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True to include bookmarks of nested collections.","title":"Nested"},"page":{"anyOf":[{"maximum":10000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"Zero-based page number (0 is the first page).","title":"Page"},"perpage":{"anyOf":[{"maximum":25,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"Items per page (1 to 25 in this connector; Raindrop allows up to 50).","title":"Perpage"}},"required":["collection_id"],"title":"list_raindropsArguments","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_raindrop":{"post":{"operationId":"get_raindrop","summary":"Get one bookmark by id with its title, link, excerpt, note, tags, type, collection and highlights. Use for \"Show my Rain","description":"Get one bookmark by id with its title, link, excerpt, note, tags, type, collection and highlights. Use for \"Show my Raindrop.io bookmark 1234567\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"id":{"description":"Numeric id of the bookmark (the _id of an item from list_raindrops).","minimum":1,"title":"Id","type":"integer"}},"required":["id"],"title":"get_raindropArguments","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_tags":{"post":{"operationId":"list_tags","summary":"List the tags used in one collection with how many bookmarks use each. Use list_filters with collection 0 to see tags ac","description":"List the tags used in one collection with how many bookmarks use each. Use list_filters with collection 0 to see tags across all collections. Use for \"Which tags do I use in my Raindrop.io collection 8492393\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"collection_id":{"description":"Numeric id of the collection whose tags to list.","minimum":1,"title":"Collection Id","type":"integer"}},"required":["collection_id"],"title":"list_tagsArguments","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_filters":{"post":{"operationId":"list_filters","summary":"Show the tags, content types and counts (broken links, duplicates, favorites, untagged) that apply to a collection or a ","description":"Show the tags, content types and counts (broken links, duplicates, favorites, untagged) that apply to a collection or a search; collection 0 means every collection. Use for \"What are my most used Raindrop.io tags and how many broken links do I have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"collection_id":{"description":"Numeric id of the collection; 0 for all collections.","minimum":0,"title":"Collection Id","type":"integer"},"tags_sort":{"anyOf":[{"enum":["-count","_id"],"type":"string"},{"type":"null"}],"default":"-count","description":"Order of the tags: -count (most used first, default) or _id (alphabetical).","title":"Tags Sort"},"search":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Optional search text (same syntax as list_raindrops) to limit the counts.","title":"Search"}},"required":["collection_id"],"title":"list_filtersArguments","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_highlights":{"post":{"operationId":"list_highlights","summary":"List the text highlights you made in saved bookmarks, 25 per page at most, with text, note, colour, bookmark title and l","description":"List the text highlights you made in saved bookmarks, 25 per page at most, with text, note, colour, bookmark title and link. Use for \"What highlights have I saved in Raindrop.io\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"page":{"anyOf":[{"maximum":10000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"Zero-based page number (0 is the first page).","title":"Page"},"perpage":{"anyOf":[{"maximum":50,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"Highlights per page (1 to 50, Raindrop.io default 25).","title":"Perpage"}},"title":"list_highlightsArguments","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}}}}