### Query Documentation via HTTP GET Source: https://developer.raindrop.io/v1/collections Perform an HTTP GET request to the current page URL with the 'ask' query parameter to dynamically query the documentation. Use this when the answer is not explicitly present, for clarification, or to retrieve related sections. ```http GET https://developer.raindrop.io/v1/collections.md?ask= ``` -------------------------------- ### Query Documentation Dynamically Source: https://developer.raindrop.io/v1/tags To get information not explicitly present on the page, make a GET request to the documentation URL with an 'ask' query parameter containing your question. ```http GET https://developer.raindrop.io/v1/tags.md?ask= ``` -------------------------------- ### Query Documentation with `ask` Parameter Source: https://developer.raindrop.io/v1/authentication To get more information not present on the current page, make an HTTP GET request to the page URL with the `ask` query parameter. The question should be specific and in natural language. The response will include an answer and relevant documentation excerpts. ```http GET https://developer.raindrop.io/v1/authentication.md?ask= ``` -------------------------------- ### Query Documentation Source: https://developer.raindrop.io/v1/backups To get additional information not directly present on the page, perform an HTTP GET request with the 'ask' query parameter. The question should be specific and self-contained. ```http GET https://developer.raindrop.io/v1/backups.md?ask= ``` -------------------------------- ### Query Documentation Source: https://developer.raindrop.io/v1/collections/covers-icons To get additional information not directly present on the page, perform an HTTP GET request with the 'ask' query parameter. The response will provide a direct answer with relevant excerpts. ```http GET https://developer.raindrop.io/v1/collections/covers-icons.md?ask= ``` -------------------------------- ### Querying Documentation Dynamically Source: https://developer.raindrop.io/mcp/mcp To get information not explicitly on the page, make an HTTP GET request to the current page URL with the 'ask' query parameter. The question should be specific and in natural language. ```http GET https://developer.raindrop.io/mcp/mcp.md?ask= ``` -------------------------------- ### Query Documentation Dynamically Source: https://developer.raindrop.io/v1/authentication/calls To get additional information not explicitly present on a page, perform an HTTP GET request to the page URL with the `ask` query parameter. The question should be specific and self-contained. ```http GET https://developer.raindrop.io/v1/authentication/calls.md?ask= ``` -------------------------------- ### Querying Documentation with 'ask' Parameter Source: https://developer.raindrop.io/v1/collections/nested-structure To get additional information not present on the current page, perform an HTTP GET request with the 'ask' query parameter. The question should be specific and in natural language. ```http GET https://developer.raindrop.io/v1/collections/nested-structure.md?ask= ``` -------------------------------- ### Querying Documentation Source: https://developer.raindrop.io/mcp/mcp To get additional information not directly on this page, you can query the documentation dynamically. Perform an HTTP GET request on the current page URL with the `ask` query parameter. ```APIDOC ## Querying Documentation Perform an HTTP GET request on the current page URL with the `ask` query parameter: ``` GET https://developer.raindrop.io/mcp/mcp.md?ask= ``` The question should be specific, self-contained, and written in natural language. The response will contain a direct answer to the question and relevant excerpts and sources from the documentation. ``` -------------------------------- ### Querying Documentation with 'ask' Parameter Source: https://developer.raindrop.io/v1/raindrops/single To get additional information not present on the current page, perform an HTTP GET request to the page URL with the 'ask' query parameter. The question should be specific and self-contained. ```http GET https://developer.raindrop.io/v1/raindrops/single.md?ask= ``` -------------------------------- ### Perform HTTP GET Request with `ask` Parameter Source: https://developer.raindrop.io/v1/raindrops Use this method to dynamically query the documentation. The question should be specific and self-contained. The response includes answers and relevant excerpts. ```http GET https://developer.raindrop.io/v1/raindrops.md?ask= ``` -------------------------------- ### Query Documentation with `ask` Parameter Source: https://developer.raindrop.io/v1/user/authenticated Perform an HTTP GET request on the current page URL with the `ask` query parameter to dynamically query the documentation. The question should be specific, self-contained, and in natural language. The response will contain a direct answer and relevant excerpts. ```http GET https://developer.raindrop.io/v1/user/authenticated.md?ask= ``` -------------------------------- ### Query Documentation with `ask` Parameter Source: https://developer.raindrop.io/v1/raindrops/multiple Perform an HTTP GET request to the current page URL with the `ask` query parameter to ask a question. The question should be specific and self-contained. The response will include a direct answer and relevant excerpts. ```http GET https://developer.raindrop.io/v1/raindrops/multiple.md?ask= ``` -------------------------------- ### Query Raindrop.io API Documentation Source: https://developer.raindrop.io/v1 To get information not directly on a page, make a GET request to the page URL with an 'ask' query parameter containing your question. The response includes the answer and relevant sources. ```http GET https://developer.raindrop.io/v1.md?ask= ``` -------------------------------- ### Query Documentation Dynamically Source: https://developer.raindrop.io/mcp Perform an HTTP GET request to the current page URL with the 'ask' query parameter to dynamically query the documentation. Use this when the answer is not explicitly present, for clarification, or to retrieve related sections. ```http GET https://developer.raindrop.io/mcp.md?ask= ``` -------------------------------- ### Query Documentation Dynamically Source: https://developer.raindrop.io/more/showcase Perform an HTTP GET request on the current page URL with the `ask` query parameter to dynamically query the documentation. Use this when the answer is not explicitly present, you need clarification, or want to retrieve related sections. ```http GET https://developer.raindrop.io/more/showcase.md?ask= ``` -------------------------------- ### Request Access Token using cURL Source: https://developer.raindrop.io/v1/authentication/token Example of how to request an access token using a cURL command. Ensure all parameters match your application's registration. ```bash curl -X "POST" "https://raindrop.io/oauth/access_token" \ -H 'Content-Type: application/json' \ -d $'{ \ "code": "c8983220-1cca-4626-a19d-801a6aae003c", \ "client_id": "5e1c589cf6f48c0211311383", \ "redirect_uri": "https://oauthdebugger.com/debug", \ "client_secret": "c3363988-9d27-4bc6-a0ae-d126ce78dc09", \ "grant_type": "authorization_code" }' ``` -------------------------------- ### Timestamp Format Example Source: https://developer.raindrop.io/ API timestamps are returned in ISO 8601 format. ```text YYYY-MM-DDTHH:MM:SSZ ``` -------------------------------- ### CORS Request Example Source: https://developer.raindrop.io/ This sample illustrates a successful CORS request from a browser, including necessary headers for cross-origin resource sharing. ```http HTTP/1.1 200 OK Access-Control-Allow-Origin: http://example.com Access-Control-Expose-Headers: ETag, Content-Type, Accept, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset Access-Control-Allow-Credentials: true ``` -------------------------------- ### Get all highlights Source: https://developer.raindrop.io/v1/highlights Retrieves a list of all highlights associated with the user. Supports pagination. ```APIDOC ## GET /v1/highlights ### Description Retrieves a list of all highlights. You can control the number of highlights returned per page. ### Method GET ### Endpoint https://api.raindrop.io/rest/v1/highlights ### Query Parameters - **page** (Number) - Optional - The page number to retrieve. - **perpage** (Number) - Optional - The number of highlights per page. Maximum 50. Defaults to 25. ### Response #### Success Response (200) - **result** (Boolean) - Indicates if the request was successful. - **items** (Array) - An array of highlight objects. - **_id** (String) - Unique ID of the highlight. - **text** (String) - The text content of the highlight. - **title** (String) - The title of the bookmark associated with the highlight. - **color** (String) - The color of the highlight (e.g., yellow, blue, red). - **note** (String) - An optional note added to the highlight. - **created** (String) - The creation date of the highlight. - **tags** (Array) - A list of tags associated with the highlight. - **link** (String) - The URL of the page where the highlight was made. ### Response Example ```json { "result": true, "items": [ { "note": "Trully native macOS app", "color": "red", "text": "Orion is the new WebKit-based browser for Mac", "created": "2022-03-21T14:41:34.059Z", "tags": ["tag1", "tag2"], "_id": "62388e9e48b63606f41e44a6", "raindropRef": 123, "link": "https://apple.com", "title": "Orion Browser" } ] } ``` ``` -------------------------------- ### Query Documentation with 'ask' Parameter Source: https://developer.raindrop.io/v1/highlights Perform an HTTP GET request to a documentation URL, appending the 'ask' query parameter with a natural language question to retrieve specific information or clarifications. ```HTTP GET https://developer.raindrop.io/v1/highlights.md?ask= ``` -------------------------------- ### Query Documentation with 'ask' Parameter Source: https://developer.raindrop.io/more Perform an HTTP GET request to the current page URL with the 'ask' query parameter to dynamically query the documentation. The question should be specific and in natural language. Use this when the answer is not explicitly present, for clarification, or to retrieve related sections. ```http GET https://developer.raindrop.io/more.md?ask= ``` -------------------------------- ### Get All Backups Source: https://developer.raindrop.io/v1/backups Retrieve a list of backup IDs. Results are sorted by date with the newest first. Use these IDs with the `/backup/{ID}.{format}` endpoint. ```json { "result": true, "items": [ { "_id": "659d42a35ffbb2eb5ae1cb86", "created": "2024-01-09T12:57:07.630Z" } ] } ``` -------------------------------- ### Get system collections count Source: https://developer.raindrop.io/v1/collections/methods Retrieves the counts for system-defined collections. ```APIDOC ## Get system collections count ### Description Retrieves the counts for system-defined collections. ### Method GET ### Endpoint https://api.raindrop.io/rest/v1/user/stats ### Response #### Success Response (200) - **items** (array) - An array of objects, each containing a collection ID and its count. - **_id** (number) - The ID of the collection. - **count** (number) - The number of items in the collection. - **meta** (object) - Metadata about the user's account. - **pro** (boolean) - Indicates if the user has a pro account. - **_id** (number) - The user's ID. - **changedBookmarksDate** (string) - The date when bookmarks were last changed. - **duplicates** (object) - Information about duplicate items. - **count** (number) - The number of duplicate items. - **broken** (object) - Information about broken links. - **count** (number) - The number of broken links. - **result** (boolean) - Indicates if the operation was successful. ### Response Example ```json { "items": [ { "_id": 0, "count": 1570 }, { "_id": -1, "count": 34 }, { "_id": -99, "count": 543 } ], "meta": { "pro": true, "_id": 32, "changedBookmarksDate": "2020-02-11T11:23:43.143Z", "duplicates": { "count": 3 }, "broken": { "count": 31 } }, "result": true } ``` ``` -------------------------------- ### Get User by Name Source: https://developer.raindrop.io/v1/user/authenticated Retrieves publicly available details for a user specified by their username. ```APIDOC ## GET /user/{name} ### Description Get's publicly available user details ### Method GET ### Endpoint https://api.raindrop.io/rest/v1/user/{name} ### Parameters #### Path Parameters - **name** (number) - Required - Username ### Response #### Success Response (200) - **result** (boolean) - Indicates if the request was successful. - **user** (object) - Contains the user's public details. - **_id** (number) - The user's unique identifier. - **email_MD5** (string) - MD5 hash of the user's email. - **fullName** (string) - The user's full name. - **pro** (boolean) - Indicates if the user has a pro account. - **registered** (string) - Registration date. ### Response Example (200) ```json { "result": true, "user": { "_id": 32, "email_MD5": "13a0a20681d8781912e5314150694bf7", "fullName": "Mussabekov Rustem", "pro": true, "registered": "2014-09-30T07:51:15.406Z" } } ``` #### Response Example (404) ```json { "error": -1, "errorMessage": "not found", "result": false } ``` ``` -------------------------------- ### Handle File Upload Errors Source: https://developer.raindrop.io/v1/raindrops/single These examples show common error responses when uploading files, including missing files, unsupported formats, and exceeding size limits. ```javascript //file is not specified { "result": false, "error": -1, "errorMessage": "no file" } //unsupported file format { "result": false, "error": "file_invalid", "errorMessage": "File is invalid" } //file size is big { "result": false, "error": "file_size_limit", "errorMessage": "File size limit" } ``` -------------------------------- ### Get Root Collections Source: https://developer.raindrop.io/v1/collections/methods Retrieves all top-level collections for the authenticated user. The response includes details for each collection. ```json { "result": true, "items": [ { "_id": 8492393, "access": { "level": 4, "draggable": true }, "collaborators": { "$id": "5dc1759a0e123be5f2654b6f" }, "color": "#0c797d", "count": 16, "cover": [ "https://up.raindrop.io/collection/thumbs/849/239/3/333ce18769311113836cf93a223a14a3.png" ], "created": "2019-10-09T11:49:53.518Z", "expanded": false, "lastUpdate": "2019-11-27T17:51:19.085Z", "public": false, "sort": 8492393, "title": "Development", "user": { "$id": 32 }, "view": "list" } ] } ``` -------------------------------- ### Get all backups Source: https://developer.raindrop.io/v1/backups Retrieves a list of backup IDs, sorted by date with the newest first. These IDs can be used to download specific backup files. ```APIDOC ## GET /v1/backups ### Description Useful to get backup ID's that can be used in `/backup/{ID}.{format}` endpoint. Sorted by date (new first) ### Method GET ### Endpoint https://api.raindrop.io/rest/v1/backups ### Response #### Success Response (200) ```json { "result": true, "items": [ { "_id": "659d42a35ffbb2eb5ae1cb86", "created": "2024-01-09T12:57:07.630Z" } ] } ``` ``` -------------------------------- ### Step 1: Authorization Request Source: https://developer.raindrop.io/v1/authentication/token Direct users to the authorization URL to grant your application access to their Raindrop.io data. This step involves a GET request with specific query parameters. ```APIDOC ## GET https://raindrop.io/oauth/authorize ### Description Initiates the OAuth2 authorization flow by directing the user to Raindrop.io's authorization server. ### Method GET ### Endpoint https://raindrop.io/oauth/authorize ### Query Parameters - **redirect_uri** (string) - Required - The Redirect URL configured in your application settings. - **client_id** (string) - Required - The unique Client ID of your registered Raindrop.io application. - **response_type** (string) - Required - Must be set to `code`. ### Request Example ```bash curl "https://api.raindrop.io/v1/oauth/authorize?response_type=code&client_id=5e1c382cf6f48c0211359083&redirect_uri=https:%2F%2Foauthdebugger.com%2Fdebug" ``` ``` -------------------------------- ### Handle Share Collection Errors Source: https://developer.raindrop.io/v1/collections/sharing These examples show potential error responses when sharing a collection. This includes cases where the 'emails' array is empty, exceeds the 10-email limit, or when the user has too many pending invitations or insufficient permissions. ```javascript //'emails' array is empty { "result": false, "errorMessage": "no emails" } ``` ```javascript //'emails' array larger than 10 { "result": false, "errorMessage": "you cant send more than 10 invites at once" } ``` ```javascript //When user have more than 100 pending invitations: { "result": false, "errorMessage": "you have too many pending invitations, you will be banned if you continue send more" } ``` ```javascript //User doesn't have enought permissions to invite more people { "result": false, "errorMessage": "you dont have permissions to invite more people" } ``` -------------------------------- ### Get Public User Details by Name Source: https://developer.raindrop.io/v1/user/authenticated Retrieve publicly available details for a user by their name. This endpoint is useful for displaying public profiles. ```javascript { "result": true, "user": { "_id": 32, "email_MD5": "13a0a20681d8781912e5314150694bf7", "fullName": "Mussabekov Rustem", "pro": true, "registered": "2014-09-30T07:51:15.406Z" } } ``` -------------------------------- ### Get Featured Covers Source: https://developer.raindrop.io/v1/collections/covers-icons Retrieve a list of featured covers for collections. The response contains predefined cover options with their respective PNG URLs. ```javascript { "items": [ { "title": "Colors circle", "icons": [ { "png": "https://up.raindrop.io/collection/templates/colors/ios1.png" } ] }, { "title": "Hockey", "icons": [ { "png": "https://up.raindrop.io/collection/templates/hockey-18/12i.png" } ] } ] } ``` -------------------------------- ### Get System Collections Count Source: https://developer.raindrop.io/v1/collections/methods Retrieve statistics for system-defined collections, including the total number of items in each. This includes counts for the main collection (ID 0), the archive (ID -1), and the trash (ID -99). ```javascript { "items": [ { "_id": 0, "count": 1570 }, { "_id": -1, "count": 34 }, { "_id": -99, "count": 543 } ], "meta": { "pro": true, "_id": 32, "changedBookmarksDate": "2020-02-11T11:23:43.143Z", "duplicates": { "count": 3 }, "broken": { "count": 31 } }, "result": true } ``` -------------------------------- ### Get All Highlights Response Source: https://developer.raindrop.io/v1/highlights This JSON object represents a successful response when fetching all highlights. It includes a list of highlight items, each with details like text, color, tags, and ID. Use this endpoint to retrieve a paginated list of all your saved highlights. ```json { "result": true, "items": [ { "note": "Trully native macOS app", "color": "red", "text": "Orion is the new WebKit-based browser for Mac", "created": "2022-03-21T14:41:34.059Z", "tags": ["tag1", "tag2"], "_id": "62388e9e48b63606f41e44a6", "raindropRef": 123, "link": "https://apple.com", "title": "Orion Browser" }, { "note": "", "color": "green", "text": "Built on WebKit, Orion gives you a fast, smooth and lightweight browsing experience", "created": "2022-03-21T15:13:21.128Z", "tags": ["tag1", "tag2"], "_id": "62389611058af151c840f667", "raindropRef": 123, "link": "https://apple.com", "title": "Apple" } ] } ``` -------------------------------- ### Generate New Backup Source: https://developer.raindrop.io/v1/backups Initiate the creation of a new backup. This process may take time depending on the number of bookmarks and server queue. A confirmation email will be sent upon completion. ```text We will send you email with html export file when it be ready! Time depends on bookmarks count and queue. ``` -------------------------------- ### Get Collection Source: https://developer.raindrop.io/v1/collections/methods Retrieves details for a specific collection by its ID. ```APIDOC ## GET /v1/collection/{id} ### Description Retrieves details for a specific collection by its ID. ### Method GET ### Endpoint https://api.raindrop.io/rest/v1/collection/{id} ### Parameters #### Path Parameters - **id** (number) - Required - Collection ID ### Response #### Success Response (200) - **result** (boolean) - Indicates if the request was successful. - **item** (object) - The collection object. - **_id** (number) - The unique identifier for the collection. - **access** (object) - Access control information. - **author** (boolean) - Indicates if the current user is the author. - **collaborators** (object) - Information about collaborators. - **color** (string) - The color associated with the collection. - **count** (number) - The number of items within the collection. - **cover** (array) - URLs for the collection's cover images. - **created** (string) - The timestamp when the collection was created. - **expanded** (boolean) - Indicates if the collection is expanded. - **lastUpdate** (string) - The timestamp of the last update. - **public** (boolean) - Indicates if the collection is public. - **sort** (number) - The sorting order of the collection. - **title** (string) - The title of the collection. - **user** (object) - Information about the user who owns the collection. - **view** (string) - The view mode of the collection. ### Response Example ```json { "result": true, "item": { "_id": 8492393, "access": { "for": 32, "level": 4, "root": true, "draggable": true }, "author": true, "collaborators": { "$id": "5dc1759a0e123be5f2654b6f" }, "color": "#0c797d", "count": 16, "cover": [ "https://up.raindrop.io/collection/thumbs/849/239/3/333ce18769311113836cf93a223a14a3.png" ], "created": "2019-10-09T11:49:53.518Z", "expanded": false, "lastUpdate": "2019-11-27T17:51:19.085Z", "public": false, "sort": 8492393, "title": "Development", "user": { "$id": 32 }, "view": "list" } } ``` ``` -------------------------------- ### Get Raindrop Source: https://developer.raindrop.io/v1/raindrops/single Retrieves details of a specific raindrop using its ID. ```APIDOC ## GET /v1/raindrop/{id} ### Description Retrieves details of a specific raindrop using its ID. ### Method GET ### Endpoint https://api.raindrop.io/rest/v1/raindrop/{id} ### Parameters #### Path Parameters - **id** (number) - Required - Existing raindrop ID ``` -------------------------------- ### Get Authenticated User Source: https://developer.raindrop.io/v1/user/authenticated Retrieves the details of the currently authenticated user. ```APIDOC ## GET /user ### Description Get currently authenticated user details ### Method GET ### Endpoint https://api.raindrop.io/rest/v1/user ### Response #### Success Response (200) - **result** (boolean) - Indicates if the request was successful. - **user** (object) - Contains the user's details. - **_id** (number) - The user's unique identifier. - **config** (object) - User configuration settings. - **dropbox** (object) - Dropbox integration status. - **email** (string) - The user's email address. - **email_MD5** (string) - MD5 hash of the user's email. - **files** (object) - Information about file storage. - **fullName** (string) - The user's full name. - **gdrive** (object) - Google Drive integration status. - **groups** (array) - Array of user-defined groups. - **password** (boolean) - Indicates if a password is set. - **pro** (boolean) - Indicates if the user has a pro account. - **proExpire** (string) - Expiration date of the pro account. - **registered** (string) - Registration date. ### Response Example (200) ```json { "result": true, "user": { "_id": 32, "config": { "broken_level": "strict", "font_color": "", "font_size": 0, "lang": "ru_RU", "last_collection": 8492393, "raindrops_sort": "-lastUpdate", "raindrops_view": "list" }, "dropbox": { "enabled": true }, "email": "some@email.com", "email_MD5": "13a0a20681d8781912e5314150694bf7", "files": { "used": 6766094, "size": 10000000000, "lastCheckPoint": "2020-01-26T23:53:19.676Z" }, "fullName": "Mussabekov Rustem", "gdrive": { "enabled": true }, "groups": [ { "title": "My Collections", "hidden": false, "sort": 0, "collections": [ 8364483, 8364403, 66 ] } ], "password": true, "pro": true, "proExpire": "2028-09-27T22:00:00.000Z", "registered": "2014-09-30T07:51:15.406Z" } } ``` #### Error Response (401) ```http Unauthorized ``` ``` -------------------------------- ### Get Root Collections Source: https://developer.raindrop.io/v1/collections/methods Retrieves a JSON-encoded array containing all root collections. ```APIDOC ## GET /v1/collections ### Description Returns JSON-encoded array containing all root collections. ### Method GET ### Endpoint https://api.raindrop.io/rest/v1/collections ### Response #### Success Response (200) - **result** (boolean) - Indicates if the request was successful. - **items** (array) - An array of collection objects. - **_id** (number) - The unique identifier for the collection. - **access** (object) - Access control information. - **collaborators** (object) - Information about collaborators. - **color** (string) - The color associated with the collection. - **count** (number) - The number of items within the collection. - **cover** (array) - URLs for the collection's cover images. - **created** (string) - The timestamp when the collection was created. - **expanded** (boolean) - Indicates if the collection is expanded. - **lastUpdate** (string) - The timestamp of the last update. - **public** (boolean) - Indicates if the collection is public. - **sort** (number) - The sorting order of the collection. - **title** (string) - The title of the collection. - **user** (object) - Information about the user who owns the collection. - **view** (string) - The view mode of the collection. ### Response Example ```json { "result": true, "items": [ { "_id": 8492393, "access": { "level": 4, "draggable": true }, "collaborators": { "$id": "5dc1759a0e123be5f2654b6f" }, "color": "#0c797d", "count": 16, "cover": [ "https://up.raindrop.io/collection/thumbs/849/239/3/333ce18769311113836cf93a223a14a3.png" ], "created": "2019-10-09T11:49:53.518Z", "expanded": false, "lastUpdate": "2019-11-27T17:51:19.085Z", "public": false, "sort": 8492393, "title": "Development", "user": { "$id": 32 }, "view": "list" } ] } ``` ``` -------------------------------- ### Get Filter Counts for a Collection Source: https://developer.raindrop.io/v1/filters Retrieve counts for various filter categories within a specified collection. Use collectionId '0' to get counts across all collections. The response includes counts for broken links, duplicates, important items, untagged items, and lists of tags and types with their respective counts. ```javascript { "result": true, "broken": { "count": 31 }, "duplicates": { "count": 7 }, "important": { "count": 59 }, "notag": { "count": 1366 }, "tags": [ { "_id": "performanc", "count": 19 }, { "_id": "guides", "count": 9 } ], "types": [ { "_id": "article", "count": 313 }, { "_id": "image", "count": 143 }, { "_id": "video", "count": 26 }, { "_id": "document", "count": 7 } ] } ``` -------------------------------- ### Suggest Collection and Tags for New Bookmark Source: https://developer.raindrop.io/v1/raindrops/single POST a link to this endpoint to receive suggestions for collections and tags for a new bookmark. The 'link' is a required string parameter. ```json { "result": true, "item": { "collections": [ { "$id": 568368 }, { "$id": 8519567 }, { "$id": 1385626 }, { "$id": 8379661 }, { "$id": 20865985 } ], "tags": [ "fonts", "free", "engineering", "icons", "invalid_parser" ] } } ``` -------------------------------- ### Get all highlights in a collection Source: https://developer.raindrop.io/v1/highlights Retrieves all highlights that belong to a specific collection, identified by its ID. ```APIDOC ## GET /v1/highlights/{collectionId} ### Description Retrieves all highlights within a specified collection. ### Method GET ### Endpoint https://api.raindrop.io/rest/v1/highlights/{collectionId} ### Parameters #### Path Parameters - **collectionId** (String) - Required - The ID of the collection to retrieve highlights from. ``` -------------------------------- ### Generate new backup Source: https://developer.raindrop.io/v1/backups Initiates the creation of a new backup. A confirmation email will be sent upon completion. The new backup will be available via the `/backups` endpoint. ```APIDOC ## GET /v1/backup ### Description Useful to create a brand new backup. This requires some time. New backup will appear in the list of `/backups` endpoint ### Method GET ### Endpoint https://api.raindrop.io/rest/v1/backup ### Response #### Success Response (200) ``` We will send you email with html export file when it be ready! Time depends on bookmarks count and queue. ``` ``` -------------------------------- ### Initiate OAuth2 Authorization Request Source: https://developer.raindrop.io/v1/authentication/token Direct users to this URL to initiate the OAuth2 authorization flow. Ensure your application is registered and has a valid redirect URL configured. The `client_id` and `redirect_uri` should match your application's settings. ```bash curl "https://api.raindrop.io/v1/oauth/authorize?response_type=code&client_id=5e1c382cf6f48c0211359083&redirect_uri=https:%2F%2Foauthdebugger.com%2Fdebug" ``` -------------------------------- ### Get Child Collections Source: https://developer.raindrop.io/v1/collections/methods Retrieves a JSON-encoded array containing all nested collections that have a positive `parent.$id`. ```APIDOC ## GET /v1/collections/childrens ### Description Returns JSON-encoded array containing all nested collections (that have positive `parent.$id`). ### Method GET ### Endpoint https://api.raindrop.io/rest/v1/collections/childrens ### Response #### Success Response (200) - **result** (boolean) - Indicates if the request was successful. - **items** (array) - An array of collection objects. - **_id** (number) - The unique identifier for the collection. - **access** (object) - Access control information. - **collaborators** (object) - Information about collaborators. - **color** (string) - The color associated with the collection. - **count** (number) - The number of items within the collection. - **cover** (array) - URLs for the collection's cover images. - **created** (string) - The timestamp when the collection was created. - **expanded** (boolean) - Indicates if the collection is expanded. - **lastUpdate** (string) - The timestamp of the last update. - **parent** (object) - Information about the parent collection. - **public** (boolean) - Indicates if the collection is public. - **sort** (number) - The sorting order of the collection. - **title** (string) - The title of the collection. - **user** (object) - Information about the user who owns the collection. - **view** (string) - The view mode of the collection. ### Response Example ```json { "result": true, "items": [ { "_id": 8492393, "access": { "level": 4, "draggable": true }, "collaborators": { "$id": "5dc1759a0e123be5f2654b6f" }, "color": "#0c797d", "count": 16, "cover": [ "https://up.raindrop.io/collection/thumbs/849/239/3/333ce18769311113836cf93a223a14a3.png" ], "created": "2019-10-09T11:49:53.518Z", "expanded": false, "lastUpdate": "2019-11-27T17:51:19.085Z", "parent": { "$id": 1111 }, "public": false, "sort": 8492393, "title": "Development", "user": { "$id": 32 }, "view": "list" } ] } ``` ``` -------------------------------- ### Get raindrops Source: https://developer.raindrop.io/v1/raindrops/multiple Retrieves a list of raindrops. You can filter, sort, and paginate the results using the common parameters. ```APIDOC ## GET https://api.raindrop.io/rest/v1/raindrops/{collectionId} ### Description Retrieves a list of raindrops, optionally filtered by collection, search query, sort order, and pagination. ### Method GET ### Endpoint https://api.raindrop.io/rest/v1/raindrops/{collectionId} ### Parameters #### Path Parameters - **collectionId** (Integer) - Required - Specifies the collection to get raindrops from. Use 0 for all (except Trash), -1 for "Unsorted", and -99 for "Trash". #### Query Parameters - **search** (String) - Optional - A search query string. Supports operators documented [here](https://help.raindrop.io/using-search#operators). - **sort** (String) - Optional - Specifies the sorting order. Options include '-created' (default), 'created', 'score', '-sort', 'title', '-title', 'domain', '-domain'. - **page** (Integer) - Optional - The page number for pagination (0-indexed). - **perpage** (Integer) - Optional - The number of raindrops to return per page (maximum 50). - **ids** (Array) - Optional - Used for batch operations to specify exact raindrop IDs. - **nested** (Boolean) - Optional - Whether to include bookmarks from nested collections (true/false). ### Response #### Success Response (200) - **items** (Array) - A list of raindrop objects. - **count** (Integer) - The total number of raindrops matching the query. - **result** (Boolean) - Indicates if the operation was successful. ``` -------------------------------- ### Parse HTML import file Source: https://developer.raindrop.io/v1/import Convert an HTML bookmark file to JSON. Supports Netscape, Pocket, and Instapaper file formats. ```APIDOC ## POST https://api.raindrop.io/rest/v1/import/file ### Description Convert HTML bookmark file to JSON. Support Nestcape, Pocket and Instapaper file formats. ### Method POST ### Endpoint https://api.raindrop.io/rest/v1/import/file ### Parameters #### Headers - **Content-Type** (string) - Required - multipart/form-data #### Request Body - **import** (string) - Required - File ### Response #### Success Response (200) - **result** (boolean) - Indicates if the import was successful. - **items** (array) - An array of imported items, structured by title, folders, and bookmarks. #### Response Example ```json { "result": true, "items": [ { "title": "Web", "folders": [ { "title": "Default", "folders": [], "bookmarks": [ { "link": "https://aaa.com/a", "title": "Name 1", "lastUpdate": "2016-09-13T11:17:09.000Z", "tags": ["tag"], "excerpt": "" } ] } ], "bookmarks": [ { "link": "https://bbb.com/b", "title": "Name 2", "lastUpdate": "2016-09-13T11:17:09.000Z", "tags": ["tag"], "excerpt": "" } ] }, { "title": "Home", "folders": [ { "title": "Inspiration", "folders": [], "bookmarks": [ { "link": "https://ccc.com/c", "title": "Name 3", "lastUpdate": "2016-09-13T11:17:09.000Z", "tags": ["tag"], "excerpt": "" } ] } ], "bookmarks": [] } ] } ``` ``` -------------------------------- ### Get Permanent Copy Source: https://developer.raindrop.io/v1/raindrops/single Retrieves a permanent copy of a raindrop's content. This feature is available only on the PRO plan. ```APIDOC ## Get permanent copy `GET` `https://api.raindrop.io/rest/v1/raindrop/{id}/cache` Links permanently saved with all content (only in PRO plan). Using this method you can navigate to this copy. #### Path Parameters | Name | Type | Description | | ------------------------------------ | ------ | -------------------- | | id">* | number | Existing raindrop ID | {% tabs %} {% tab title="307 " %} ```http Location: https://s3.aws... ``` {% endtab %} {% endtabs %} ``` -------------------------------- ### Get highlights of a raindrop Source: https://developer.raindrop.io/v1/highlights Retrieves all highlights associated with a specific raindrop. You can specify pagination parameters to control the number of results. ```APIDOC ## Get highlights of raindrop ### Description Retrieves all highlights associated with a specific raindrop. ### Method GET ### Endpoint https://api.raindrop.io/rest/v1/raindrop/{id} ### Parameters #### Path Parameters - **id** (number) - Required - Existing raindrop ID - **page** (number) - Optional - Page number for pagination - **perpage** (number) - Optional - How many highlights per page. 50 max. Default 25 ### Response #### Success Response (200) - **result** (boolean) - Indicates if the operation was successful. - **items** (array) - An array of highlight objects. - **note** (string) - User-added note for the highlight. - **color** (string) - Color associated with the highlight. - **text** (string) - The highlighted text content. - **created** (string) - Timestamp when the highlight was created (ISO 8601 format). - **tags** (array) - Array of tags associated with the highlight. - **_id** (string) - Unique identifier for the highlight. - **raindropRef** (number) - Reference ID to the parent raindrop. - **link** (string) - The URL from which the highlight was made. - **title** (string) - The title of the raindrop. ### Response Example ```json { "result": true, "items": [ { "note": "Trully native macOS app", "color": "red", "text": "Orion is the new WebKit-based browser for Mac", "created": "2022-03-21T14:41:34.059Z", "tags": ["tag1", "tag2"], "_id": "62388e9e48b63606f41e44a6", "raindropRef": 123, "link": "https://apple.com", "title": "Apple" } ] } ``` ``` -------------------------------- ### Create Collection Source: https://developer.raindrop.io/v1/collections/methods Creates a new collection with the specified details. ```APIDOC ## POST /v1/collection ### Description Create a new collection. ### Method POST ### Endpoint https://api.raindrop.io/rest/v1/collection ### Parameters #### Request Body - **view** (string) - Required - More details in "Fields". - **title** (string) - Required - Name of the collection. - **sort** (number) - Optional - The order of collection (descending). Defines the position of the collection among all the collections with the same `parent.$id`. - **public** (boolean) - Optional - Collection and raindrops that it contains will be accessible without authentication? - **parent.$id** (integer) - Optional - The ID of parent collection. Empty for root collections. - **cover** (array) - Optional - Collection cover url. ### Response #### Success Response (200) - **result** (boolean) - Indicates if the request was successful. - **item** (object) - The newly created collection object. ### Response Example ```json { "result": true, "item": { ... } } ``` #### Error Response (400 Incorrect 'view' field value) - **result** (boolean) - Indicates if the request was successful. - **error** (string) - The field that caused the error. - **errorMessage** (string) - A message describing the error. ### Error Response Example ```json { "result": false, "error": "view", "errorMessage": "Collection validation failed: view: `bla` is not a valid enum value for path `view`." } ``` ```