{"info":{"_postman_id":"dfffe03f-e114-41dc-8949-f764f2aa0135","name":"BotBye project API","description":"<html><head></head><body><p>API for managing BotBye projects: supports CRUD operations on Projects, Custom Rules, Rate Limiters, and Requests.</p>\n<p>This API is designed for managing projects within BotBye accounts. It provides a full set of CRUD operations for projects and associated resources, such as Custom Rules, Rate Limiters, Request Overview, and Requests. The API is aimed at developers, businesses, and anyone interested in integrating BotBye capabilities into their solutions.</p>\n<p>🧭 <strong>Functionality</strong>:</p>\n<ul>\n<li>Manage projects within BotBye accounts.</li>\n<li>Create, update, delete, and retrieve information about Custom Rules.</li>\n<li>Configure and manage Rate Limiters.</li>\n<li>Monitor and analyze requests through Request Overview and Requests.</li>\n</ul>\n<p>🌐 <strong>Technologies</strong>:</p>\n<ul>\n<li>This API is built on REST architecture, ensuring easy integration and scalability.</li>\n</ul>\n<p>🛠️ <strong>Use Cases</strong>:</p>\n<ul>\n<li><strong>Integration with partner applications and platforms</strong> to extend functionality.</li>\n<li><strong>Building custom solutions</strong> and products based on BotBye's API.</li>\n<li><strong>Expanding your product line</strong> using the data and capabilities provided by the API.</li>\n</ul>\n<p>🔐 <strong>Additional Information</strong>:</p>\n<ul>\n<li>Access to the API requires authorization via an API token, which can be generated within your BotBye account.</li>\n</ul>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"25726021","collectionId":"dfffe03f-e114-41dc-8949-f764f2aa0135","publishedId":"2sAXjNWqV1","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2024-11-27T12:15:57.000Z"},"item":[{"name":"Projects","item":[{"name":"find all","event":[{"listen":"test","script":{"id":"1c46b9c5-eae2-48d2-ac00-51117d9562ba","exec":["// Stores the project id in an environment or global variable","var projectId = pm.response.json().edges[0].node.id;","pm.collectionVariables.set(\"project_id\", projectId);"],"type":"text/javascript","packages":{}}}],"id":"28045ce1-7828-456b-87e7-f86d607aab91","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://api.botbye.com/api/v1/{account_id}/projects","description":"<p>This endpoint makes an HTTP GET request to retrieve a list of projects associated with the specified account. The response is in JSON format and varies based on the available projects.</p>\n<h4 id=\"request\">Request</h4>\n<p>No request body parameters are required for this endpoint.</p>\n<p><strong>Path Parameters:</strong></p>\n<ul>\n<li><code>account_id</code> (string): The unique identifier of the account.</li>\n</ul>\n<h5 id=\"query-parameters\">Query Parameters:</h5>\n<ul>\n<li>see <a href=\"http://botbye.com/docs/pagination-api\">Pagination query parameters</a></li>\n</ul>\n<p>The response schema for this request can be documented as follows:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"type\": \"object\",\n  \"properties\": {\n    \"edges\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"cursor\": { \"type\": \"string\" },\n          \"node\": {\n            \"type\": \"object\",\n            \"properties\": {\n              \"id\": { \"type\": \"string\" },\n              \"customerId\": { \"type\": \"string\" },\n              \"name\": { \"type\": \"string\" },\n              \"url\": { \"type\": \"string\" },\n              \"siteKey\": { \"type\": \"string\" },\n              \"serverKey\": { \"type\": \"string\" },\n              \"isProtected\": { \"type\": \"boolean\" },\n              \"rules\": {\n                \"type\": \"object\",\n                \"properties\": {\n                  \"order\": { \"type\": \"array\" },\n                  \"rules\": { \"type\": \"array\" }\n                }\n              },\n              \"rateLimits\": {\n                \"type\": \"object\",\n                \"properties\": {\n                  \"order\": { \"type\": \"array\" },\n                  \"rateLimits\": { \"type\": \"array\" }\n                }\n              },\n              \"phishingInfo\": {\n                \"type\": \"object\",\n                \"properties\": {\n                  \"originalUrl\": { \"type\": \"string\" },\n                  \"action\": { \"type\": \"string\" },\n                  \"allowedUrls\": { \"type\": \"array\" }\n                }\n              },\n              \"responseExtraFields\": { \"type\": \"array\" },\n              \"updatedAt\": { \"type\": \"string\" },\n              \"createdAt\": { \"type\": \"string\" }\n            }\n          }\n        }\n      }\n    },\n    \"pageInfo\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"hasPreviousPage\": { \"type\": \"boolean\" },\n        \"hasNextPage\": { \"type\": \"boolean\" },\n        \"startCursor\": { \"type\": [\"string\", \"null\"] },\n        \"endCursor\": { \"type\": [\"string\", \"null\"] },\n        \"total\": { \"type\": \"integer\" }\n      }\n    },\n    \"attributes\": { \"type\": \"object\" }\n  }\n}\n\n</code></pre>\n","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-Api-Key"},{"key":"value","value":"{api_key}"}]},"isInherited":true,"source":{"_postman_id":"dfffe03f-e114-41dc-8949-f764f2aa0135","id":"dfffe03f-e114-41dc-8949-f764f2aa0135","name":"BotBye project API","type":"collection"}},"urlObject":{"path":["api","v1","{account_id}","projects"],"host":["https://api.botbye.com"],"query":[{"disabled":true,"description":{"content":"<p>(Optional): a cursor for pagination.\n     - <code>after</code> (string): Pointer to the item after which the items are to be retrieved.\n     - <code>before</code> (string): Pointer to the item before which the items are to be retrieved.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>(Optional): is used to create conditions for data filtering. It can be used to create simple conditions (leaf nodes) as well as compound logical expressions (branch nodes).\n    - <code>predicate</code> (string): The filtering condition (e.g., <code>gte</code>, <code>lte</code>, <code>eq</code> for a leaf or <code>and</code>, <code>or</code> for a branch). Possible values [[#Predicate]]\n    - <code>opearands</code> (string): A list of nested conditions (used only for branches, such as <code>and</code>, <code>or</code>).\n    - <code>fieldPath</code> (string): The field to which the filtering condition is applied (used only for a leaf. Each entity has its own fieldPath list).\n    - <code>value</code> (string): The value to compare against the field (used only for a leaf).</p>\n","type":"text/plain"},"key":"where","value":""},{"disabled":true,"description":{"content":"<p>(Optional): property by which to order by.\n    - <code>fieldPath</code> (string): name of order field.\n    - <code>direction</code> (string): <code>ASC</code> or <code>DESC</code></p>\n","type":"text/plain"},"key":"order_by","value":""},{"disabled":true,"description":{"content":"<p>(Optional): specifies the maximum number of results to return in a single response. By default - 20, max - 100.</p>\n","type":"text/plain"},"key":"limit","value":null}],"variable":[]}},"response":[{"id":"2cac3e8b-1a3a-4a4a-b81a-71ec8ac44f0c","name":"success","originalRequest":{"method":"GET","header":[],"url":"https://api.botbye.com/api/v1/{account_id}/projects"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"1859"},{"key":"Content-Type","value":"application/json"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"edges\": [\n        {\n            \"cursor\": \"W1sicHJvamVjdF9fY3JlYXRlZEF0IiwiMTY3MjUzMTIwMDAwMCJdXQ==\",\n            \"node\": {\n                \"id\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d\",\n                \"customerId\": \"c415a474-be24-11eb-8529-0242ac130003\",\n                \"name\": \"Nemiga\",\n                \"url\": \"https://nemiga.org\",\n                \"siteKey\": \"e610df2f-2ab3-48b3-90a0-4502b10e1e98\",\n                \"serverKey\": \"ee6c6c65-b696-43a1-8ed1-624f67dc3fc8\",\n                \"isProtected\": false,\n                \"rules\": {\n                    \"order\": [],\n                    \"rules\": []\n                },\n                \"rateLimits\": {\n                    \"order\": [],\n                    \"rateLimits\": []\n                },\n                \"phishingInfo\": {\n                    \"originalUrl\": \"https://nemiga.org\",\n                    \"action\": \"IGNORE\",\n                    \"allowedUrls\": []\n                },\n                \"responseExtraFields\": [],\n                \"updatedAt\": \"1672531200000\",\n                \"createdAt\": \"1672531200000\"\n            }\n        },\n        {\n            \"cursor\": \"W1sicHJvamVjdF9fY3JlYXRlZEF0IiwiMTY3MjYxNzYwMDAwMCJdXQ==\",\n            \"node\": {\n                \"id\": \"5c53992b-30b7-4ac0-99e6-b36492857f03\",\n                \"customerId\": \"c415a474-be24-11eb-8529-0242ac130003\",\n                \"name\": \"Varka\",\n                \"url\": \"https://varka.org\",\n                \"siteKey\": \"43de1194-80dc-466f-b027-01b552d0a7ed\",\n                \"serverKey\": \"446a046c-3b60-4694-b6ca-07c0e1dc76d5\",\n                \"isProtected\": false,\n                \"rules\": {\n                    \"order\": [],\n                    \"rules\": []\n                },\n                \"rateLimits\": {\n                    \"order\": [],\n                    \"rateLimits\": []\n                },\n                \"phishingInfo\": {\n                    \"originalUrl\": \"https://varka.org\",\n                    \"action\": \"IGNORE\",\n                    \"allowedUrls\": []\n                },\n                \"responseExtraFields\": [],\n                \"updatedAt\": \"1672617600000\",\n                \"createdAt\": \"1672617600000\"\n            }\n        },\n        {\n            \"cursor\": \"W1sicHJvamVjdF9fY3JlYXRlZEF0IiwiMTcyNDE2MDI0MTg2NCJdXQ==\",\n            \"node\": {\n                \"id\": \"01916ff5-70c8-7f01-a0c3-701d23966866\",\n                \"customerId\": \"c415a474-be24-11eb-8529-0242ac130003\",\n                \"name\": \"test\",\n                \"url\": \"http://test.com\",\n                \"siteKey\": \"01916ff5-70c8-7f01-a0c4-5a03fd5b3969\",\n                \"serverKey\": \"01916ff5-70c8-7f01-a0c5-df33dc41009d\",\n                \"isProtected\": false,\n                \"rules\": {\n                    \"order\": [],\n                    \"rules\": []\n                },\n                \"rateLimits\": {\n                    \"order\": [],\n                    \"rateLimits\": []\n                },\n                \"phishingInfo\": {\n                    \"originalUrl\": \"http://test.com\",\n                    \"action\": \"IGNORE\",\n                    \"allowedUrls\": []\n                },\n                \"responseExtraFields\": [],\n                \"updatedAt\": \"1724160241864\",\n                \"createdAt\": \"1724160241864\"\n            }\n        }\n    ],\n    \"pageInfo\": {\n        \"hasPreviousPage\": false,\n        \"hasNextPage\": false,\n        \"startCursor\": null,\n        \"endCursor\": null,\n        \"total\": 3\n    },\n    \"attributes\": {}\n}"},{"id":"425ac9d6-a321-4bbe-a784-467a4119c1c6","name":"fail","originalRequest":{"method":"GET","header":[],"url":"https://api.botbye.com/api/v1/{account_id}/projects"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"265"},{"key":"Content-Type","value":"application/json"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"message\": \"Access denied to perform operation for customer with id = 'c415a474-be24-11eb-8529-0242ac130003'.\",\n        \"code\": \"protectioncustomers.access_denied_to_perform_operation_error\",\n        \"type\": \"SHOWABLE\",\n        \"context\": {\n            \"customerId\": \"c415a474-be24-11eb-8529-0242ac130003\"\n        }\n    }\n]"},{"id":"ec9ec691-872f-4ead-a4bc-3a3bea5d1788","name":"where example","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api.botbye.com/api/v1/{account_id}/projects?where=%7B%22fieldPath%22%3A%22project__url%22%2C%22predicate%22%3A%22like%22%2C%22value%22%3A%22http%22%7D","host":["https://api.botbye.com"],"path":["api","v1","{account_id}","projects"],"query":[{"key":"where","value":"%7B%22fieldPath%22%3A%22project__url%22%2C%22predicate%22%3A%22like%22%2C%22value%22%3A%22http%22%7D"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"1340"},{"key":"Content-Type","value":"application/json"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"edges\": [\n        {\n            \"cursor\": \"W1sicHJvamVjdF9fY3JlYXRlZEF0IiwiMTY3MjUzMTIwMDAwMCJdXQ==\",\n            \"node\": {\n                \"id\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d\",\n                \"customerId\": \"c415a474-be24-11eb-8529-0242ac130003\",\n                \"name\": \"Nemiga\",\n                \"url\": \"https://nemiga.org\",\n                \"siteKey\": \"e610df2f-2ab3-48b3-90a0-4502b10e1e98\",\n                \"serverKey\": \"ee6c6c65-b696-43a1-8ed1-624f67dc3fc8\",\n                \"isProtected\": false,\n                \"rules\": {\n                    \"order\": [],\n                    \"rules\": []\n                },\n                \"rateLimits\": {\n                    \"order\": [],\n                    \"rateLimits\": []\n                },\n                \"phishingInfo\": {\n                    \"originalUrl\": \"https://nemiga.org\",\n                    \"action\": \"IGNORE\",\n                    \"allowedUrls\": []\n                },\n                \"responseExtraFields\": [],\n                \"updatedAt\": \"1672531200000\",\n                \"createdAt\": \"1672531200000\"\n            }\n        },\n        {\n            \"cursor\": \"W1sicHJvamVjdF9fY3JlYXRlZEF0IiwiMTY3MjYxNzYwMDAwMCJdXQ==\",\n            \"node\": {\n                \"id\": \"5c53992b-30b7-4ac0-99e6-b36492857f03\",\n                \"customerId\": \"c415a474-be24-11eb-8529-0242ac130003\",\n                \"name\": \"Varka\",\n                \"url\": \"https://varka.org\",\n                \"siteKey\": \"43de1194-80dc-466f-b027-01b552d0a7ed\",\n                \"serverKey\": \"446a046c-3b60-4694-b6ca-07c0e1dc76d5\",\n                \"isProtected\": false,\n                \"rules\": {\n                    \"order\": [],\n                    \"rules\": []\n                },\n                \"rateLimits\": {\n                    \"order\": [],\n                    \"rateLimits\": []\n                },\n                \"phishingInfo\": {\n                    \"originalUrl\": \"https://varka.org\",\n                    \"action\": \"IGNORE\",\n                    \"allowedUrls\": []\n                },\n                \"responseExtraFields\": [],\n                \"updatedAt\": \"1672617600000\",\n                \"createdAt\": \"1672617600000\"\n            }\n        }\n    ],\n    \"pageInfo\": {\n        \"hasPreviousPage\": false,\n        \"hasNextPage\": true,\n        \"startCursor\": null,\n        \"endCursor\": \"W1sicHJvamVjdF9fY3JlYXRlZEF0IiwiMTY3MjYxNzYwMDAwMCJdXQ==\",\n        \"total\": 3\n    },\n    \"attributes\": {}\n}"},{"id":"3d3ff60f-19ad-4da6-b327-3509529734fe","name":"cursor example","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api.botbye.com/api/v1/{account_id}/projects?cursor=%7B%22first%22%3A2%2C%20%22after%22%3A%22W1sicHJvamVjdF9fY3JlYXRlZEF0IiwiMTY3MjYxNzYwMDAwMCJdXQ%3D%3D%22%7D","host":["https://api.botbye.com"],"path":["api","v1","{account_id}","projects"],"query":[{"key":"cursor","value":"%7B%22first%22%3A2%2C%20%22after%22%3A%22W1sicHJvamVjdF9fY3JlYXRlZEF0IiwiMTY3MjYxNzYwMDAwMCJdXQ%3D%3D%22%7D"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"755"},{"key":"Content-Type","value":"application/json"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"edges\": [\n        {\n            \"cursor\": \"W1sicHJvamVjdF9fY3JlYXRlZEF0IiwiMTcyNDE2MDI0MTg2NCJdXQ==\",\n            \"node\": {\n                \"id\": \"01916ff5-70c8-7f01-a0c3-701d23966866\",\n                \"customerId\": \"c415a474-be24-11eb-8529-0242ac130003\",\n                \"name\": \"test\",\n                \"url\": \"http://test.com\",\n                \"siteKey\": \"01916ff5-70c8-7f01-a0c4-5a03fd5b3969\",\n                \"serverKey\": \"01916ff5-70c8-7f01-a0c5-df33dc41009d\",\n                \"isProtected\": false,\n                \"rules\": {\n                    \"order\": [],\n                    \"rules\": []\n                },\n                \"rateLimits\": {\n                    \"order\": [],\n                    \"rateLimits\": []\n                },\n                \"phishingInfo\": {\n                    \"originalUrl\": \"http://test.com\",\n                    \"action\": \"IGNORE\",\n                    \"allowedUrls\": []\n                },\n                \"responseExtraFields\": [],\n                \"updatedAt\": \"1724160241864\",\n                \"createdAt\": \"1724160241864\"\n            }\n        }\n    ],\n    \"pageInfo\": {\n        \"hasPreviousPage\": true,\n        \"hasNextPage\": false,\n        \"startCursor\": \"W1sicHJvamVjdF9fY3JlYXRlZEF0IiwiMTcyNDE2MDI0MTg2NCJdXQ==\",\n        \"endCursor\": null,\n        \"total\": 3\n    },\n    \"attributes\": {}\n}"}],"_postman_id":"28045ce1-7828-456b-87e7-f86d607aab91"},{"name":"find","id":"02d0dbe5-1127-440f-9f54-b66e47c6bf6e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-Api-Key"},{"key":"value","value":"{api_key}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}","description":"<h3 id=\"get-apiv1account_idprojectsproject_id\">GET /api/v1/{account_id}/projects/{project_id}</h3>\n<p>This endpoint retrieves project details for a specific project within an account.</p>\n<h4 id=\"request\">Request</h4>\n<p>No request body parameters are required for this endpoint.</p>\n<ul>\n<li><code>base_url</code> (string): The base URL of the API.</li>\n<li><code>account_id</code> (string): The unique identifier of the account.</li>\n<li><code>project_id</code> (string): The unique identifier of the project.</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>The response for this request is a JSON object with the following schema:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"id\": \"\",\n  \"customerId\": \"\",\n  \"name\": \"\",\n  \"url\": \"\",\n  \"siteKey\": \"\",\n  \"serverKey\": \"\",\n  \"isProtected\": true,\n  \"rules\": {\n    \"order\": [],\n    \"rules\": []\n  },\n  \"rateLimits\": {\n    \"order\": [],\n    \"rateLimits\": []\n  },\n  \"phishingInfo\": {\n    \"originalUrl\": \"\",\n    \"action\": \"\",\n    \"allowedUrls\": []\n  },\n  \"responseExtraFields\": [],\n  \"updatedAt\": \"\",\n  \"createdAt\": \"\"\n}\n\n</code></pre>\n<ul>\n<li><code>id</code> (string): The unique identifier of the project.</li>\n<li><code>customerId</code> (string): The unique identifier of the customer associated with the project.</li>\n<li><code>name</code> (string): The name of the project.</li>\n<li><code>url</code> (string): The URL of the project.</li>\n<li><code>siteKey</code> (string): The site key of the project.</li>\n<li><code>serverKey</code> (string): The server key of the project.</li>\n<li><code>isProtected</code> (boolean): Indicates whether the project is protected.</li>\n<li><code>rules</code> (object): An object containing order and rules arrays.</li>\n<li><code>rateLimits</code> (object): An object containing order and rateLimits arrays.</li>\n<li><code>phishingInfo</code> (object): An object containing originalUrl, action, and allowedUrls arrays.</li>\n<li><code>responseExtraFields</code> (array): An array of extra fields in the response.</li>\n<li><code>updatedAt</code> (string): The timestamp when the project was last updated.</li>\n<li><code>createdAt</code> (string): The timestamp when the project was created.</li>\n</ul>\n","urlObject":{"path":["api","v1","{account_id}","projects","{project_id}"],"host":["https://api.botbye.com"],"query":[],"variable":[]}},"response":[{"id":"bd1140f9-0d11-4bcf-99f0-e4b56f1814aa","name":"success","originalRequest":{"method":"GET","header":[],"url":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"494"},{"key":"Content-Type","value":"application/json"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"id\": \"01916ff5-70c8-7f01-a0c3-701d23966866\",\n    \"customerId\": \"c415a474-be24-11eb-8529-0242ac130003\",\n    \"name\": \"test\",\n    \"url\": \"http://test.com\",\n    \"siteKey\": \"01916ff5-70c8-7f01-a0c4-5a03fd5b3969\",\n    \"serverKey\": \"01916ff5-70c8-7f01-a0c5-df33dc41009d\",\n    \"isProtected\": false,\n    \"rules\": {\n        \"order\": [],\n        \"rules\": []\n    },\n    \"rateLimits\": {\n        \"order\": [],\n        \"rateLimits\": []\n    },\n    \"phishingInfo\": {\n        \"originalUrl\": \"http://test.com\",\n        \"action\": \"IGNORE\",\n        \"allowedUrls\": []\n    },\n    \"responseExtraFields\": [],\n    \"updatedAt\": \"1724160241864\",\n    \"createdAt\": \"1724160241864\"\n}"},{"id":"afce71ba-fe32-4935-ab83-f52f18de64a5","name":"fail","originalRequest":{"method":"GET","header":[],"url":"https://api.botbye.com/api/v1/{account_id}/projects/231231231231"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"185"},{"key":"Content-Type","value":"application/json"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"message\": \"Invalid path param 'project_id'. Should be type of 'UUID'.\",\n        \"code\": \"protectionapifacade.invalidPathParam\",\n        \"type\": \"SHOWABLE\",\n        \"context\": {\n            \"param\": \"project_id\",\n            \"type\": \"UUID\"\n        }\n    }\n]"}],"_postman_id":"02d0dbe5-1127-440f-9f54-b66e47c6bf6e"},{"name":"create","event":[{"listen":"test","script":{"id":"48f83dd6-c1f0-480d-9b8a-7ed9e34de1e3","exec":["// Stores the project id in an environment or global variable","var projectId = pm.response.json();","pm.collectionVariables.set(\"project_id\", projectId);"],"type":"text/javascript","packages":{}}},{"listen":"prerequest","script":{"id":"248c8829-a984-4011-bf80-031061a1a0a7","exec":[""],"type":"text/javascript","packages":{}}}],"id":"9ea3db7e-290d-426a-b703-4a2890cb91cf","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-Api-Key"},{"key":"value","value":"{api_key}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"name\": \"Intelligent Plastic Car\",\n    \"url\": \"http://jerad.info\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.botbye.com/api/v1/{account_id}/projects","description":"<h3 id=\"get-apiv1account_idprojectsproject_id\">GET /api/v1/{account_id}/projects/{project_id}</h3>\n<p>This endpoint retrieves project details for a specific project within an account.</p>\n<h4 id=\"request\">Request</h4>\n<ul>\n<li><code>base_url</code> (string): The base URL of the API.</li>\n<li><code>account_id</code> (string): The unique identifier of the account.</li>\n<li><code>project_id</code> (string): The unique identifier of the project.</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>The response for this request is a JSON object with the following schema:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"id\": \"\",\n  \"customerId\": \"\",\n  \"name\": \"\",\n  \"url\": \"\",\n  \"siteKey\": \"\",\n  \"serverKey\": \"\",\n  \"isProtected\": true,\n  \"rules\": {\n    \"order\": [],\n    \"rules\": []\n  },\n  \"rateLimits\": {\n    \"order\": [],\n    \"rateLimits\": []\n  },\n  \"phishingInfo\": {\n    \"originalUrl\": \"\",\n    \"action\": \"\",\n    \"allowedUrls\": []\n  },\n  \"responseExtraFields\": [],\n  \"updatedAt\": \"\",\n  \"createdAt\": \"\"\n}\n\n</code></pre>\n<ul>\n<li><code>id</code> (string): The unique identifier of the project.</li>\n<li><code>customerId</code> (string): The unique identifier of the customer associated with the project.</li>\n<li><code>name</code> (string): The name of the project.</li>\n<li><code>url</code> (string): The URL of the project.</li>\n<li><code>siteKey</code> (string): The site key of the project.</li>\n<li><code>serverKey</code> (string): The server key of the project.</li>\n<li><code>isProtected</code> (boolean): Indicates whether the project is protected.</li>\n<li><code>rules</code> (object): An object containing order and rules arrays.</li>\n<li><code>rateLimits</code> (object): An object containing order and rateLimits arrays.</li>\n<li><code>phishingInfo</code> (object): An object containing originalUrl, action, and allowedUrls arrays.</li>\n<li><code>responseExtraFields</code> (array): An array of extra fields in the response.</li>\n<li><code>updatedAt</code> (string): The timestamp when the project was last updated.</li>\n<li><code>createdAt</code> (string): The timestamp when the project was created.</li>\n</ul>\n","urlObject":{"path":["api","v1","{account_id}","projects"],"host":["https://api.botbye.com"],"query":[],"variable":[]}},"response":[{"id":"3b5f6491-6120-4a1f-8520-f4897d8f4f59","name":"success","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"name\": \"Mars\",\n    \"url\": \"http://mars.com\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.botbye.com/api/v1/{account_id}/projects"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"38"},{"key":"Content-Type","value":"application/json"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"\"019199a4-778f-7853-ac3b-6e6c5f13bc3b\""},{"id":"6771e974-264e-4de6-8791-571f3c8c7ba1","name":"fail","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"name\": \"Mars\",\n    \"url\": \"http://mars.com\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.botbye.com/api/v1/{account_id}/projects"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"261"},{"key":"Content-Type","value":"application/json"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"message\": \"Customer with id = 'c415a474-be24-11eb-8529-0242ac130003' already created project with name = 'Mars'.\",\n        \"code\": \"protectionproject.projectAlreadyExists\",\n        \"type\": \"SHOWABLE\",\n        \"context\": {\n            \"customerId\": \"c415a474-be24-11eb-8529-0242ac130003\",\n            \"name\": \"Mars\"\n        }\n    }\n]"}],"_postman_id":"9ea3db7e-290d-426a-b703-4a2890cb91cf"},{"name":"partial update","id":"15587196-d0b8-4051-88a5-f326fe2ea3f7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-Api-Key"},{"key":"value","value":"{api_key}"}]},"isInherited":false},"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n    \"isProtected\": true,\n    \"name\": \"Ergonomic Frozen Shoes\",\n    \"url\": \"https://porter.info\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}","description":"<h3 id=\"get-apiv1account_idprojectsproject_id\">GET /api/v1/{account_id}/projects/{project_id}</h3>\n<p>This endpoint retrieves project details for a specific project within an account.</p>\n<h4 id=\"request\">Request</h4>\n<ul>\n<li><code>base_url</code> (string): The base URL of the API.</li>\n<li><code>account_id</code> (string): The unique identifier of the account.</li>\n<li><code>project_id</code> (string): The unique identifier of the project.</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>The response for this request is a JSON object with the following schema:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"id\": \"\",\n  \"customerId\": \"\",\n  \"name\": \"\",\n  \"url\": \"\",\n  \"siteKey\": \"\",\n  \"serverKey\": \"\",\n  \"isProtected\": true,\n  \"rules\": {\n    \"order\": [],\n    \"rules\": []\n  },\n  \"rateLimits\": {\n    \"order\": [],\n    \"rateLimits\": []\n  },\n  \"phishingInfo\": {\n    \"originalUrl\": \"\",\n    \"action\": \"\",\n    \"allowedUrls\": []\n  },\n  \"responseExtraFields\": [],\n  \"updatedAt\": \"\",\n  \"createdAt\": \"\"\n}\n\n</code></pre>\n<ul>\n<li><code>id</code> (string): The unique identifier of the project.</li>\n<li><code>customerId</code> (string): The unique identifier of the customer associated with the project.</li>\n<li><code>name</code> (string): The name of the project.</li>\n<li><code>url</code> (string): The URL of the project.</li>\n<li><code>siteKey</code> (string): The site key of the project.</li>\n<li><code>serverKey</code> (string): The server key of the project.</li>\n<li><code>isProtected</code> (boolean): Indicates whether the project is protected.</li>\n<li><code>rules</code> (object): An object containing order and rules arrays.</li>\n<li><code>rateLimits</code> (object): An object containing order and rateLimits arrays.</li>\n<li><code>phishingInfo</code> (object): An object containing originalUrl, action, and allowedUrls arrays.</li>\n<li><code>responseExtraFields</code> (array): An array of extra fields in the response.</li>\n<li><code>updatedAt</code> (string): The timestamp when the project was last updated.</li>\n<li><code>createdAt</code> (string): The timestamp when the project was created.</li>\n</ul>\n","urlObject":{"path":["api","v1","{account_id}","projects","{project_id}"],"host":["https://api.botbye.com"],"query":[],"variable":[]}},"response":[{"id":"c9ed417c-5978-4f0e-9c09-6d02b774904a","name":"fail","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n    \"isProtected\": true,\n    \"name\": \"Mars2\",\n    \"url\": \"http://mars.com\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"192"},{"key":"Content-Type","value":"application/json"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"message\": \"Token for message UpdateProjectCommand(019199b5-356d-7234-8284-b1fdd86b4852) not found.\",\n        \"code\": \"authentication.token_for_message_not_found\",\n        \"type\": \"DOMAIN_LOGIC\",\n        \"context\": null\n    }\n]"},{"id":"fbbd63a3-9da3-47f5-ad0a-ed19381ddd18","name":"success","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n    \"isProtected\": true,\n    \"name\": \"Mars2\",\n    \"url\": \"http://mars.com\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"2"},{"key":"Content-Type","value":"application/json"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{}"}],"_postman_id":"15587196-d0b8-4051-88a5-f326fe2ea3f7"},{"name":"delete","id":"800dcd9e-db20-4a70-8202-066aa2baf758","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-Api-Key"},{"key":"value","value":"{api_key}"}]},"isInherited":false},"method":"DELETE","header":[],"url":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}","description":"<h3 id=\"get-apiv1account_idprojectsproject_id\">GET /api/v1/{account_id}/projects/{project_id}</h3>\n<p>This endpoint retrieves project details for a specific project within an account.</p>\n<h4 id=\"request\">Request</h4>\n<p>No request body parameters are required for this endpoint.</p>\n<ul>\n<li><code>base_url</code> (string): The base URL of the API.</li>\n<li><code>account_id</code> (string): The unique identifier of the account.</li>\n<li><code>project_id</code> (string): The unique identifier of the project.</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>The response for this request is a JSON object with the following schema:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"id\": \"\",\n  \"customerId\": \"\",\n  \"name\": \"\",\n  \"url\": \"\",\n  \"siteKey\": \"\",\n  \"serverKey\": \"\",\n  \"isProtected\": true,\n  \"rules\": {\n    \"order\": [],\n    \"rules\": []\n  },\n  \"rateLimits\": {\n    \"order\": [],\n    \"rateLimits\": []\n  },\n  \"phishingInfo\": {\n    \"originalUrl\": \"\",\n    \"action\": \"\",\n    \"allowedUrls\": []\n  },\n  \"responseExtraFields\": [],\n  \"updatedAt\": \"\",\n  \"createdAt\": \"\"\n}\n\n</code></pre>\n<ul>\n<li><code>id</code> (string): The unique identifier of the project.</li>\n<li><code>customerId</code> (string): The unique identifier of the customer associated with the project.</li>\n<li><code>name</code> (string): The name of the project.</li>\n<li><code>url</code> (string): The URL of the project.</li>\n<li><code>siteKey</code> (string): The site key of the project.</li>\n<li><code>serverKey</code> (string): The server key of the project.</li>\n<li><code>isProtected</code> (boolean): Indicates whether the project is protected.</li>\n<li><code>rules</code> (object): An object containing order and rules arrays.</li>\n<li><code>rateLimits</code> (object): An object containing order and rateLimits arrays.</li>\n<li><code>phishingInfo</code> (object): An object containing originalUrl, action, and allowedUrls arrays.</li>\n<li><code>responseExtraFields</code> (array): An array of extra fields in the response.</li>\n<li><code>updatedAt</code> (string): The timestamp when the project was last updated.</li>\n<li><code>createdAt</code> (string): The timestamp when the project was created.</li>\n</ul>\n","urlObject":{"path":["api","v1","{account_id}","projects","{project_id}"],"host":["https://api.botbye.com"],"query":[],"variable":[]}},"response":[{"id":"e4c5ccc4-54fa-40c8-9be5-d03244af01e5","name":"success","originalRequest":{"method":"DELETE","header":[],"url":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"2"},{"key":"Content-Type","value":"application/json"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{}"},{"id":"11bff0b9-3b1b-4ecf-9da4-d75752a92db1","name":"fail","originalRequest":{"method":"DELETE","header":[],"url":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"195"},{"key":"Content-Type","value":"application/json"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"message\": \"Project '185071d5-d4fe-4bea-93df-19d0bd8c2d0d' not found\",\n        \"code\": \"protectionproject.projectNotFoundError\",\n        \"type\": \"SHOWABLE\",\n        \"context\": {\n            \"ids\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d\"\n        }\n    }\n]"}],"_postman_id":"800dcd9e-db20-4a70-8202-066aa2baf758"}],"id":"d77bb8b6-32de-4e43-ab3d-3d8a6ed9dc73","description":"<p>This folder contains requests related to project management. It includes operations for creating, retrieving, updating, and deleting projects within the system.</p>\n","_postman_id":"d77bb8b6-32de-4e43-ab3d-3d8a6ed9dc73","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-Api-Key"},{"key":"value","value":"{api_key}"}]},"isInherited":true,"source":{"_postman_id":"dfffe03f-e114-41dc-8949-f764f2aa0135","id":"dfffe03f-e114-41dc-8949-f764f2aa0135","name":"BotBye project API","type":"collection"}}},{"name":"Rate limiters","item":[{"name":"find","id":"5603acc9-eb2f-4070-974c-ed8d11189713","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-Api-Key"},{"key":"value","value":"{api_key}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/rate_limiters/{rate_limiter_id}","description":"<h3 id=\"get-apiv1account_idprojectsproject_idrate_limitersrate_limiter_id\">GET /api/v1/{account_id}/projects/{project_id}/rate_limiters/{rate_limiter_id}</h3>\n<p>This endpoint retrieves rate limiter details for a specific project within an account.</p>\n<h4 id=\"request\">Request</h4>\n<p>No request body parameters are required for this endpoint.</p>\n<ul>\n<li><p><code>base_url</code> (string): The base URL of the API.</p>\n</li>\n<li><p><code>account_id</code> (string): The unique identifier of the account.</p>\n</li>\n<li><p><code>project_id</code> (string): The unique identifier of the project.</p>\n</li>\n<li><p><code>rate_limiter_id</code> (string): The unique identifier of the rate limiter.</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>The response for this request is a JSON object with the following schema:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"id\": \"\",\n  \"limit\": 0,\n  \"periodInSec\": 0,\n  \"name\": \"\",\n  \"action\": \"\",\n  \"isActive\": true,\n  \"condition\": \"\"\n}\n\n</code></pre>\n<ul>\n<li><p><code>id</code> (string): The unique identifier of the rate limiter.</p>\n</li>\n<li><p><code>limit</code> (number): The limit of the rate limiter.</p>\n</li>\n<li><p><code>periodInSec</code> (number): The period in seconds for the rate limiter.</p>\n</li>\n<li><p><code>name</code> (string): The name of the rate limiter.</p>\n</li>\n<li><p><code>action</code> (string): The action of the rate limiter.</p>\n</li>\n<li><p><code>isActive</code> (boolean): Indicates whether the rate limiter is active.</p>\n</li>\n<li><p><code>condition</code> (string): The condition of the rate limiter.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","{account_id}","projects","{project_id}","rate_limiters","{rate_limiter_id}"],"host":["https://api.botbye.com"],"query":[],"variable":[]}},"response":[{"id":"79b53c22-bfa7-4e21-848f-218fc76ae185","name":"success","originalRequest":{"method":"GET","header":[],"url":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/rate_limiters/{rate_limiter_id}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"251"},{"key":"Content-Type","value":"application/json"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"id\": \"01919a18-c6dc-7036-bb4e-d6d53c3587b5\",\n    \"limit\": 888,\n    \"periodInSec\": 5,\n    \"name\": \"Tasty Soft Cheese\",\n    \"action\": \"block\",\n    \"isActive\": false,\n    \"condition\": \"{\\\"fieldName\\\":\\\"remote_addr\\\",\\\"predicate\\\":\\\"EQ\\\",\\\"value\\\":\\\"232.3.158.185\\\",\\\"type\\\":\\\"criteria\\\"}\"\n}"}],"_postman_id":"5603acc9-eb2f-4070-974c-ed8d11189713"},{"name":"delete","id":"31494452-8118-43bd-ae4c-01e825920099","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-Api-Key"},{"key":"value","value":"{api_key}"}]},"isInherited":false},"method":"DELETE","header":[],"url":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/rate_limiters/{rate_limiter_id}","description":"<h3 id=\"delete-apiv1account_idprojectsproject_idrate_limitersrate_limiter_id\">DELETE /api/v1/{account_id}/projects/{project_id}/rate_limiters/{rate_limiter_id}</h3>\n<p>This endpoint is used to delete a specific rate limiter within a project in an account.</p>\n<h4 id=\"request\">Request</h4>\n<p>No request body parameters are required for this endpoint.</p>\n<ul>\n<li><p><code>base_url</code> (string): The base URL of the API.</p>\n</li>\n<li><p><code>account_id</code> (string): The unique identifier of the account.</p>\n</li>\n<li><p><code>project_id</code> (string): The unique identifier of the project.</p>\n</li>\n<li><p><code>rate_limiter_id</code> (string): The unique identifier of the rate limiter to be deleted.</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>The response for this request is a JSON object with the following schema:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{}\n\n</code></pre>\n","urlObject":{"path":["api","v1","{account_id}","projects","{project_id}","rate_limiters","{rate_limiter_id}"],"host":["https://api.botbye.com"],"query":[],"variable":[]}},"response":[{"id":"fb6dcbba-04db-4ee3-b464-bd87cedc1e91","name":"success","originalRequest":{"method":"DELETE","header":[],"url":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/rate_limiters/{rate_limiter_id}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"2"},{"key":"Content-Type","value":"application/json"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{}"},{"id":"9fe919ef-4ac5-4efc-9d5b-e208f722f183","name":"fail","originalRequest":{"method":"DELETE","header":[],"url":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/rate_limiters/{rate_limiter_id}"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"210"},{"key":"Content-Type","value":"application/json"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"message\": \"Rate limiter'01919a16-ad41-7f31-ad01-845aeee50041' not found\",\n        \"code\": \"protectionproject.projectRateLimiterNotFoundError\",\n        \"type\": \"SHOWABLE\",\n        \"context\": {\n            \"ids\": \"01919a16-ad41-7f31-ad01-845aeee50041\"\n        }\n    }\n]"}],"_postman_id":"31494452-8118-43bd-ae4c-01e825920099"},{"name":"update order","id":"48df0d89-3cdb-4d12-9aeb-ad39d187881c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-Api-Key"},{"key":"value","value":"{api_key}"}]},"isInherited":false},"method":"PATCH","header":[],"body":{"mode":"raw","raw":"[\n    \"01919a19-7009-7422-8b2c-4c6317c89faa\",\n    \"01919a18-c6dc-7036-bb4e-d6d53c3587b5\"\n]","options":{"raw":{"language":"json"}}},"url":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/rate_limiters/order","description":"<h3 id=\"patch-apiv1account_idprojectsproject_idrate_limitersorder\">PATCH /api/v1/{account_id}/projects/{project_id}/rate_limiters/order</h3>\n<p>This endpoint is used to update the rate limiters order for a specific project within an account.</p>\n<h4 id=\"request\">Request</h4>\n<ul>\n<li><code>base_url</code> (string): The base URL of the API.</li>\n<li><code>account_id</code> (string): The unique identifier of the account.</li>\n<li><code>project_id</code> (string): The unique identifier of the project.</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>The response for this request is a JSON object with the following schema:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"id\": \"\",\n  \"customerId\": \"\",\n  \"name\": \"\",\n  \"url\": \"\",\n  \"siteKey\": \"\",\n  \"serverKey\": \"\",\n  \"isProtected\": true,\n  \"rules\": {\n    \"order\": [],\n    \"rules\": []\n  },\n  \"rateLimits\": {\n    \"order\": [],\n    \"rateLimits\": []\n  },\n  \"phishingInfo\": {\n    \"originalUrl\": \"\",\n    \"action\": \"\",\n    \"allowedUrls\": []\n  },\n  \"responseExtraFields\": [],\n  \"updatedAt\": \"\",\n  \"createdAt\": \"\"\n}\n\n</code></pre>\n<ul>\n<li><code>id</code> (string): The unique identifier of the project.</li>\n<li><code>customerId</code> (string): The unique identifier of the customer associated with the project.</li>\n<li><code>name</code> (string): The name of the project.</li>\n<li><code>url</code> (string): The URL of the project.</li>\n<li><code>siteKey</code> (string): The site key of the project.</li>\n<li><code>serverKey</code> (string): The server key of the project.</li>\n<li><code>isProtected</code> (boolean): Indicates whether the project is protected.</li>\n<li><code>rules</code> (object): An object containing order and rules arrays.</li>\n<li><code>rateLimits</code> (object): An object containing order and rateLimits arrays.</li>\n<li><code>phishingInfo</code> (object): An object containing originalUrl, action, and allowedUrls arrays.</li>\n<li><code>responseExtraFields</code> (array): An array of extra fields in the response.</li>\n<li><code>updatedAt</code> (string): The timestamp when the project was last updated.</li>\n<li><code>createdAt</code> (string): The timestamp when the project was created.</li>\n</ul>\n","urlObject":{"path":["api","v1","{account_id}","projects","{project_id}","rate_limiters","order"],"host":["https://api.botbye.com"],"query":[],"variable":[]}},"response":[{"id":"0c78e96d-bba5-44ec-80dc-ebfaeeafba19","name":"success","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"[\n    \"01919a19-7009-7422-8b2c-4c6317c89faa\",\n    \"01919a18-c6dc-7036-bb4e-d6d53c3587b5\"\n]","options":{"raw":{"language":"json"}}},"url":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/rate_limiters/order"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"2"},{"key":"Content-Type","value":"application/json"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{}"}],"_postman_id":"48df0d89-3cdb-4d12-9aeb-ad39d187881c"},{"name":"set isActive","id":"62c7bcfa-dd66-47b9-8a35-b78751beb758","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-Api-Key"},{"key":"value","value":"{api_key}"}]},"isInherited":false},"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n    \"isActive\": true\n}","options":{"raw":{"language":"json"}}},"url":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/rate_limiters/{rate_limiter_id}/active","description":"<h3 id=\"patch-apiv1account_idprojectsproject_idrate_limitersrate_limiter_idactive\">PATCH /api/v1/{account_id}/projects/{project_id}/rate_limiters/{rate_limiter_id}/active</h3>\n<p>This endpoint updates the active status of a rate limiter for a specific project within an account.</p>\n<h4 id=\"request\">Request</h4>\n<ul>\n<li><code>base_url</code> (string): The base URL of the API.</li>\n<li><code>account_id</code> (string): The unique identifier of the account.</li>\n<li><code>project_id</code> (string): The unique identifier of the project.</li>\n<li><code>rate_limiter_id</code> (string): The unique identifier of the rate limiter.</li>\n</ul>\n<h4 id=\"request-body\">Request Body</h4>\n<ul>\n<li>isActive: (boolean) Indicates the new active status of the rule.</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>The response for this request is a JSON object with the following schema:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"id\": \"\",\n  \"customerId\": \"\",\n  \"name\": \"\",\n  \"url\": \"\",\n  \"siteKey\": \"\",\n  \"serverKey\": \"\",\n  \"isProtected\": true,\n  \"rules\": {\n    \"order\": [],\n    \"rules\": []\n  },\n  \"rateLimits\": {\n    \"order\": [],\n    \"rateLimits\": []\n  },\n  \"phishingInfo\": {\n    \"originalUrl\": \"\",\n    \"action\": \"\",\n    \"allowedUrls\": []\n  },\n  \"responseExtraFields\": [],\n  \"updatedAt\": \"\",\n  \"createdAt\": \"\"\n}\n\n</code></pre>\n<ul>\n<li><code>id</code> (string): The unique identifier of the project.</li>\n<li><code>customerId</code> (string): The unique identifier of the customer associated with the project.</li>\n<li><code>name</code> (string): The name of the project.</li>\n<li><code>url</code> (string): The URL of the project.</li>\n<li><code>siteKey</code> (string): The site key of the project.</li>\n<li><code>serverKey</code> (string): The server key of the project.</li>\n<li><code>isProtected</code> (boolean): Indicates whether the project is protected.</li>\n<li><code>rules</code> (object): An object containing order and rules arrays.</li>\n<li><code>rateLimits</code> (object): An object containing order and rateLimits arrays.</li>\n<li><code>phishingInfo</code> (object): An object containing originalUrl, action, and allowedUrls arrays.</li>\n<li><code>responseExtraFields</code> (array): An array of extra fields in the response.</li>\n<li><code>updatedAt</code> (string): The timestamp when the project was last updated.</li>\n<li><code>createdAt</code> (string): The timestamp when the project was created.</li>\n</ul>\n","urlObject":{"path":["api","v1","{account_id}","projects","{project_id}","rate_limiters","{rate_limiter_id}","active"],"host":["https://api.botbye.com"],"query":[],"variable":[]}},"response":[{"id":"b14c14d4-1894-4cff-a516-589d31331c58","name":"success","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n    \"isActive\": true\n}","options":{"raw":{"language":"json"}}},"url":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/rate_limiters/{rate_limiter_id}/active"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"2"},{"key":"Content-Type","value":"application/json"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{}"},{"id":"90bdf075-3554-4419-9f96-a8c11d7fedfc","name":"fail","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/rate_limiters/{rate_limiter_id}/active"},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Internal Server Error\",\n    \"code\": \"500 Internal Server Error\",\n    \"type\": \"RUNTIME\",\n    \"context\": null\n}"}],"_postman_id":"62c7bcfa-dd66-47b9-8a35-b78751beb758"},{"name":"update","id":"df16dae5-5a55-4c86-a9cd-f8cf077be083","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-Api-Key"},{"key":"value","value":"{api_key}"}]},"isInherited":false},"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\n    \"id\": \"01919a19-7009-7422-8b2c-4c6317c89faa\",\n    \"limit\": 500,\n    \"periodInSec\": 5,\n    \"name\": \"Fantastic Cotton Hat\",\n    \"action\": \"block\",\n    \"isActive\": false,\n    \"condition\": {\n        \"fieldName\": \"remote_addr\",\n        \"predicate\": \"EQ\",\n        \"value\": \"141.17.95.179\",\n        \"type\": \"criteria\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/rate_limiters","description":"<h3 id=\"put-apiv1account_idprojectsproject_idrate_limiters\">PUT /api/v1/{account_id}/projects/{project_id}/rate_limiters</h3>\n<p>This endpoint updates the rate limiters for a specific project within an account.</p>\n<h4 id=\"request\">Request</h4>\n<ul>\n<li><code>base_url</code> (string): The base URL of the API.</li>\n<li><code>account_id</code> (string): The unique identifier of the account.</li>\n<li><code>project_id</code> (string): The unique identifier of the project.</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>The response for this request is a JSON object with the following schema:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"id\": \"\",\n  \"customerId\": \"\",\n  \"name\": \"\",\n  \"url\": \"\",\n  \"siteKey\": \"\",\n  \"serverKey\": \"\",\n  \"isProtected\": true,\n  \"rules\": {\n    \"order\": [],\n    \"rules\": []\n  },\n  \"rateLimits\": {\n    \"order\": [],\n    \"rateLimits\": []\n  },\n  \"phishingInfo\": {\n    \"originalUrl\": \"\",\n    \"action\": \"\",\n    \"allowedUrls\": []\n  },\n  \"responseExtraFields\": [],\n  \"updatedAt\": \"\",\n  \"createdAt\": \"\"\n}\n\n</code></pre>\n<ul>\n<li><code>id</code> (string): The unique identifier of the project.</li>\n<li><code>customerId</code> (string): The unique identifier of the customer associated with the project.</li>\n<li><code>name</code> (string): The name of the project.</li>\n<li><code>url</code> (string): The URL of the project.</li>\n<li><code>siteKey</code> (string): The site key of the project.</li>\n<li><code>serverKey</code> (string): The server key of the project.</li>\n<li><code>isProtected</code> (boolean): Indicates whether the project is protected.</li>\n<li><code>rules</code> (object): An object containing order and rules arrays.</li>\n<li><code>rateLimits</code> (object): An object containing order and rateLimits arrays.</li>\n<li><code>phishingInfo</code> (object): An object containing originalUrl, action, and allowedUrls arrays.</li>\n<li><code>responseExtraFields</code> (array): An array of extra fields in the response.</li>\n<li><code>updatedAt</code> (string): The timestamp when the project was last updated.</li>\n<li><code>createdAt</code> (string): The timestamp when the project was created.</li>\n</ul>\n","urlObject":{"path":["api","v1","{account_id}","projects","{project_id}","rate_limiters"],"host":["https://api.botbye.com"],"query":[],"variable":[]}},"response":[{"id":"3977a199-1dad-4641-ab06-428fb17a56ba","name":"fail","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\n    \"id\": \"01919a19-7009-7422-8b2c-4c6317c89faa\",\n    \"limit\": 500,\n    \"periodInSec\": 5,\n    \"name\": \"Fantastic Cotton Hat\",\n    \"action\": \"block\",\n    \"isActive\": false,\n    \"condition\": \"{\\\"fieldName\\\":\\\"remote_addr\\\",\\\"predicate\\\":\\\"EQ\\\",\\\"value\\\":\\\"141.17.95.179\\\",\\\"type\\\":\\\"criteria\\\"}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/rate_limiters"},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"102"},{"key":"Content-Type","value":"application/json"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Internal Server Error\",\n    \"code\": \"500 Internal Server Error\",\n    \"type\": \"RUNTIME\",\n    \"context\": null\n}"},{"id":"7e9e36f8-71b6-407d-8452-1b0ce371c10c","name":"success","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\n    \"id\": \"01919a19-7009-7422-8b2c-4c6317c89faa\",\n    \"limit\": 500,\n    \"periodInSec\": 5,\n    \"name\": \"Fantastic Cotton Hat\",\n    \"action\": \"block\",\n    \"isActive\": false,\n    \"condition\": {\n        \"fieldName\": \"remote_addr\",\n        \"predicate\": \"EQ\",\n        \"value\": \"141.17.95.179\",\n        \"type\": \"criteria\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/rate_limiters"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"2"},{"key":"Content-Type","value":"application/json"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{}"}],"_postman_id":"df16dae5-5a55-4c86-a9cd-f8cf077be083"},{"name":"create","event":[{"listen":"prerequest","script":{"id":"3614d444-2953-4cf2-a688-4a41f8545b90","exec":[""],"type":"text/javascript","packages":{}}},{"listen":"test","script":{"id":"4c8830e9-4cb9-4962-9f6a-5e636a5ee1bf","exec":["var id = pm.response.json();","pm.collectionVariables.set(\"rate_limiter_id\", id);"],"type":"text/javascript","packages":{}}}],"id":"636e9226-36b1-4d44-a6fd-d1b48836a545","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-Api-Key"},{"key":"value","value":"{api_key}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"name\": \"Ergonomic Steel Bike\",\n    \"action\": \"block\",\n    \"isActive\": false,\n    \"condition\": {\n        \"fieldName\": \"remote_addr\",\n        \"predicate\": \"EQ\",\n        \"value\": \"13.221.242.5\",\n        \"type\": \"criteria\"\n    },\n    \"periodInSec\": 5,\n    \"limit\": 149\n}","options":{"raw":{"language":"json"}}},"url":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/rate_limiters","description":"<h3 id=\"post-apiv1account_idprojectsproject_idrate_limiters\">POST /api/v1/{account_id}/projects/{project_id}/rate_limiters</h3>\n<p>This endpoint is used to create a rate limiter for a specific project within an account.</p>\n<h4 id=\"request\">Request</h4>\n<p>The request body should be in JSON format and include the following parameters:</p>\n<ul>\n<li><p><code>name</code> (string): The name of the rate limiter.</p>\n</li>\n<li><p><code>action</code> (string): The action to be taken when the rate limit is reached.</p>\n</li>\n<li><p><code>isActive</code> (boolean): Indicates whether the rate limiter is active.</p>\n</li>\n<li><p><code>condition</code> (object): An object containing the condition for the rate limiter, including fieldName, predicate, value, and type.</p>\n</li>\n<li><p><code>periodInSec</code> (integer): The time period in seconds for the rate limiter.</p>\n</li>\n<li><p><code>limit</code> (integer): The limit for the rate limiter.</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>The response for this request is a JSON object with the following schema:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"id\": \"\",\n  \"customerId\": \"\",\n  \"name\": \"\",\n  \"url\": \"\",\n  \"siteKey\": \"\",\n  \"serverKey\": \"\",\n  \"isProtected\": true,\n  \"rules\": {\n    \"order\": [],\n    \"rules\": []\n  },\n  \"rateLimits\": {\n    \"order\": [],\n    \"rateLimits\": []\n  },\n  \"phishingInfo\": {\n    \"originalUrl\": \"\",\n    \"action\": \"\",\n    \"allowedUrls\": []\n  },\n  \"responseExtraFields\": [],\n  \"updatedAt\": \"\",\n  \"createdAt\": \"\"\n}\n\n</code></pre>\n<ul>\n<li><p><code>id</code> (string): The unique identifier of the project.</p>\n</li>\n<li><p><code>customerId</code> (string): The unique identifier of the customer associated with the project.</p>\n</li>\n<li><p><code>name</code> (string): The name of the project.</p>\n</li>\n<li><p><code>url</code> (string): The URL of the project.</p>\n</li>\n<li><p><code>siteKey</code> (string): The site key of the project.</p>\n</li>\n<li><p><code>serverKey</code> (string): The server key of the project.</p>\n</li>\n<li><p><code>isProtected</code> (boolean): Indicates whether the project is protected.</p>\n</li>\n<li><p><code>rules</code> (object): An object containing order and rules arrays.</p>\n</li>\n<li><p><code>rateLimits</code> (object): An object containing order and rateLimits arrays.</p>\n</li>\n<li><p><code>phishingInfo</code> (object): An object containing originalUrl, action, and allowedUrls arrays.</p>\n</li>\n<li><p><code>responseExtraFields</code> (array): An array of extra fields in the response.</p>\n</li>\n<li><p><code>updatedAt</code> (string): The timestamp when the project was last updated.</p>\n</li>\n<li><p><code>createdAt</code> (string): The timestamp when the project was created.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","{account_id}","projects","{project_id}","rate_limiters"],"host":["https://api.botbye.com"],"query":[],"variable":[]}},"response":[{"id":"061d8a34-22d6-4ac3-9e5c-f07cf03b1369","name":"fail","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"name\": \"Small Rubber Pants\",\n    \"action\": \"block\",\n    \"isActive\": true,\n    \"condition\": {\n        \"fieldName\": \"remote_addr\",\n        \"predicate\": \"EQ\",\n        \"value\": \"110.124.10.131\",\n        \"type\": \"criteria\"\n    },\n    \"periodInSec\": 442,\n    \"limit\": 90\n}","options":{"raw":{"language":"json"}}},"url":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/rate_limiters"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"218"},{"key":"Content-Type","value":"application/json"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"message\": \"Project rate limit period should be between 1 and '60' seconds. But was '233'.\",\n        \"code\": \"protectionproject.invalidProjectRateLimitPeriod\",\n        \"type\": \"SHOWABLE\",\n        \"context\": {\n            \"maxRateLimitTtiSec\": 60,\n            \"period\": 233\n        }\n    }\n]"},{"id":"001c5397-d7d4-469b-8f50-07b6ed19779d","name":"success","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"name\": \"Sleek Steel Bacon\",\n    \"action\": \"block\",\n    \"isActive\": true,\n    \"condition\": {\n        \"fieldName\": \"remote_addr\",\n        \"predicate\": \"EQ\",\n        \"value\": \"67.157.57.203\",\n        \"type\": \"criteria\"\n    },\n    \"periodInSec\": 5,\n    \"limit\": 639\n}","options":{"raw":{"language":"json"}}},"url":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/rate_limiters"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"38"},{"key":"Content-Type","value":"application/json"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"\"01919a01-8bd9-78c6-8790-b709e71d7045\""}],"_postman_id":"636e9226-36b1-4d44-a6fd-d1b48836a545"}],"id":"2f5cfee0-80c6-4428-be5a-811914e65179","description":"<p>Rate limiter is a mechanism that limits the frequency of certain operations or requests on a system to prevent resource overload, protect against attacks such as DDoS, and ensure fair bandwidth allocation among users</p>\n","_postman_id":"2f5cfee0-80c6-4428-be5a-811914e65179","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-Api-Key"},{"key":"value","value":"{api_key}"}]},"isInherited":true,"source":{"_postman_id":"dfffe03f-e114-41dc-8949-f764f2aa0135","id":"dfffe03f-e114-41dc-8949-f764f2aa0135","name":"BotBye project API","type":"collection"}}},{"name":"Custom rules","item":[{"name":"find","id":"301abf60-ce1c-4c7f-8f5f-1425e012df4b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-Api-Key"},{"key":"value","value":"{api_key}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/rules/{rule_id}","description":"<h3 id=\"get-apiv1account_idprojectsproject_idrulesrule_id\">GET /api/v1/{account_id}/projects/{project_id}/rules/{rule_id}</h3>\n<p>This endpoint retrieves the details of a specific rule within a project.</p>\n<h4 id=\"request\">Request</h4>\n<p>No request body parameters are required for this endpoint.</p>\n<ul>\n<li><p><code>base_url</code> (string): The base URL of the API.</p>\n</li>\n<li><p><code>account_id</code> (string): The unique identifier of the account.</p>\n</li>\n<li><p><code>project_id</code> (string): The unique identifier of the project.</p>\n</li>\n<li><p><code>rule_id</code> (string): The unique identifier of the rule.</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>The response for this request is a JSON object with the following schema:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"id\": \"\",\n  \"limit\": 0,\n  \"periodInSec\": 0,\n  \"name\": \"\",\n  \"action\": \"\",\n  \"isActive\": true,\n  \"condition\": \"\"\n}\n\n</code></pre>\n<ul>\n<li><p><code>id</code> (string): The unique identifier of the rule.</p>\n</li>\n<li><p><code>limit</code> (number): The limit of the rule.</p>\n</li>\n<li><p><code>periodInSec</code> (number): The period in seconds for the rule.</p>\n</li>\n<li><p><code>name</code> (string): The name of the rule.</p>\n</li>\n<li><p><code>action</code> (string): The action associated with the rule.</p>\n</li>\n<li><p><code>isActive</code> (boolean): Indicates whether the rule is active.</p>\n</li>\n<li><p><code>condition</code> (string): The condition associated with the rule.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","{account_id}","projects","{project_id}","rules","{rule_id}"],"host":["https://api.botbye.com"],"query":[],"variable":[]}},"response":[{"id":"b0416f66-d55e-4279-9607-9ebe4de06db3","name":"success","originalRequest":{"method":"GET","header":[],"url":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/rules/{rule_id}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"251"},{"key":"Content-Type","value":"application/json"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"id\": \"01919a18-c6dc-7036-bb4e-d6d53c3587b5\",\n    \"limit\": 888,\n    \"periodInSec\": 5,\n    \"name\": \"Tasty Soft Cheese\",\n    \"action\": \"block\",\n    \"isActive\": false,\n    \"condition\": \"{\\\"fieldName\\\":\\\"remote_addr\\\",\\\"predicate\\\":\\\"EQ\\\",\\\"value\\\":\\\"232.3.158.185\\\",\\\"type\\\":\\\"criteria\\\"}\"\n}"}],"_postman_id":"301abf60-ce1c-4c7f-8f5f-1425e012df4b"},{"name":"delete","id":"b601bbf5-45ee-40c9-9d9f-218f1a524c4c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-Api-Key"},{"key":"value","value":"{api_key}"}]},"isInherited":false},"method":"DELETE","header":[],"url":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/rules/{rule_id}","description":"<h3 id=\"delete-apiv1account_idprojectsproject_idrulesrule_id\">DELETE /api/v1/{account_id}/projects/{project_id}/rules/{rule_id}</h3>\n<p>This endpoint is used to delete a specific rule within a project of an account.</p>\n<h4 id=\"request\">Request</h4>\n<p>No request body parameters are required for this endpoint.</p>\n<ul>\n<li><p><code>base_url</code> (string): The base URL of the API.</p>\n</li>\n<li><p><code>account_id</code> (string): The unique identifier of the account.</p>\n</li>\n<li><p><code>project_id</code> (string): The unique identifier of the project.</p>\n</li>\n<li><p><code>rule_id</code> (string): The unique identifier of the rule to be deleted.</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>The response for this request is a JSON object with the following schema:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{}\n\n</code></pre>\n","urlObject":{"path":["api","v1","{account_id}","projects","{project_id}","rules","{rule_id}"],"host":["https://api.botbye.com"],"query":[],"variable":[]}},"response":[{"id":"e908fb35-8095-44f0-bd5b-18f652739a1f","name":"success","originalRequest":{"method":"DELETE","header":[],"url":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/rules/{rule_id}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"2"},{"key":"Content-Type","value":"application/json"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{}"},{"id":"e1ef2e84-60b8-432e-873d-f81c8c2d909d","name":"fail","originalRequest":{"method":"DELETE","header":[],"url":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/rules/{rule_id}"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"195"},{"key":"Content-Type","value":"application/json"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"message\": \"Rule'01919cfb-b934-789a-ba43-b5d818f81fcc' not found\",\n        \"code\": \"protectionproject.projectRuleNotFoundError\",\n        \"type\": \"SHOWABLE\",\n        \"context\": {\n            \"ids\": \"01919cfb-b934-789a-ba43-b5d818f81fcc\"\n        }\n    }\n]"}],"_postman_id":"b601bbf5-45ee-40c9-9d9f-218f1a524c4c"},{"name":"update order","id":"44044206-a0b4-43ac-bd37-96e9048cab35","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-Api-Key"},{"key":"value","value":"{api_key}"}]},"isInherited":false},"method":"PATCH","header":[],"body":{"mode":"raw","raw":"[\n    \"01919cfb-b934-789a-ba43-b5d818f81fcc\",\n    \"01919cfb-420b-751f-bb48-888ea155f392\"\n]","options":{"raw":{"language":"json"}}},"url":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/rules/order","description":"<h3 id=\"patch-apiv1account_idprojectsproject_idrulesorder\">PATCH /api/v1/{account_id}/projects/{project_id}/rules/order</h3>\n<p>This endpoint updates the order of rules for a specific project within an account.</p>\n<h4 id=\"request\">Request</h4>\n<ul>\n<li><code>base_url</code> (string): The base URL of the API.</li>\n<li><code>account_id</code> (string): The unique identifier of the account.</li>\n<li><code>project_id</code> (string): The unique identifier of the project.</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>The response for this request is a JSON object with the following schema:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"id\": \"\",\n  \"customerId\": \"\",\n  \"name\": \"\",\n  \"url\": \"\",\n  \"siteKey\": \"\",\n  \"serverKey\": \"\",\n  \"isProtected\": true,\n  \"rules\": {\n    \"order\": [],\n    \"rules\": []\n  },\n  \"rateLimits\": {\n    \"order\": [],\n    \"rateLimits\": []\n  },\n  \"phishingInfo\": {\n    \"originalUrl\": \"\",\n    \"action\": \"\",\n    \"allowedUrls\": []\n  },\n  \"responseExtraFields\": [],\n  \"updatedAt\": \"\",\n  \"createdAt\": \"\"\n}\n\n</code></pre>\n<ul>\n<li><code>id</code> (string): The unique identifier of the project.</li>\n<li><code>customerId</code> (string): The unique identifier of the customer associated with the project.</li>\n<li><code>name</code> (string): The name of the project.</li>\n<li><code>url</code> (string): The URL of the project.</li>\n<li><code>siteKey</code> (string): The site key of the project.</li>\n<li><code>serverKey</code> (string): The server key of the project.</li>\n<li><code>isProtected</code> (boolean): Indicates whether the project is protected.</li>\n<li><code>rules</code> (object): An object containing order and rules arrays.</li>\n<li><code>rateLimits</code> (object): An object containing order and rateLimits arrays.</li>\n<li><code>phishingInfo</code> (object): An object containing originalUrl, action, and allowedUrls arrays.</li>\n<li><code>responseExtraFields</code> (array): An array of extra fields in the response.</li>\n<li><code>updatedAt</code> (string): The timestamp when the project was last updated.</li>\n<li><code>createdAt</code> (string): The timestamp when the project was created.</li>\n</ul>\n","urlObject":{"path":["api","v1","{account_id}","projects","{project_id}","rules","order"],"host":["https://api.botbye.com"],"query":[],"variable":[]}},"response":[{"id":"5a7750d6-26b6-4cdf-8f6e-827e2f17aa5f","name":"success","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"[\n    \"01919cfb-b934-789a-ba43-b5d818f81fcc\",\n    \"01919cfb-420b-751f-bb48-888ea155f392\"\n]","options":{"raw":{"language":"json"}}},"url":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/rules/order"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"2"},{"key":"Content-Type","value":"application/json"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{}"}],"_postman_id":"44044206-a0b4-43ac-bd37-96e9048cab35"},{"name":"set isActive","id":"6a08eb46-c2e9-462b-a762-b953d82f2d31","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-Api-Key"},{"key":"value","value":"{api_key}"}]},"isInherited":false},"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n    \"isActive\": false\n}","options":{"raw":{"language":"json"}}},"url":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/rules/{rule_id}/active","description":"<h3 id=\"update-rule-active-status\">Update Rule Active Status</h3>\n<p>This endpoint allows the user to update the active status of a specific rule within a project. The HTTP PATCH request should be made to <code>https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/rules/{rule_id}/active</code>.</p>\n<h4 id=\"request\">Request</h4>\n<ul>\n<li><p><code>base_url</code> (string): The base URL of the API.</p>\n</li>\n<li><p><code>account_id</code> (string): The unique identifier of the account.</p>\n</li>\n<li><p><code>project_id</code> (string): The unique identifier of the project.</p>\n</li>\n<li><p><code>rule_id</code> (string): The unique identifier of the rule.</p>\n</li>\n</ul>\n<h4 id=\"request-body\">Request Body</h4>\n<ul>\n<li>isActive: (boolean) Indicates the new active status of the rule.</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>The response will include the updated active status of the rule.</p>\n<p>Example Response:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"active\": true\n}\n\n</code></pre>\n","urlObject":{"path":["api","v1","{account_id}","projects","{project_id}","rules","{rule_id}","active"],"host":["https://api.botbye.com"],"query":[],"variable":[]}},"response":[{"id":"c7a12fc6-9cd4-4989-80b3-fb0f7a222152","name":"success","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n    \"isActive\": false\n}","options":{"raw":{"language":"json"}}},"url":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/rules/{rule_id}/active"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"2"},{"key":"Content-Type","value":"application/json"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{}"},{"id":"d9c5f042-8719-4243-a141-76ace7399960","name":"fail","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/rules/{rule_id}/active"},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Internal Server Error\",\n    \"code\": \"500 Internal Server Error\",\n    \"type\": \"RUNTIME\",\n    \"context\": null\n}"}],"_postman_id":"6a08eb46-c2e9-462b-a762-b953d82f2d31"},{"name":"update","id":"f9000dbf-d269-444e-bc80-e89cf0f75b69","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-Api-Key"},{"key":"value","value":"{api_key}"}]},"isInherited":false},"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\n    \"id\": \"ebae09ec-7e32-4cbf-a911-96bfeca17df4\",\n    \"name\": \"Incredible Granite Cheese\",\n    \"action\": \"block\",\n    \"isActive\": false,\n    \"condition\": {\n        \"fieldName\": \"remote_addr\",\n        \"predicate\": \"EQ\",\n        \"value\": \"137.232.80.243\",\n        \"type\": \"criteria\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/rules","description":"<h3 id=\"update-project-rules\">Update Project Rules</h3>\n<p>This endpoint allows updating rules for a specific project within the account.</p>\n<p><strong>Request Body</strong></p>\n<ul>\n<li><code>id</code> (string): A unique identifier for the rule.</li>\n<li><code>name</code> (string): The name of the rule.</li>\n<li><code>action</code> (string): The action to be performed by the rule (e.g., \"block\").</li>\n<li><code>isActive</code> (boolean): Indicates whether the rule is active.</li>\n<li><code>condition</code> (object): The condition under which the rule will be triggered.<ul>\n<li><code>fieldName</code> (string): The field name to be evaluated for the condition.</li>\n<li><code>predicate</code> (string): The comparison predicate (e.g., \"EQ\" for equal).</li>\n<li><code>value</code> (string): The value to be compared for the condition.</li>\n<li><code>type</code> (string): The type of condition (e.g., \"criteria\").</li>\n</ul>\n</li>\n</ul>\n<p><strong>Response</strong><br />The response will be an empty object upon successful update of the project rules.</p>\n","urlObject":{"path":["api","v1","{account_id}","projects","{project_id}","rules"],"host":["https://api.botbye.com"],"query":[],"variable":[]}},"response":[{"id":"69b43989-6c81-4d05-82b3-746026dab768","name":"success","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\n    \"id\": \"01919cfb-b934-789a-ba43-b5d818f81fcc\",\n    \"name\": \"Handmade Steel2 Bacon\",\n    \"action\": \"block\",\n    \"isActive\": false,\n    \"condition\": {\n        \"fieldName\": \"remote_addr\",\n        \"predicate\": \"EQ\",\n        \"value\": \"179.92.83.38\",\n        \"type\": \"criteria\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/rules"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"2"},{"key":"Content-Type","value":"application/json"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{}"},{"id":"708a8fb5-a375-4180-9ab2-eba6323433a6","name":"fail","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\n    \"id\": \"01919a19-7009-7422-8b2c-4c6317c89faa\",\n    \"limit\": 500,\n    \"periodInSec\": 5,\n    \"name\": \"Fantastic Cotton Hat\",\n    \"action\": \"block\",\n    \"isActive\": false,\n    \"condition\": \"{\\\"fieldName\\\":\\\"remote_addr\\\",\\\"predicate\\\":\\\"EQ\\\",\\\"value\\\":\\\"141.17.95.179\\\",\\\"type\\\":\\\"criteria\\\"}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/rules"},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"102"},{"key":"Content-Type","value":"application/json"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Internal Server Error\",\n    \"code\": \"500 Internal Server Error\",\n    \"type\": \"RUNTIME\",\n    \"context\": null\n}"}],"_postman_id":"f9000dbf-d269-444e-bc80-e89cf0f75b69"},{"name":"create","event":[{"listen":"prerequest","script":{"id":"3614d444-2953-4cf2-a688-4a41f8545b90","exec":[""],"type":"text/javascript","packages":{}}},{"listen":"test","script":{"id":"4c8830e9-4cb9-4962-9f6a-5e636a5ee1bf","exec":["var id = pm.response.json();","pm.collectionVariables.set(\"rule_id\", id);"],"type":"text/javascript","packages":{}}}],"id":"b327719c-19a0-40f4-8727-d9fea68fe504","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-Api-Key"},{"key":"value","value":"{api_key}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"name\": \"Fantastic Metal Ball\",\n    \"action\": \"block\",\n    \"isActive\": true,\n    \"condition\": {\n        \"fieldName\": \"remote_addr\",\n        \"predicate\": \"EQ\",\n        \"value\": \"169.21.172.25\",\n        \"type\": \"criteria\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/rules","description":"<h3 id=\"create-project-rule\">Create Project Rule</h3>\n<p>This endpoint allows the user to create a new rule for a specific project within their account.</p>\n<h4 id=\"request-body\">Request Body</h4>\n<ul>\n<li><code>name</code> (string): The name of the rule.</li>\n<li><code>action</code> (string): The action to be performed by the rule (e.g., \"block\").</li>\n<li><code>isActive</code> (boolean): Indicates whether the rule is active or not.</li>\n<li><code>condition</code> (object): The condition that triggers the rule.<ul>\n<li><code>fieldName</code> (string): The field name to be evaluated.</li>\n<li><code>predicate</code> (string): The comparison predicate (e.g., \"EQ\" for equal).</li>\n<li><code>value</code> (string): The value to compare against.</li>\n<li><code>type</code> (string): The type of condition (e.g., \"criteria\").</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>The response for this request is a JSON object representing the created rule. As per user's request, the JSON schema for the response is as follows:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"type\": \"object\",\n  \"properties\": {\n    \"id\": {\n      \"type\": \"string\"\n    },\n    \"name\": {\n      \"type\": \"string\"\n    },\n    \"action\": {\n      \"type\": \"string\"\n    },\n    \"isActive\": {\n      \"type\": \"boolean\"\n    },\n    \"condition\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"fieldName\": {\n          \"type\": \"string\"\n        },\n        \"predicate\": {\n          \"type\": \"string\"\n        },\n        \"value\": {\n          \"type\": \"string\"\n        },\n        \"type\": {\n          \"type\": \"string\"\n        }\n      }\n    }\n  }\n}\n\n</code></pre>\n","urlObject":{"path":["api","v1","{account_id}","projects","{project_id}","rules"],"host":["https://api.botbye.com"],"query":[],"variable":[]}},"response":[{"id":"4ac8b2fc-6ed7-4030-a713-1a8755e82bc2","name":"success","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"name\": \"Licensed Rubber Salad\",\n    \"action\": \"block\",\n    \"isActive\": true,\n    \"condition\": {\n        \"fieldName\": \"remote_addr\",\n        \"predicate\": \"EQ\",\n        \"value\": \"193.9.113.183\",\n        \"type\": \"criteria\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/rules"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"38"},{"key":"Content-Type","value":"application/json"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"\"01919a48-f7d0-78e6-8758-0bd633d40181\""}],"_postman_id":"b327719c-19a0-40f4-8727-d9fea68fe504"}],"id":"4c7c968c-2e00-45d0-acce-e772ef78c3ec","description":"<p>Custom rules allow you to define how the defence will function by specifying criteria for blocking or allowing requests</p>\n","_postman_id":"4c7c968c-2e00-45d0-acce-e772ef78c3ec","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-Api-Key"},{"key":"value","value":"{api_key}"}]},"isInherited":true,"source":{"_postman_id":"dfffe03f-e114-41dc-8949-f764f2aa0135","id":"dfffe03f-e114-41dc-8949-f764f2aa0135","name":"BotBye project API","type":"collection"}}},{"name":"Overview","item":[{"name":"requests overview","id":"2e39e61e-d3e5-4ca3-9ce6-fa27948d54bd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/overviews/requests","description":"<h1 id=\"get-requests-overview\">Get Requests Overview</h1>\n<p>Retrieves aggregated request statistics for a specific project over a given time period. This endpoint provides time-series data showing allowed and declined request counts, enabling you to monitor traffic patterns and security events.</p>\n<h2 id=\"endpoint\">Endpoint</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>GET https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/overviews/requests\n</code></pre><h2 id=\"authentication\">Authentication</h2>\n<p>Requires API key authentication:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>Authorization: Bearer {api_key}\n</code></pre><h2 id=\"path-parameters\">Path Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>account_id</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Your unique BotBye account identifier</td>\n</tr>\n<tr>\n<td><code>project_id</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The project identifier for which to retrieve overview data</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"query-parameters\">Query Parameters</h2>\n<p>This endpoint supports standard time-based filtering parameters to specify the date range and granularity of the data:</p>\n<ul>\n<li><strong>Time period filters</strong> - Specify start/end dates and aggregation level (hourly, daily, monthly)</li>\n<li>See <a href=\"http://botbye.com/docs/pagination-api\">Pagination query parameters</a> for additional options</li>\n</ul>\n<h2 id=\"response-structure\">Response Structure</h2>\n<p>The response returns an array of time-series data points, each containing:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>day</code></td>\n<td>string</td>\n<td>Date in <code>YYYY-MM-DD</code> format for the data point</td>\n</tr>\n<tr>\n<td><code>hour</code></td>\n<td>integer</td>\n<td>Hour interval (0-23) for hourly aggregation</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>string</td>\n<td>Unique identifier combining <code>projectId</code>, <code>day</code>, and <code>hour</code> (format: <code>projectId_day_hour</code>)</td>\n</tr>\n<tr>\n<td><code>projectId</code></td>\n<td>string</td>\n<td>The project identifier</td>\n</tr>\n<tr>\n<td><code>customerId</code></td>\n<td>null</td>\n<td>Always null for project-level data</td>\n</tr>\n<tr>\n<td><code>allowedReqCount</code></td>\n<td>integer</td>\n<td>Number of requests that were allowed during this period</td>\n</tr>\n<tr>\n<td><code>declinedReqCount</code></td>\n<td>integer</td>\n<td>Number of requests that were declined during this period</td>\n</tr>\n<tr>\n<td><code>total</code></td>\n<td>integer</td>\n<td>Total requests (<code>allowedReqCount + declinedReqCount</code>)</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"example-response\">Example Response</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[\n  {\n    \"day\": \"2024-08-24\",\n    \"hour\": 0,\n    \"id\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d_2024-08-24_0\",\n    \"projectId\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d\",\n    \"customerId\": null,\n    \"allowedReqCount\": 13941,\n    \"declinedReqCount\": 13853,\n    \"total\": 27794\n  },\n  {\n    \"day\": \"2024-08-24\",\n    \"hour\": 1,\n    \"id\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d_2024-08-24_1\",\n    \"projectId\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d\",\n    \"customerId\": null,\n    \"allowedReqCount\": 15234,\n    \"declinedReqCount\": 12456,\n    \"total\": 27690\n  }\n]\n</code></pre>\n<h2 id=\"use-cases\">Use Cases</h2>\n<ul>\n<li><strong>Traffic Monitoring</strong>: Track overall request volume trends over time</li>\n<li><strong>Security Dashboard</strong>: Visualize allowed vs. declined request ratios</li>\n<li><strong>Capacity Planning</strong>: Understand peak traffic periods</li>\n<li><strong>Anomaly Detection</strong>: Identify unusual spikes in declined requests</li>\n<li><strong>Performance Reporting</strong>: Generate reports on API protection effectiveness</li>\n<li><strong>Trend Analysis</strong>: Compare traffic patterns across different time periods</li>\n</ul>\n<h2 id=\"important-notes\">Important Notes</h2>\n<ul>\n<li>Data granularity depends on the time range requested (hourly for short periods, daily/monthly for longer periods)</li>\n<li>The <code>customerId</code> field is always <code>null</code> for project-level aggregations</li>\n<li>Use the <code>id</code> field as a unique key when storing or processing this data</li>\n<li>Historical data availability depends on your BotBye plan's retention policy</li>\n</ul>\n","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-Api-Key"},{"key":"value","value":"{api_key}"}]},"isInherited":true,"source":{"_postman_id":"dfffe03f-e114-41dc-8949-f764f2aa0135","id":"dfffe03f-e114-41dc-8949-f764f2aa0135","name":"BotBye project API","type":"collection"}},"urlObject":{"path":["api","v1","{account_id}","projects","{project_id}","overviews","requests"],"host":["https://api.botbye.com"],"query":[{"disabled":true,"description":{"content":"<p>(Optional) Defines the interval for the overview. The interval is used in conjunction with intervalType to determine the specific time span of the overview. The default value is 1, meaning the current day (or month if interval_type = month).</p>\n","type":"text/plain"},"key":"interval","value":"1"},{"disabled":true,"description":{"content":"<p>(Optional)  Specifies the type of interval for the overview. This can be HOUR, DAY, MONTH. The default value is DAY, meaning the overview will cover a single day.</p>\n","type":"text/plain"},"key":"interval_type","value":"DAY"}],"variable":[]}},"response":[{"id":"720597c0-ec49-424c-bf9a-c5368fa3429f","name":"fail","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/overviews/requests?interval_type=DAY","host":["https://api.botbye.com"],"path":["api","v1","{account_id}","projects","{project_id}","overviews","requests"],"query":[{"key":"interval","value":"0","description":"(Optional) Defines the interval for the overview in milliseconds. The interval is used in conjunction with intervalType to determine the specific time span of the overview. The default value is 0, meaning the current day or default period is considered.","type":"text","disabled":true},{"key":"interval_type","value":"DAY","description":"(Optional)  Specifies the type of interval for the overview. This can be HOUR, DAY, MONTH. The default value is DAY, meaning the overview will cover a single day."}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"143"},{"key":"Content-Type","value":"application/json"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"message\": \"Missing query param 'interval'.\",\n        \"code\": \"protectionapifacade.missingQueryParam\",\n        \"type\": \"SHOWABLE\",\n        \"context\": {\n            \"param\": \"interval\"\n        }\n    }\n]"},{"id":"123af1d2-8856-4edd-a6cb-502b5e60756f","name":"success","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/overviews/requests?interval=7&interval_type=DAY","host":["https://api.botbye.com"],"path":["api","v1","{account_id}","projects","{project_id}","overviews","requests"],"query":[{"key":"interval","value":"7","description":"(Optional) Defines the interval for the overview in milliseconds. The interval is used in conjunction with intervalType to determine the specific time span of the overview. The default value is 0, meaning the current day or default period is considered."},{"key":"interval_type","value":"DAY","description":"(Optional)  Specifies the type of interval for the overview. This can be HOUR, DAY, MONTH. The default value is DAY, meaning the overview will cover a single day."}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"1519"},{"key":"Content-Type","value":"application/json"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"day\": \"2024-08-24\",\n        \"hour\": 0,\n        \"id\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d_2024-08-24_0\",\n        \"projectId\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d\",\n        \"customerId\": null,\n        \"allowedReqCount\": 13941,\n        \"declinedReqCount\": 13853,\n        \"total\": 27794\n    },\n    {\n        \"day\": \"2024-08-25\",\n        \"hour\": 0,\n        \"id\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d_2024-08-25_0\",\n        \"projectId\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d\",\n        \"customerId\": null,\n        \"allowedReqCount\": 10361,\n        \"declinedReqCount\": 10103,\n        \"total\": 20464\n    },\n    {\n        \"day\": \"2024-08-26\",\n        \"hour\": 0,\n        \"id\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d_2024-08-26_0\",\n        \"projectId\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d\",\n        \"customerId\": null,\n        \"allowedReqCount\": 9803,\n        \"declinedReqCount\": 9830,\n        \"total\": 19633\n    },\n    {\n        \"day\": \"2024-08-27\",\n        \"hour\": 0,\n        \"id\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d_2024-08-27_0\",\n        \"projectId\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d\",\n        \"customerId\": null,\n        \"allowedReqCount\": 6367,\n        \"declinedReqCount\": 6216,\n        \"total\": 12583\n    },\n    {\n        \"day\": \"2024-08-28\",\n        \"hour\": 0,\n        \"id\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d_2024-08-28_0\",\n        \"projectId\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d\",\n        \"customerId\": null,\n        \"allowedReqCount\": 7390,\n        \"declinedReqCount\": 7544,\n        \"total\": 14934\n    },\n    {\n        \"day\": \"2024-08-29\",\n        \"hour\": 0,\n        \"id\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d_2024-08-29_0\",\n        \"projectId\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d\",\n        \"customerId\": null,\n        \"allowedReqCount\": 4439,\n        \"declinedReqCount\": 4277,\n        \"total\": 8716\n    },\n    {\n        \"day\": \"2024-08-30\",\n        \"hour\": 0,\n        \"id\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d_2024-08-30_0\",\n        \"projectId\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d\",\n        \"customerId\": null,\n        \"allowedReqCount\": 435,\n        \"declinedReqCount\": 437,\n        \"total\": 872\n    }\n]"}],"_postman_id":"2e39e61e-d3e5-4ca3-9ce6-fa27948d54bd"},{"name":"declined requests count","id":"a4765a0d-b4b2-4a38-aa5e-dda5426372b6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/overviews/declined_requests/count","description":"<h1 id=\"get-declined-requests-count\">Get Declined Requests Count</h1>\n<p>Retrieves detailed metrics about declined requests for a specific project, including counts and trend analysis. This endpoint helps you understand the volume and patterns of blocked traffic, including custom rule violations and bot detection.</p>\n<h2 id=\"endpoint\">Endpoint</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>GET https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/overviews/declined_requests/count\n</code></pre><h2 id=\"authentication\">Authentication</h2>\n<p>Requires API key authentication:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>Authorization: Bearer {api_key}\n</code></pre><h2 id=\"path-parameters\">Path Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>account_id</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Your unique BotBye account identifier</td>\n</tr>\n<tr>\n<td><code>project_id</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The project identifier for which to retrieve declined request metrics</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"query-parameters\">Query Parameters</h2>\n<p>This endpoint supports time-based filtering parameters to specify the date range for analysis:</p>\n<ul>\n<li><strong>Time period filters</strong> - Specify start/end dates for the analysis period</li>\n<li>See <a href=\"http://botbye.com/docs/pagination-api\">Pagination query parameters</a> for additional options</li>\n</ul>\n<h2 id=\"response-structure\">Response Structure</h2>\n<p>The response returns an object containing declined request metrics and trends:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>string</td>\n<td>Unique identifier combining <code>projectId</code>, <code>day</code>, and <code>hour</code> (format: <code>projectId_day_hour</code>)</td>\n</tr>\n<tr>\n<td><code>projectId</code></td>\n<td>string</td>\n<td>The project identifier</td>\n</tr>\n<tr>\n<td><code>customerId</code></td>\n<td>null</td>\n<td>Always null for project-level data</td>\n</tr>\n<tr>\n<td><code>bannedReqCount</code></td>\n<td>integer</td>\n<td>Number of requests declined by custom rules during this period</td>\n</tr>\n<tr>\n<td><code>bannedReqTrend</code></td>\n<td>float</td>\n<td>Percentage change in declined requests compared to previous period (negative = decrease, positive = increase)</td>\n</tr>\n<tr>\n<td><code>botReqCount</code></td>\n<td>integer</td>\n<td>Number of requests identified as bot traffic during this period</td>\n</tr>\n<tr>\n<td><code>botReqTrend</code></td>\n<td>float</td>\n<td>Percentage change in bot requests compared to previous period</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"example-response\">Example Response</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"id\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d_2024-08-17_0\",\n  \"projectId\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d\",\n  \"customerId\": null,\n  \"bannedReqCount\": 56298,\n  \"bannedReqTrend\": -63.75,\n  \"botReqCount\": 0,\n  \"botReqTrend\": 0\n}\n</code></pre>\n<h2 id=\"use-cases\">Use Cases</h2>\n<ul>\n<li><strong>Security Monitoring</strong>: Track the volume of blocked malicious requests</li>\n<li><strong>Trend Analysis</strong>: Identify increases or decreases in attack activity</li>\n<li><strong>Rule Effectiveness</strong>: Measure how many requests your custom rules are blocking</li>\n<li><strong>Bot Detection Metrics</strong>: Monitor automated bot traffic separately from rule-based blocks</li>\n<li><strong>Alert Configuration</strong>: Set up alerts when declined request trends spike</li>\n<li><strong>Security Reporting</strong>: Generate reports showing protection effectiveness over time</li>\n</ul>\n<h2 id=\"understanding-trends\">Understanding Trends</h2>\n<p>The trend values indicate percentage changes compared to the previous equivalent time period:</p>\n<ul>\n<li><strong>Negative trend</strong> (e.g., <code>-63.75</code>): Declined requests decreased by 63.75%</li>\n<li><strong>Positive trend</strong> (e.g., <code>+45.20</code>): Declined requests increased by 45.20%</li>\n<li><strong>Zero trend</strong> (<code>0</code>): No change from previous period</li>\n</ul>\n<h2 id=\"important-notes\">Important Notes</h2>\n<ul>\n<li>Trends are calculated by comparing to the equivalent previous time period</li>\n<li>A decrease in <code>bannedReqCount</code> trend may indicate reduced attack activity or rule adjustments</li>\n<li><code>botReqCount</code> specifically tracks automated bot traffic detected by BotBye's bot detection algorithms</li>\n<li><code>bannedReqCount</code> includes requests blocked by your custom security rules</li>\n<li>The <code>customerId</code> field is always <code>null</code> for project-level aggregations</li>\n</ul>\n","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-Api-Key"},{"key":"value","value":"{api_key}"}]},"isInherited":true,"source":{"_postman_id":"dfffe03f-e114-41dc-8949-f764f2aa0135","id":"dfffe03f-e114-41dc-8949-f764f2aa0135","name":"BotBye project API","type":"collection"}},"urlObject":{"path":["api","v1","{account_id}","projects","{project_id}","overviews","declined_requests","count"],"host":["https://api.botbye.com"],"query":[{"disabled":true,"description":{"content":"<p>(Optional) Defines the interval for the overview. The interval is used in conjunction with intervalType to determine the specific time span of the overview. The default value is 1, meaning the current day (or month if interval_type = month).</p>\n","type":"text/plain"},"key":"interval","value":"1"},{"disabled":true,"description":{"content":"<p>(Optional)  Specifies the type of interval for the overview. This can be HOUR, DAY, MONTH. The default value is DAY, meaning the overview will cover a single day.</p>\n","type":"text/plain"},"key":"interval_type","value":"DAY"}],"variable":[]}},"response":[{"id":"ce1f0fd0-9d87-48b7-b96c-9ec8174a1621","name":"success","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/overviews/declined_requests/count?interval=7&interval_type=DAY","host":["https://api.botbye.com"],"path":["api","v1","{account_id}","projects","{project_id}","overviews","declined_requests","count"],"query":[{"key":"interval","value":"7","description":"(Optional) Defines the interval for the overview. The interval is used in conjunction with intervalType to determine the specific time span of the overview. The default value is 0, meaning the current day or default period is considered."},{"key":"interval_type","value":"DAY","description":"(Optional)  Specifies the type of interval for the overview. This can be HOUR, DAY, MONTH. The default value is DAY, meaning the overview will cover a single day."}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"208"},{"key":"Content-Type","value":"application/json"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"id\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d_2024-08-17_0\",\n    \"projectId\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d\",\n    \"customerId\": null,\n    \"bannedReqCount\": 56298,\n    \"bannedReqTrend\": -63.75,\n    \"botReqCount\": 0,\n    \"botReqTrend\": 0\n}"},{"id":"ad6c9ae3-8cbc-4f96-825e-cb9d1842049e","name":"fail","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}2/overviews/declined_requests/count?interval=7&interval_type=DAY","host":["https://api.botbye.com"],"path":["api","v1","{account_id}","projects","{project_id}2","overviews","declined_requests","count"],"query":[{"key":"interval","value":"7","description":"(Optional) Defines the interval for the overview. The interval is used in conjunction with intervalType to determine the specific time span of the overview. The default value is 0, meaning the current day or default period is considered."},{"key":"interval_type","value":"DAY","description":"(Optional)  Specifies the type of interval for the overview. This can be HOUR, DAY, MONTH. The default value is DAY, meaning the overview will cover a single day."}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"185"},{"key":"Content-Type","value":"application/json"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"message\": \"Invalid path param 'project_id'. Should be type of 'UUID'.\",\n        \"code\": \"protectionapifacade.invalidPathParam\",\n        \"type\": \"SHOWABLE\",\n        \"context\": {\n            \"param\": \"project_id\",\n            \"type\": \"UUID\"\n        }\n    }\n]"}],"_postman_id":"a4765a0d-b4b2-4a38-aa5e-dda5426372b6"},{"name":"declined requests summary","id":"d5631686-ada8-4551-9c22-b6ea43eeb772","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/overviews/declined_requests?type=total_endpoint","description":"<h1 id=\"get-declined-requests-summary\">Get Declined Requests Summary</h1>\n<p>Retrieves a summarized breakdown of declined requests based on different analysis dimensions. This endpoint allows you to analyze blocked traffic by attack source, country, endpoint, reason, or rule, providing actionable insights for security optimization.</p>\n<h2 id=\"endpoint\">Endpoint</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>GET https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/overviews/declined_requests\n</code></pre><h2 id=\"authentication\">Authentication</h2>\n<p>Requires API key authentication:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>Authorization: Bearer {api_key}\n</code></pre><h2 id=\"path-parameters\">Path Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>account_id</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Your unique BotBye account identifier</td>\n</tr>\n<tr>\n<td><code>project_id</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The project identifier for which to retrieve declined request summaries</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"query-parameters\">Query Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>type</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Summary type: <code>attack_source</code>, <code>country</code>, <code>endpoint</code>, <code>reason</code>, or <code>rule</code></td>\n</tr>\n</tbody>\n</table>\n</div><p>Additional time-based filtering parameters are supported. See <a href=\"http://botbye.com/docs/pagination-api\">Pagination query parameters</a>.</p>\n<h2 id=\"response-structure\">Response Structure</h2>\n<h3 id=\"common-properties-all-summary-types\">Common Properties (All Summary Types)</h3>\n<p>All summary types return an array of objects with these common fields:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>string</td>\n<td>Unique identifier (format varies by summary type)</td>\n</tr>\n<tr>\n<td><code>projectId</code></td>\n<td>string</td>\n<td>The project identifier</td>\n</tr>\n<tr>\n<td><code>customerId</code></td>\n<td>null</td>\n<td>Always null for project-level data</td>\n</tr>\n<tr>\n<td><code>declinedReqCount</code></td>\n<td>integer</td>\n<td>Number of declined requests for this summary item</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"summary-type-attack_source\">Summary Type: <code>attack_source</code></h3>\n<p>Analyzes declined requests by IP address and country of origin.</p>\n<p><strong>Additional Fields:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>remoteAddr</code></td>\n<td>string</td>\n<td>IP address from which declined requests originated</td>\n</tr>\n<tr>\n<td><code>country</code></td>\n<td>string</td>\n<td>Country code (ISO 3166-1 alpha-3) of the IP address</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Example Response:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[\n  {\n    \"id\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d_104.28.247.47_DEU\",\n    \"projectId\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d\",\n    \"customerId\": null,\n    \"remoteAddr\": \"104.28.247.47\",\n    \"country\": \"DEU\",\n    \"declinedReqCount\": 356\n  }\n]\n</code></pre>\n<h3 id=\"summary-type-country\">Summary Type: <code>country</code></h3>\n<p>Analyzes declined requests grouped by country.</p>\n<p><strong>Additional Fields:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>country</code></td>\n<td>string</td>\n<td>Country code (ISO 3166-1 alpha-3) where requests originated</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Example Response:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[\n  {\n    \"id\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d_USA\",\n    \"projectId\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d\",\n    \"customerId\": null,\n    \"country\": \"USA\",\n    \"declinedReqCount\": 1523\n  }\n]\n</code></pre>\n<h3 id=\"summary-type-endpoint\">Summary Type: <code>endpoint</code></h3>\n<p>Analyzes declined requests grouped by API endpoint/URI.</p>\n<p><strong>Additional Fields:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>requestUri</code></td>\n<td>string</td>\n<td>The API endpoint URI that received declined requests</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Example Response:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[\n  {\n    \"id\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d_/api/v1/login\",\n    \"projectId\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d\",\n    \"customerId\": null,\n    \"requestUri\": \"/api/v1/login\",\n    \"declinedReqCount\": 892\n  }\n]\n</code></pre>\n<h3 id=\"summary-type-reason\">Summary Type: <code>reason</code></h3>\n<p>Analyzes declined requests grouped by the reason for blocking.</p>\n<p><strong>Additional Fields:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>failedMessage</code></td>\n<td>string</td>\n<td>The reason/message explaining why the request was declined</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Example Response:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[\n  {\n    \"id\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d_Rate limit exceeded\",\n    \"projectId\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d\",\n    \"customerId\": null,\n    \"failedMessage\": \"Rate limit exceeded\",\n    \"declinedReqCount\": 2341\n  }\n]\n</code></pre>\n<h3 id=\"summary-type-rule\">Summary Type: <code>rule</code></h3>\n<p>Analyzes declined requests grouped by the security rule that blocked them.</p>\n<p><strong>Additional Fields:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>ruleId</code></td>\n<td>string</td>\n<td>The identifier of the security rule that declined the requests</td>\n</tr>\n<tr>\n<td><code>ruleName</code></td>\n<td>string</td>\n<td>The name of the security rule</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Example Response:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[\n  {\n    \"id\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d_rule-123\",\n    \"projectId\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d\",\n    \"customerId\": null,\n    \"ruleId\": \"rule-123\",\n    \"ruleName\": \"Block suspicious user agents\",\n    \"declinedReqCount\": 678\n  }\n]\n</code></pre>\n<h2 id=\"use-cases\">Use Cases</h2>\n<ul>\n<li><strong>Threat Intelligence</strong>: Identify top attack sources by IP and country</li>\n<li><strong>Geographic Analysis</strong>: Understand which countries generate the most malicious traffic</li>\n<li><strong>Endpoint Protection</strong>: Identify which endpoints are most frequently targeted</li>\n<li><strong>Rule Optimization</strong>: Analyze which security rules are most effective</li>\n<li><strong>Attack Pattern Analysis</strong>: Understand common reasons for request blocking</li>\n<li><strong>Whitelist Management</strong>: Identify legitimate traffic that may need whitelisting</li>\n<li><strong>Security Reporting</strong>: Generate detailed reports on attack patterns</li>\n</ul>\n<h2 id=\"important-notes\">Important Notes</h2>\n<ul>\n<li>The <code>type</code> query parameter is required and determines the response structure</li>\n<li>Results are typically ordered by <code>declinedReqCount</code> in descending order (most declined first)</li>\n<li>Use this endpoint to drill down into specific aspects of your declined traffic</li>\n<li>Combine with time filters to analyze trends over specific periods</li>\n<li>Country codes follow ISO 3166-1 alpha-3 standard (e.g., USA, DEU, GBR)</li>\n</ul>\n","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-Api-Key"},{"key":"value","value":"{api_key}"}]},"isInherited":true,"source":{"_postman_id":"dfffe03f-e114-41dc-8949-f764f2aa0135","id":"dfffe03f-e114-41dc-8949-f764f2aa0135","name":"BotBye project API","type":"collection"}},"urlObject":{"path":["api","v1","{account_id}","projects","{project_id}","overviews","declined_requests"],"host":["https://api.botbye.com"],"query":[{"description":{"content":"<p>(Required) attack_source, country, endpoint, total_endpoint, reason, rule</p>\n","type":"text/plain"},"key":"type","value":"total_endpoint"},{"disabled":true,"description":{"content":"<p>(Optional) Defines the interval for the overview. The interval is used in conjunction with intervalType to determine the specific time span of the overview. The default value is 1, meaning the current day (or month if interval_type = month).</p>\n","type":"text/plain"},"key":"interval","value":"1"},{"disabled":true,"description":{"content":"<p>(Optional)  Specifies the type of interval for the overview. This can be HOUR, DAY, MONTH. The default value is DAY, meaning the overview will cover a single day.</p>\n","type":"text/plain"},"key":"interval_type","value":"DAY"}],"variable":[]}},"response":[{"id":"d62cd688-2a5e-4009-833c-c3a1d2ece536","name":"success - attack source summary","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/overviews/declined_requests?type=attack_source&interval=1","host":["https://api.botbye.com"],"path":["api","v1","{account_id}","projects","{project_id}","overviews","declined_requests"],"query":[{"key":"type","value":"attack_source","description":"(Required) attack_source, country, endpoint, total_endpoint, reason, rule"},{"key":"interval","value":"1","description":"(Optional) Defines the interval for the overview. The interval is used in conjunction with intervalType to determine the specific time span of the overview. The default value is 0, meaning the current day or default period is considered."},{"key":"interval_type","value":"DAY","type":"text","description":"(Optional)  Specifies the type of interval for the overview. This can be HOUR, DAY, MONTH. The default value is DAY, meaning the overview will cover a single day.","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"1812"},{"key":"Content-Type","value":"application/json"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"id\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d_82.209.216.44_DEU\",\n        \"projectId\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d\",\n        \"customerId\": null,\n        \"remoteAddr\": \"82.209.216.44\",\n        \"country\": \"DEU\",\n        \"declinedReqCount\": 183\n    },\n    {\n        \"id\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d_104.28.247.47_DEU\",\n        \"projectId\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d\",\n        \"customerId\": null,\n        \"remoteAddr\": \"104.28.247.47\",\n        \"country\": \"DEU\",\n        \"declinedReqCount\": 179\n    },\n    {\n        \"id\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d_116.202.24.183_DEU\",\n        \"projectId\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d\",\n        \"customerId\": null,\n        \"remoteAddr\": \"116.202.24.183\",\n        \"country\": \"DEU\",\n        \"declinedReqCount\": 153\n    },\n    {\n        \"id\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d_116.202.24.183_USA\",\n        \"projectId\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d\",\n        \"customerId\": null,\n        \"remoteAddr\": \"116.202.24.183\",\n        \"country\": \"USA\",\n        \"declinedReqCount\": 118\n    },\n    {\n        \"id\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d_82.209.216.44_BLR\",\n        \"projectId\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d\",\n        \"customerId\": null,\n        \"remoteAddr\": \"82.209.216.44\",\n        \"country\": \"BLR\",\n        \"declinedReqCount\": 113\n    },\n    {\n        \"id\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d_104.28.247.47_USA\",\n        \"projectId\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d\",\n        \"customerId\": null,\n        \"remoteAddr\": \"104.28.247.47\",\n        \"country\": \"USA\",\n        \"declinedReqCount\": 86\n    },\n    {\n        \"id\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d_104.28.247.47_BLR\",\n        \"projectId\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d\",\n        \"customerId\": null,\n        \"remoteAddr\": \"104.28.247.47\",\n        \"country\": \"BLR\",\n        \"declinedReqCount\": 85\n    },\n    {\n        \"id\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d_116.202.24.183_BLR\",\n        \"projectId\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d\",\n        \"customerId\": null,\n        \"remoteAddr\": \"116.202.24.183\",\n        \"country\": \"BLR\",\n        \"declinedReqCount\": 84\n    },\n    {\n        \"id\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d_82.209.216.44_USA\",\n        \"projectId\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d\",\n        \"customerId\": null,\n        \"remoteAddr\": \"82.209.216.44\",\n        \"country\": \"USA\",\n        \"declinedReqCount\": 30\n    }\n]"},{"id":"9cfc8096-760b-461c-bd73-c6abc5fdaec2","name":"success - country summary","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/overviews/declined_requests?type=country&interval=1","host":["https://api.botbye.com"],"path":["api","v1","{account_id}","projects","{project_id}","overviews","declined_requests"],"query":[{"key":"type","value":"country","description":"(Required) attack_source, country, endpoint, total_endpoint, reason, rule"},{"key":"interval","value":"1","description":"(Optional) Defines the interval for the overview. The interval is used in conjunction with intervalType to determine the specific time span of the overview. The default value is 0, meaning the current day or default period is considered."},{"key":"interval_type","value":"DAY","type":"text","description":"(Optional)  Specifies the type of interval for the overview. This can be HOUR, DAY, MONTH. The default value is DAY, meaning the overview will cover a single day.","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"475"},{"key":"Content-Type","value":"application/json"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"id\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d_USA\",\n        \"projectId\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d\",\n        \"customerId\": null,\n        \"country\": \"USA\",\n        \"declinedReqCount\": 356\n    },\n    {\n        \"id\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d_DEU\",\n        \"projectId\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d\",\n        \"customerId\": null,\n        \"country\": \"DEU\",\n        \"declinedReqCount\": 350\n    },\n    {\n        \"id\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d_BLR\",\n        \"projectId\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d\",\n        \"customerId\": null,\n        \"country\": \"BLR\",\n        \"declinedReqCount\": 325\n    }\n]"},{"id":"456c4f7d-5ebc-4666-bad5-7bf30493d17f","name":"success - total_declined_endpoint summary","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/overviews/declined_requests?type=endpoint&interval=1","host":["https://api.botbye.com"],"path":["api","v1","{account_id}","projects","{project_id}","overviews","declined_requests"],"query":[{"key":"type","value":"endpoint","description":"(Required) attack_source, country, endpoint, total_endpoint, reason, rule"},{"key":"interval","value":"1","description":"(Optional) Defines the interval for the overview. The interval is used in conjunction with intervalType to determine the specific time span of the overview. The default value is 0, meaning the current day or default period is considered."},{"key":"interval_type","value":"DAY","type":"text","description":"(Optional)  Specifies the type of interval for the overview. This can be HOUR, DAY, MONTH. The default value is DAY, meaning the overview will cover a single day.","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"781"},{"key":"Content-Type","value":"application/json"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"id\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d_GET_/protect\",\n        \"projectId\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d\",\n        \"customerId\": null,\n        \"requestMethod\": \"GET\",\n        \"requestUri\": \"/protect\",\n        \"declinedReqCount\": 286\n    },\n    {\n        \"id\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d_GET_/login\",\n        \"projectId\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d\",\n        \"customerId\": null,\n        \"requestMethod\": \"GET\",\n        \"requestUri\": \"/login\",\n        \"declinedReqCount\": 278\n    },\n    {\n        \"id\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d_GET_/register\",\n        \"projectId\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d\",\n        \"customerId\": null,\n        \"requestMethod\": \"GET\",\n        \"requestUri\": \"/register\",\n        \"declinedReqCount\": 246\n    },\n    {\n        \"id\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d_GET_/book\",\n        \"projectId\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d\",\n        \"customerId\": null,\n        \"requestMethod\": \"GET\",\n        \"requestUri\": \"/book\",\n        \"declinedReqCount\": 221\n    }\n]"},{"id":"895d4f17-09fe-4c27-b660-0a2986b9041b","name":"success - reason summary","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/overviews/declined_requests?type=reason&interval=1","host":["https://api.botbye.com"],"path":["api","v1","{account_id}","projects","{project_id}","overviews","declined_requests"],"query":[{"key":"type","value":"reason","description":"(Required) attack_source, country, endpoint, total_endpoint, reason, rule"},{"key":"interval","value":"1","description":"(Optional) Defines the interval for the overview. The interval is used in conjunction with intervalType to determine the specific time span of the overview. The default value is 0, meaning the current day or default period is considered."},{"key":"interval_type","value":"DAY","type":"text","description":"(Optional)  Specifies the type of interval for the overview. This can be HOUR, DAY, MONTH. The default value is DAY, meaning the overview will cover a single day.","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"327"},{"key":"Content-Type","value":"application/json"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"id\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d_isBot\",\n        \"projectId\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d\",\n        \"customerId\": null,\n        \"failedMessage\": \"isBot\",\n        \"declinedReqCount\": 528\n    },\n    {\n        \"id\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d_\",\n        \"projectId\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d\",\n        \"customerId\": null,\n        \"failedMessage\": \"\",\n        \"declinedReqCount\": 503\n    }\n]"},{"id":"9a1308ca-4610-4b60-97b5-322b1a382034","name":"success - rule summary","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/overviews/declined_requests?type=rule&interval=30","host":["https://api.botbye.com"],"path":["api","v1","{account_id}","projects","{project_id}","overviews","declined_requests"],"query":[{"key":"type","value":"rule","description":"(Required) attack_source, country, endpoint, total_endpoint, reason, rule"},{"key":"interval","value":"30","description":"(Optional) Defines the interval for the overview. The interval is used in conjunction with intervalType to determine the specific time span of the overview. The default value is 0, meaning the current day or default period is considered."},{"key":"interval_type","value":"DAY","type":"text","description":"(Optional)  Specifies the type of interval for the overview. This can be HOUR, DAY, MONTH. The default value is DAY, meaning the overview will cover a single day.","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"670"},{"key":"Content-Type","value":"application/json"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"id\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d_0191a397-19b3-7c43-a7a1-b7caef503a7e\",\n        \"projectId\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d\",\n        \"customerId\": null,\n        \"ruleId\": \"0191a397-19b3-7c43-a7a1-b7caef503a7e\",\n        \"declinedReqCount\": 435\n    },\n    {\n        \"id\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d_0191a397-2e67-72ca-b823-5663cacc0f16\",\n        \"projectId\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d\",\n        \"customerId\": null,\n        \"ruleId\": \"0191a397-2e67-72ca-b823-5663cacc0f16\",\n        \"declinedReqCount\": 415\n    },\n    {\n        \"id\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d_0191a396-2a36-7c01-aaa7-363ef003f930\",\n        \"projectId\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d\",\n        \"customerId\": null,\n        \"ruleId\": \"0191a396-2a36-7c01-aaa7-363ef003f930\",\n        \"declinedReqCount\": 402\n    }\n]"},{"id":"f202216a-4973-4f71-8f7e-2cbb02d7c034","name":"fail","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}2/overviews/declined_requests?type=attack_source&interval=1","host":["https://api.botbye.com"],"path":["api","v1","{account_id}","projects","{project_id}2","overviews","declined_requests"],"query":[{"key":"type","value":"attack_source","description":"(Required) attack_source, country, endpoint, total_endpoint, reason, rule"},{"key":"interval","value":"1","description":"(Optional) Defines the interval for the overview. The interval is used in conjunction with intervalType to determine the specific time span of the overview. The default value is 0, meaning the current day or default period is considered."},{"key":"interval_type","value":"DAY","type":"text","description":"(Optional)  Specifies the type of interval for the overview. This can be HOUR, DAY, MONTH. The default value is DAY, meaning the overview will cover a single day.","disabled":true}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"185"},{"key":"Content-Type","value":"application/json"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"message\": \"Invalid path param 'project_id'. Should be type of 'UUID'.\",\n        \"code\": \"protectionapifacade.invalidPathParam\",\n        \"type\": \"SHOWABLE\",\n        \"context\": {\n            \"param\": \"project_id\",\n            \"type\": \"UUID\"\n        }\n    }\n]"},{"id":"4559e0a5-6007-4132-b9f3-6a6a1ed057d8","name":"success - total_endpoint summary","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/overviews/declined_requests?type=total_endpoint","host":["https://api.botbye.com"],"path":["api","v1","{account_id}","projects","{project_id}","overviews","declined_requests"],"query":[{"key":"type","value":"total_endpoint","description":"(Required) attack_source, country, endpoint, total_endpoint, reason, rule"},{"key":"interval","value":"1","description":"(Optional) Defines the interval for the overview. The interval is used in conjunction with intervalType to determine the specific time span of the overview. The default value is 1, meaning the current day (or month if interval_type = month).","disabled":true},{"key":"interval_type","value":"DAY","type":"text","description":"(Optional)  Specifies the type of interval for the overview. This can be HOUR, DAY, MONTH. The default value is DAY, meaning the overview will cover a single day.","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"807"},{"key":"Content-Type","value":"application/json"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"id\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d_GET_/protect\",\n        \"projectId\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d\",\n        \"customerId\": null,\n        \"requestMethod\": \"GET\",\n        \"requestUri\": \"/protect\",\n        \"total\": 16,\n        \"trend\": -42.86\n    },\n    {\n        \"id\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d_GET_/login\",\n        \"projectId\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d\",\n        \"customerId\": null,\n        \"requestMethod\": \"GET\",\n        \"requestUri\": \"/login\",\n        \"total\": 16,\n        \"trend\": -50.510000000000005\n    },\n    {\n        \"id\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d_GET_/register\",\n        \"projectId\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d\",\n        \"customerId\": null,\n        \"requestMethod\": \"GET\",\n        \"requestUri\": \"/register\",\n        \"total\": 15,\n        \"trend\": -108.33\n    },\n    {\n        \"id\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d_GET_/book\",\n        \"projectId\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d\",\n        \"customerId\": null,\n        \"requestMethod\": \"GET\",\n        \"requestUri\": \"/book\",\n        \"total\": 15,\n        \"trend\": 458.82\n    }\n]"}],"_postman_id":"d5631686-ada8-4551-9c22-b6ea43eeb772"}],"id":"d0cc5ffd-91b1-40c1-94cf-4334bb214118","description":"<h1 id=\"overview-endpoints\">Overview Endpoints</h1>\n<p>This folder contains endpoints for retrieving high-level analytics and overview data for your BotBye projects. These endpoints provide aggregated metrics about request traffic, declined requests, and security events over specified time periods.</p>\n<h2 id=\"purpose\">Purpose</h2>\n<p>The Overview endpoints enable you to:</p>\n<ul>\n<li>Monitor overall request traffic patterns (allowed vs. declined)</li>\n<li>Track declined request trends and identify potential threats</li>\n<li>Analyze declined requests by various dimensions (attack source, country, endpoint, reason, rule)</li>\n<li>Generate reports for security analysis and compliance</li>\n</ul>\n<h2 id=\"endpoints-in-this-folder\">Endpoints in this Folder</h2>\n<ol>\n<li><strong>Requests Overview</strong> - Get aggregated request statistics over time</li>\n<li><strong>Declined Requests Count</strong> - Retrieve counts and trends of declined requests</li>\n<li><strong>Declined Requests Summary</strong> - Analyze declined requests by different summary types</li>\n</ol>\n<h2 id=\"common-use-cases\">Common Use Cases</h2>\n<ul>\n<li><strong>Security Monitoring</strong>: Track and analyze attack patterns and declined requests</li>\n<li><strong>Traffic Analysis</strong>: Understand request volume trends over time</li>\n<li><strong>Threat Intelligence</strong>: Identify attack sources by IP, country, or endpoint</li>\n<li><strong>Compliance Reporting</strong>: Generate security reports for audits</li>\n<li><strong>Performance Optimization</strong>: Identify endpoints receiving high volumes of malicious traffic</li>\n</ul>\n<h2 id=\"authentication\">Authentication</h2>\n<p>All endpoints in this folder require API key authentication. Include your API key in the request headers:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>Authorization: Bearer {api_key}\n</code></pre><h2 id=\"required-variables\">Required Variables</h2>\n<ul>\n<li><code>base_url</code> - The base URL for the BotBye API</li>\n<li><code>account_id</code> - Your unique account identifier</li>\n<li><code>project_id</code> - The project identifier for which you want to retrieve overview data</li>\n<li><code>api_key</code> - Your API authentication key</li>\n</ul>\n<h2 id=\"time-periods\">Time Periods</h2>\n<p>Most overview endpoints support time-based filtering through query parameters to retrieve data for specific date ranges (hourly, daily, or monthly aggregations).</p>\n","_postman_id":"d0cc5ffd-91b1-40c1-94cf-4334bb214118","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-Api-Key"},{"key":"value","value":"{api_key}"}]},"isInherited":true,"source":{"_postman_id":"dfffe03f-e114-41dc-8949-f764f2aa0135","id":"dfffe03f-e114-41dc-8949-f764f2aa0135","name":"BotBye project API","type":"collection"}}},{"name":"Requests","item":[{"name":"requests","id":"329a1ae6-eb1a-498a-9b7b-ecb6e6403340","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/requests","description":"<h1 id=\"get-requests\">Get Requests</h1>\n<p>Retrieves a detailed, paginated list of all requests processed by BotBye for a specific project. This endpoint provides comprehensive request-level data including headers, IP addresses, security check results, and decision outcomes, enabling deep forensic analysis and debugging.</p>\n<h2 id=\"endpoint\">Endpoint</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>GET https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/requests\n\n</code></pre><h2 id=\"authentication\">Authentication</h2>\n<p>Requires API key authentication:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>Authorization: Bearer {api_key}\n\n</code></pre><h2 id=\"path-parameters\">Path Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>account_id</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Your unique BotBye account identifier</td>\n</tr>\n<tr>\n<td><code>project_id</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The project identifier for which to retrieve request logs</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"query-parameters\">Query Parameters</h2>\n<p>This endpoint supports pagination and filtering parameters:</p>\n<ul>\n<li><p><strong>Pagination</strong>: See <a href=\"http://botbye.com/docs/api\"><code>Pagination query parameters</code></a> for details on <code>first</code>, <code>after</code>, <code>last</code>, <code>before</code> parameters</p>\n</li>\n<li><p><strong>Filtering</strong>: Additional filters may be available for date ranges, request status, IP addresses, etc.</p>\n</li>\n</ul>\n<h2 id=\"response-structure\">Response Structure</h2>\n<p>The response follows a cursor-based pagination pattern:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"edges\": [\n    {\n      \"cursor\": \"string\",\n      \"node\": {\n        \"id\": \"string\",\n        \"token\": \"string\",\n        \"customerId\": \"string\",\n        \"projectId\": \"string\",\n        \"siteKey\": \"string\",\n        \"serverKey\": \"string\",\n        \"referer\": \"string\",\n        \"userAgent\": \"string\",\n        \"host\": \"string\",\n        \"requestMethod\": \"string\",\n        \"requestUri\": \"string\",\n        \"remoteAddr\": \"string\",\n        \"serverName\": \"string\",\n        \"remoteUser\": \"string\",\n        \"serverPort\": integer,\n        \"requestInfo\": \"string\",\n        \"failedMessage\": \"string\",\n        \"failedChecks\": \"string\",\n        \"customFields\": [],\n        \"headers\": \"string\",\n        \"createdAt\": \"string\",\n        \"realIp\": \"string\",\n        \"country\": \"string\",\n        \"asn\": \"string\",\n        \"isProtected\": boolean,\n        \"isBanByRule\": boolean\n      }\n    }\n  ],\n  \"pageInfo\": {\n    \"hasPreviousPage\": boolean,\n    \"hasNextPage\": boolean,\n    \"startCursor\": \"string | null\",\n    \"endCursor\": \"string | null\",\n    \"total\": integer\n  }\n}\n\n</code></pre>\n<h3 id=\"response-fields\">Response Fields</h3>\n<p><strong>edges</strong> (array): Contains the request records</p>\n<ul>\n<li><p><strong>cursor</strong> (string): Pagination cursor for this record</p>\n</li>\n<li><p><strong>node</strong> (object): The request data with the following fields:</p>\n</li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>string</td>\n<td>Unique identifier for this request</td>\n</tr>\n<tr>\n<td><code>token</code></td>\n<td>string</td>\n<td>BotBye token associated with the request</td>\n</tr>\n<tr>\n<td><code>customerId</code></td>\n<td>string</td>\n<td>Customer identifier (if applicable)</td>\n</tr>\n<tr>\n<td><code>projectId</code></td>\n<td>string</td>\n<td>The project identifier</td>\n</tr>\n<tr>\n<td><code>siteKey</code></td>\n<td>string</td>\n<td>The site key used for this request</td>\n</tr>\n<tr>\n<td><code>serverKey</code></td>\n<td>string</td>\n<td>The server key used for validation</td>\n</tr>\n<tr>\n<td><code>referer</code></td>\n<td>string</td>\n<td>HTTP Referer header value</td>\n</tr>\n<tr>\n<td><code>userAgent</code></td>\n<td>string</td>\n<td>User-Agent header value</td>\n</tr>\n<tr>\n<td><code>host</code></td>\n<td>string</td>\n<td>Host header value</td>\n</tr>\n<tr>\n<td><code>requestMethod</code></td>\n<td>string</td>\n<td>HTTP method (GET, POST, PUT, DELETE, etc.)</td>\n</tr>\n<tr>\n<td><code>requestUri</code></td>\n<td>string</td>\n<td>The request URI/endpoint</td>\n</tr>\n<tr>\n<td><code>remoteAddr</code></td>\n<td>string</td>\n<td>IP address of the client</td>\n</tr>\n<tr>\n<td><code>serverName</code></td>\n<td>string</td>\n<td>Server name that processed the request</td>\n</tr>\n<tr>\n<td><code>remoteUser</code></td>\n<td>string</td>\n<td>Remote user identifier (if authenticated)</td>\n</tr>\n<tr>\n<td><code>serverPort</code></td>\n<td>integer</td>\n<td>Server port number</td>\n</tr>\n<tr>\n<td><code>requestInfo</code></td>\n<td>string</td>\n<td>Additional request information</td>\n</tr>\n<tr>\n<td><code>failedMessage</code></td>\n<td>string</td>\n<td>Reason for declining the request (if declined)</td>\n</tr>\n<tr>\n<td><code>failedChecks</code></td>\n<td>string</td>\n<td>Specific security checks that failed</td>\n</tr>\n<tr>\n<td><code>customFields</code></td>\n<td>array</td>\n<td>Custom fields passed with the request</td>\n</tr>\n<tr>\n<td><code>headers</code></td>\n<td>string</td>\n<td>Complete request headers (JSON string)</td>\n</tr>\n<tr>\n<td><code>createdAt</code></td>\n<td>string</td>\n<td>ISO 8601 timestamp when the request was processed</td>\n</tr>\n<tr>\n<td><code>realIp</code></td>\n<td>string</td>\n<td>Real IP address (if behind proxy/CDN)</td>\n</tr>\n<tr>\n<td><code>country</code></td>\n<td>string</td>\n<td>Country code (ISO 3166-1 alpha-3) of the IP</td>\n</tr>\n<tr>\n<td><code>asn</code></td>\n<td>string</td>\n<td>Autonomous System Number of the IP</td>\n</tr>\n<tr>\n<td><code>isProtected</code></td>\n<td>boolean</td>\n<td>Whether the request was protected by BotBye</td>\n</tr>\n<tr>\n<td><code>isBanByRule</code></td>\n<td>boolean</td>\n<td>Whether the request was banned by a custom rule</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>pageInfo</strong> (object): Pagination metadata</p>\n<ul>\n<li><p><strong>hasPreviousPage</strong> (boolean): Whether there are more results before the current page</p>\n</li>\n<li><p><strong>hasNextPage</strong> (boolean): Whether there are more results after the current page</p>\n</li>\n<li><p><strong>startCursor</strong> (string | null): Cursor pointing to the first item</p>\n</li>\n<li><p><strong>endCursor</strong> (string | null): Cursor pointing to the last item</p>\n</li>\n<li><p><strong>total</strong> (integer): Total number of requests found</p>\n</li>\n</ul>\n<h2 id=\"example-response\">Example Response</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"edges\": [\n    {\n      \"cursor\": \"YXJyYXljb25uZWN0aW9uOjA=\",\n      \"node\": {\n        \"id\": \"req_abc123xyz\",\n        \"token\": \"tok_def456\",\n        \"customerId\": \"cust_789\",\n        \"projectId\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d\",\n        \"siteKey\": \"sk_live_abc123\",\n        \"serverKey\": \"srv_key_xyz\",\n        \"referer\": \"https://example.com/login\",\n        \"userAgent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64)...\",\n        \"host\": \"api.example.com\",\n        \"requestMethod\": \"POST\",\n        \"requestUri\": \"/api/v1/auth/login\",\n        \"remoteAddr\": \"203.0.113.42\",\n        \"serverName\": \"api-server-01\",\n        \"remoteUser\": null,\n        \"serverPort\": 443,\n        \"requestInfo\": \"Login attempt\",\n        \"failedMessage\": \"Rate limit exceeded\",\n        \"failedChecks\": \"rate_limit\",\n        \"customFields\": [],\n        \"headers\": \"{\\\"Content-Type\\\":\\\"application/json\\\",\\\"Authorization\\\":\\\"Bearer ...\\\"}\",\n        \"createdAt\": \"2024-08-24T15:32:10Z\",\n        \"realIp\": \"203.0.113.42\",\n        \"country\": \"USA\",\n        \"asn\": \"AS15169\",\n        \"isProtected\": true,\n        \"isBanByRule\": true\n      }\n    }\n  ],\n  \"pageInfo\": {\n    \"hasPreviousPage\": false,\n    \"hasNextPage\": true,\n    \"startCursor\": \"YXJyYXljb25uZWN0aW9uOjA=\",\n    \"endCursor\": \"YXJyYXljb25uZWN0aW9uOjA=\",\n    \"total\": 15847\n  }\n}\n\n</code></pre>\n<h2 id=\"use-cases\">Use Cases</h2>\n<ul>\n<li><p><strong>Security Investigation</strong>: Analyze specific requests to understand security decisions</p>\n</li>\n<li><p><strong>Debugging</strong>: Troubleshoot why legitimate requests are being blocked</p>\n</li>\n<li><p><strong>Audit Logging</strong>: Maintain comprehensive logs for compliance and security audits</p>\n</li>\n<li><p><strong>Threat Analysis</strong>: Study attack patterns by examining declined request details</p>\n</li>\n<li><p><strong>False Positive Analysis</strong>: Review blocked requests to tune security rules</p>\n</li>\n<li><p><strong>Performance Monitoring</strong>: Track request patterns and identify bottlenecks</p>\n</li>\n<li><p><strong>Customer Support</strong>: Investigate user-reported issues with specific requests</p>\n</li>\n<li><p><strong>Forensic Analysis</strong>: Deep-dive into security incidents with complete request data</p>\n</li>\n</ul>\n<h2 id=\"pagination-example\">Pagination Example</h2>\n<p>To retrieve the next page of results:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>GET https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/requests?after=YXJyYXljb25uZWN0aW9uOjA=&amp;first=50\n\n</code></pre><h2 id=\"important-notes\">Important Notes</h2>\n<ul>\n<li><p><strong>Data Volume</strong>: This endpoint can return large amounts of data; use pagination effectively</p>\n</li>\n<li><p><strong>Headers</strong>: The <code>headers</code> field contains a JSON string that needs to be parsed</p>\n</li>\n<li><p><strong>IP Addresses</strong>: <code>remoteAddr</code> shows the direct connection IP, while <code>realIp</code> shows the actual client IP (useful when behind proxies/CDNs)</p>\n</li>\n<li><p><strong>Failed Requests</strong>: Check <code>failedMessage</code> and <code>failedChecks</code> to understand why requests were declined</p>\n</li>\n<li><p><strong>Custom Fields</strong>: Use <code>customFields</code> to pass and retrieve application-specific data</p>\n</li>\n<li><p><strong>Data Retention</strong>: Request logs are retained according to your BotBye plan</p>\n</li>\n<li><p><strong>Performance</strong>: For high-traffic projects, consider filtering by date range to improve query performance</p>\n</li>\n<li><p><strong>Privacy</strong>: Request data may contain sensitive information; handle according to your privacy policies</p>\n</li>\n</ul>\n<h2 id=\"filtering-best-practices\">Filtering Best Practices</h2>\n<ul>\n<li><p>Filter by date range for better performance on high-traffic projects</p>\n</li>\n<li><p>Use <code>isBanByRule: true</code> to focus on rule-based blocks</p>\n</li>\n<li><p>Filter by <code>country</code> or <code>asn</code> to analyze geographic patterns</p>\n</li>\n<li><p>Combine filters to narrow down specific security events</p>\n</li>\n</ul>\n","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-Api-Key"},{"key":"value","value":"{api_key}"}]},"isInherited":true,"source":{"_postman_id":"dfffe03f-e114-41dc-8949-f764f2aa0135","id":"dfffe03f-e114-41dc-8949-f764f2aa0135","name":"BotBye project API","type":"collection"}},"urlObject":{"path":["api","v1","{account_id}","projects","{project_id}","requests"],"host":["https://api.botbye.com"],"query":[{"disabled":true,"description":{"content":"<p>(Optional): a cursor for pagination.\n     - <code>after</code> (string): Pointer to the item after which the items are to be retrieved.\n     - <code>before</code> (string): Pointer to the item before which the items are to be retrieved.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>(Optional): is used to create conditions for data filtering. It can be used to create simple conditions (leaf nodes) as well as compound logical expressions (branch nodes).\n    - <code>predicate</code> (string): The filtering condition (e.g., <code>gte</code>, <code>lte</code>, <code>eq</code> for a leaf or <code>and</code>, <code>or</code> for a branch). Possible values [[#Predicate]]\n    - <code>opearands</code> (string): A list of nested conditions (used only for branches, such as <code>and</code>, <code>or</code>).\n    - <code>fieldPath</code> (string): The field to which the filtering condition is applied (used only for a leaf. Each entity has its own fieldPath list).\n    - <code>value</code> (string): The value to compare against the field (used only for a leaf).</p>\n","type":"text/plain"},"key":"where","value":""},{"disabled":true,"description":{"content":"<p>(Optional): property by which to order by.\n    - <code>fieldPath</code> (string): name of order field.\n    - <code>direction</code> (string): <code>ASC</code> or <code>DESC</code></p>\n","type":"text/plain"},"key":"order_by","value":""},{"disabled":true,"description":{"content":"<p>(Optional): specifies the maximum number of results to return in a single response. By default - 20, max - 100.</p>\n","type":"text/plain"},"key":"limit","value":""}],"variable":[]}},"response":[{"id":"6d1af311-9b07-41c4-810c-f0d868234f37","name":"success","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/requests","host":["https://api.botbye.com"],"path":["api","v1","{account_id}","projects","{project_id}","requests"],"query":[{"key":"cursor","value":null,"type":"text","disabled":true},{"key":"where","value":null,"type":"text","disabled":true},{"key":"order_by","value":null,"type":"text","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"24120"},{"key":"Content-Type","value":"application/json"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"edges\": [\n        {\n            \"cursor\": \"MjAyNC0wNi0wM1QxMzoxNjoyNi41MTNaLDAxOTBkOWYxLTQ2OTEtNzIyYy1hNzlmLWQ5ZmQ0NmJmMDY1YQ==\",\n            \"node\": {\n                \"id\": \"0190d9f1-4691-722c-a79f-d9fd46bf065a\",\n                \"token\": \"P19QiBW+Qn5lczgfdXAmy7kSwASb09TSBsLKiAzeH651CtPqk+7Y31ftntNATByyhg0=\",\n                \"customerId\": \"c415a474-be24-11eb-8529-0242ac130003\",\n                \"projectId\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d\",\n                \"siteKey\": \"e610df2f-2ab3-48b3-90a0-4502b10e1e98\",\n                \"serverKey\": \"ee6c6c65-b696-43a1-8ed1-624f67dc3fc8\",\n                \"referer\": \"\",\n                \"userAgent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36 OPR/76.0.4017.123\",\n                \"host\": \"127.0.0.1\",\n                \"requestMethod\": \"GET\",\n                \"requestUri\": \"/register\",\n                \"remoteAddr\": \"104.28.247.47\",\n                \"serverName\": \"localhost\",\n                \"remoteUser\": \"\",\n                \"serverPort\": 80,\n                \"requestInfo\": \"{\\\"request_uri\\\":\\\"\\\",\\\"request_method\\\":\\\"GET\\\",\\\"server_name\\\":\\\"\\\",\\\"remote_addr\\\":\\\"\\\",\\\"server_port\\\":0}\",\n                \"failedMessage\": \"isBot\",\n                \"failedChecks\": \"\",\n                \"customFields\": [\n                    \"1\",\n                    \"\",\n                    \"\"\n                ],\n                \"headers\": \"{}\",\n                \"createdAt\": \"1717420586513\",\n                \"realIp\": \"\",\n                \"country\": \"DEU\",\n                \"asn\": \"\",\n                \"isProtected\": false,\n                \"isBanByRule\": true,\n                \"realCountry\": \"\",\n                \"isBot\": false,\n                \"ruleId\": \"00000000-0000-0000-0000-000000000000\",\n                \"requestStatus\": \"DECLINED\",\n                \"visitorId\": \"visitorId8\",\n                \"sessionId\": \"sessionId2\"\n            }\n        },\n        {\n            \"cursor\": \"MjAyNC0wNi0wM1QxMzoxNjoyNi41MTRaLDAxOTBkOWYxLTQ2OTItN2M2NC1iYTcyLWQ0MjRhMDU4ZGU2NA==\",\n            \"node\": {\n                \"id\": \"0190d9f1-4692-7c64-ba72-d424a058de64\",\n                \"token\": \"P19QiBW+Qn5lczgfdXAmy7kSwASb09TSBsLKiAzeH651CtPqk+7Y31ftntNATByyhg0=\",\n                \"customerId\": \"d415a474-be24-11eb-8529-0242ac130003\",\n                \"projectId\": \"ead5d8e1-1b0b-4465-899e-3e882c51133b\",\n                \"siteKey\": \"ec095e98-07ca-4009-9b3a-b4703e5107d6\",\n                \"serverKey\": \"666f49f6-7678-494b-833d-85690d653ee8\",\n                \"referer\": \"\",\n                \"userAgent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36\",\n                \"host\": \"127.0.0.1\",\n                \"requestMethod\": \"GET\",\n                \"requestUri\": \"/book\",\n                \"remoteAddr\": \"116.202.24.183\",\n                \"serverName\": \"localhost\",\n                \"remoteUser\": \"\",\n                \"serverPort\": 80,\n                \"requestInfo\": \"{\\\"request_uri\\\":\\\"\\\",\\\"request_method\\\":\\\"GET\\\",\\\"server_name\\\":\\\"\\\",\\\"remote_addr\\\":\\\"\\\",\\\"server_port\\\":0}\",\n                \"failedMessage\": \"\",\n                \"failedChecks\": \"\",\n                \"customFields\": [\n                    \"1\",\n                    \"\",\n                    \"\"\n                ],\n                \"headers\": \"{}\",\n                \"createdAt\": \"1717420586514\",\n                \"realIp\": \"\",\n                \"country\": \"USA\",\n                \"asn\": \"\",\n                \"isProtected\": false,\n                \"isBanByRule\": false,\n                \"realCountry\": \"\",\n                \"isBot\": false,\n                \"ruleId\": \"00000000-0000-0000-0000-000000000000\",\n                \"requestStatus\": \"ALLOWED\",\n                \"visitorId\": \"visitorId3\",\n                \"sessionId\": \"sessionId1\"\n            }\n        },\n        {\n            \"cursor\": \"MjAyNC0wNi0wM1QxMzoxNjoyNi41MTVaLDAxOTBkOWYxLTQ2OTMtN2Y3MS1iMDdiLTVmYzFmMmMzODlhZg==\",\n            \"node\": {\n                \"id\": \"0190d9f1-4693-7f71-b07b-5fc1f2c389af\",\n                \"token\": \"P19QiBW+Qn5lczgfdXAmy7kSwASb09TSBsLKiAzeH651CtPqk+7Y31ftntNATByyhg0=\",\n                \"customerId\": \"c415a474-be24-11eb-8529-0242ac130003\",\n                \"projectId\": \"5c53992b-30b7-4ac0-99e6-b36492857f03\",\n                \"siteKey\": \"43de1194-80dc-466f-b027-01b552d0a7ed\",\n                \"serverKey\": \"446a046c-3b60-4694-b6ca-07c0e1dc76d5\",\n                \"referer\": \"\",\n                \"userAgent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36 Edg/91.0.864.59\",\n                \"host\": \"127.0.0.1\",\n                \"requestMethod\": \"GET\",\n                \"requestUri\": \"/register\",\n                \"remoteAddr\": \"104.28.247.47\",\n                \"serverName\": \"localhost\",\n                \"remoteUser\": \"\",\n                \"serverPort\": 80,\n                \"requestInfo\": \"{\\\"request_uri\\\":\\\"\\\",\\\"request_method\\\":\\\"GET\\\",\\\"server_name\\\":\\\"\\\",\\\"remote_addr\\\":\\\"\\\",\\\"server_port\\\":0}\",\n                \"failedMessage\": \"\",\n                \"failedChecks\": \"\",\n                \"customFields\": [\n                    \"1\",\n                    \"\",\n                    \"\"\n                ],\n                \"headers\": \"{}\",\n                \"createdAt\": \"1717420586515\",\n                \"realIp\": \"\",\n                \"country\": \"USA\",\n                \"asn\": \"\",\n                \"isProtected\": false,\n                \"isBanByRule\": false,\n                \"realCountry\": \"\",\n                \"isBot\": false,\n                \"ruleId\": \"00000000-0000-0000-0000-000000000000\",\n                \"requestStatus\": \"ALLOWED\",\n                \"visitorId\": \"visitorId0\",\n                \"sessionId\": \"sessionId0\"\n            }\n        },\n        {\n            \"cursor\": \"MjAyNC0wNi0wM1QxMzoxNjoyNi41MTVaLDAxOTBkOWYxLTQ2OTMtN2Y3MS1iMGI3LWU0MTg3OWE1YjZmOQ==\",\n            \"node\": {\n                \"id\": \"0190d9f1-4693-7f71-b0b7-e41879a5b6f9\",\n                \"token\": \"P19QiBW+Qn5lczgfdXAmy7kSwASb09TSBsLKiAzeH651CtPqk+7Y31ftntNATByyhg0=\",\n                \"customerId\": \"c415a474-be24-11eb-8529-0242ac130003\",\n                \"projectId\": \"5c53992b-30b7-4ac0-99e6-b36492857f03\",\n                \"siteKey\": \"43de1194-80dc-466f-b027-01b552d0a7ed\",\n                \"serverKey\": \"446a046c-3b60-4694-b6ca-07c0e1dc76d5\",\n                \"referer\": \"\",\n                \"userAgent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36\",\n                \"host\": \"127.0.0.1\",\n                \"requestMethod\": \"GET\",\n                \"requestUri\": \"/register\",\n                \"remoteAddr\": \"104.28.247.47\",\n                \"serverName\": \"localhost\",\n                \"remoteUser\": \"\",\n                \"serverPort\": 80,\n                \"requestInfo\": \"{\\\"request_uri\\\":\\\"\\\",\\\"request_method\\\":\\\"GET\\\",\\\"server_name\\\":\\\"\\\",\\\"remote_addr\\\":\\\"\\\",\\\"server_port\\\":0}\",\n                \"failedMessage\": \"\",\n                \"failedChecks\": \"\",\n                \"customFields\": [\n                    \"1\",\n                    \"\",\n                    \"\"\n                ],\n                \"headers\": \"{}\",\n                \"createdAt\": \"1717420586515\",\n                \"realIp\": \"\",\n                \"country\": \"BLR\",\n                \"asn\": \"\",\n                \"isProtected\": false,\n                \"isBanByRule\": false,\n                \"realCountry\": \"\",\n                \"isBot\": false,\n                \"ruleId\": \"00000000-0000-0000-0000-000000000000\",\n                \"requestStatus\": \"ALLOWED\",\n                \"visitorId\": \"visitorId4\",\n                \"sessionId\": \"sessionId1\"\n            }\n        },\n        {\n            \"cursor\": \"MjAyNC0wNi0wM1QxMzoxNjoyNi41MTZaLDAxOTBkOWYxLTQ2OTQtN2FhNi04MTU3LWQ2MmYzY2NmZDhiNw==\",\n            \"node\": {\n                \"id\": \"0190d9f1-4694-7aa6-8157-d62f3ccfd8b7\",\n                \"token\": \"P19QiBW+Qn5lczgfdXAmy7kSwASb09TSBsLKiAzeH651CtPqk+7Y31ftntNATByyhg0=\",\n                \"customerId\": \"c415a474-be24-11eb-8529-0242ac130003\",\n                \"projectId\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d\",\n                \"siteKey\": \"e610df2f-2ab3-48b3-90a0-4502b10e1e98\",\n                \"serverKey\": \"ee6c6c65-b696-43a1-8ed1-624f67dc3fc8\",\n                \"referer\": \"\",\n                \"userAgent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100101 Firefox/89.0\",\n                \"host\": \"127.0.0.1\",\n                \"requestMethod\": \"GET\",\n                \"requestUri\": \"/login\",\n                \"remoteAddr\": \"104.28.247.47\",\n                \"serverName\": \"localhost\",\n                \"remoteUser\": \"\",\n                \"serverPort\": 80,\n                \"requestInfo\": \"{\\\"request_uri\\\":\\\"\\\",\\\"request_method\\\":\\\"GET\\\",\\\"server_name\\\":\\\"\\\",\\\"remote_addr\\\":\\\"\\\",\\\"server_port\\\":0}\",\n                \"failedMessage\": \"isBot\",\n                \"failedChecks\": \"\",\n                \"customFields\": [\n                    \"1\",\n                    \"\",\n                    \"\"\n                ],\n                \"headers\": \"{}\",\n                \"createdAt\": \"1717420586516\",\n                \"realIp\": \"\",\n                \"country\": \"USA\",\n                \"asn\": \"\",\n                \"isProtected\": false,\n                \"isBanByRule\": true,\n                \"realCountry\": \"\",\n                \"isBot\": false,\n                \"ruleId\": \"00000000-0000-0000-0000-000000000000\",\n                \"requestStatus\": \"DECLINED\",\n                \"visitorId\": \"visitorId3\",\n                \"sessionId\": \"sessionId1\"\n            }\n        },\n        {\n            \"cursor\": \"MjAyNC0wNi0wM1QxMzoxNjoyNi41MTZaLDAxOTBkOWYxLTQ2OTQtN2FhNi04MTkzLWM1MTI3NmU1M2Y5Ng==\",\n            \"node\": {\n                \"id\": \"0190d9f1-4694-7aa6-8193-c51276e53f96\",\n                \"token\": \"P19QiBW+Qn5lczgfdXAmy7kSwASb09TSBsLKiAzeH651CtPqk+7Y31ftntNATByyhg0=\",\n                \"customerId\": \"c415a474-be24-11eb-8529-0242ac130003\",\n                \"projectId\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d\",\n                \"siteKey\": \"e610df2f-2ab3-48b3-90a0-4502b10e1e98\",\n                \"serverKey\": \"ee6c6c65-b696-43a1-8ed1-624f67dc3fc8\",\n                \"referer\": \"\",\n                \"userAgent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36 OPR/76.0.4017.123\",\n                \"host\": \"127.0.0.1\",\n                \"requestMethod\": \"GET\",\n                \"requestUri\": \"/protect\",\n                \"remoteAddr\": \"116.202.24.183\",\n                \"serverName\": \"localhost\",\n                \"remoteUser\": \"\",\n                \"serverPort\": 80,\n                \"requestInfo\": \"{\\\"request_uri\\\":\\\"\\\",\\\"request_method\\\":\\\"GET\\\",\\\"server_name\\\":\\\"\\\",\\\"remote_addr\\\":\\\"\\\",\\\"server_port\\\":0}\",\n                \"failedMessage\": \"isBot\",\n                \"failedChecks\": \"\",\n                \"customFields\": [\n                    \"1\",\n                    \"\",\n                    \"\"\n                ],\n                \"headers\": \"{}\",\n                \"createdAt\": \"1717420586516\",\n                \"realIp\": \"\",\n                \"country\": \"USA\",\n                \"asn\": \"\",\n                \"isProtected\": false,\n                \"isBanByRule\": false,\n                \"realCountry\": \"\",\n                \"isBot\": false,\n                \"ruleId\": \"00000000-0000-0000-0000-000000000000\",\n                \"requestStatus\": \"ALLOWED\",\n                \"visitorId\": \"visitorId4\",\n                \"sessionId\": \"sessionId2\"\n            }\n        },\n        {\n            \"cursor\": \"MjAyNC0wNi0wM1QxMzoxNjoyNi41MTdaLDAxOTBkOWYxLTQ2OTUtNzc2Yi1iNWZlLTU2NzBlNTc1YTU5Ng==\",\n            \"node\": {\n                \"id\": \"0190d9f1-4695-776b-b5fe-5670e575a596\",\n                \"token\": \"P19QiBW+Qn5lczgfdXAmy7kSwASb09TSBsLKiAzeH651CtPqk+7Y31ftntNATByyhg0=\",\n                \"customerId\": \"d415a474-be24-11eb-8529-0242ac130003\",\n                \"projectId\": \"ead5d8e1-1b0b-4465-899e-3e882c51133b\",\n                \"siteKey\": \"ec095e98-07ca-4009-9b3a-b4703e5107d6\",\n                \"serverKey\": \"666f49f6-7678-494b-833d-85690d653ee8\",\n                \"referer\": \"\",\n                \"userAgent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100101 Firefox/89.0\",\n                \"host\": \"127.0.0.1\",\n                \"requestMethod\": \"GET\",\n                \"requestUri\": \"/register\",\n                \"remoteAddr\": \"116.202.24.183\",\n                \"serverName\": \"localhost\",\n                \"remoteUser\": \"\",\n                \"serverPort\": 80,\n                \"requestInfo\": \"{\\\"request_uri\\\":\\\"\\\",\\\"request_method\\\":\\\"GET\\\",\\\"server_name\\\":\\\"\\\",\\\"remote_addr\\\":\\\"\\\",\\\"server_port\\\":0}\",\n                \"failedMessage\": \"isBot\",\n                \"failedChecks\": \"\",\n                \"customFields\": [\n                    \"1\",\n                    \"\",\n                    \"\"\n                ],\n                \"headers\": \"{}\",\n                \"createdAt\": \"1717420586517\",\n                \"realIp\": \"\",\n                \"country\": \"BLR\",\n                \"asn\": \"\",\n                \"isProtected\": false,\n                \"isBanByRule\": true,\n                \"realCountry\": \"\",\n                \"isBot\": false,\n                \"ruleId\": \"00000000-0000-0000-0000-000000000000\",\n                \"requestStatus\": \"DECLINED\",\n                \"visitorId\": \"visitorId7\",\n                \"sessionId\": \"sessionId1\"\n            }\n        },\n        {\n            \"cursor\": \"MjAyNC0wNi0wM1QxMzoxNjoyNi41MTdaLDAxOTBkOWYxLTQ2OTUtNzc2Yi1iNjNhLTcwNzM2OWY2MjdiZQ==\",\n            \"node\": {\n                \"id\": \"0190d9f1-4695-776b-b63a-707369f627be\",\n                \"token\": \"P19QiBW+Qn5lczgfdXAmy7kSwASb09TSBsLKiAzeH651CtPqk+7Y31ftntNATByyhg0=\",\n                \"customerId\": \"c415a474-be24-11eb-8529-0242ac130003\",\n                \"projectId\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d\",\n                \"siteKey\": \"e610df2f-2ab3-48b3-90a0-4502b10e1e98\",\n                \"serverKey\": \"ee6c6c65-b696-43a1-8ed1-624f67dc3fc8\",\n                \"referer\": \"\",\n                \"userAgent\": \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Safari/605.1.15\",\n                \"host\": \"127.0.0.1\",\n                \"requestMethod\": \"GET\",\n                \"requestUri\": \"/login\",\n                \"remoteAddr\": \"82.209.216.44\",\n                \"serverName\": \"localhost\",\n                \"remoteUser\": \"\",\n                \"serverPort\": 80,\n                \"requestInfo\": \"{\\\"request_uri\\\":\\\"\\\",\\\"request_method\\\":\\\"GET\\\",\\\"server_name\\\":\\\"\\\",\\\"remote_addr\\\":\\\"\\\",\\\"server_port\\\":0}\",\n                \"failedMessage\": \"\",\n                \"failedChecks\": \"\",\n                \"customFields\": [\n                    \"1\",\n                    \"\",\n                    \"\"\n                ],\n                \"headers\": \"{}\",\n                \"createdAt\": \"1717420586517\",\n                \"realIp\": \"\",\n                \"country\": \"BLR\",\n                \"asn\": \"\",\n                \"isProtected\": false,\n                \"isBanByRule\": false,\n                \"realCountry\": \"\",\n                \"isBot\": false,\n                \"ruleId\": \"00000000-0000-0000-0000-000000000000\",\n                \"requestStatus\": \"ALLOWED\",\n                \"visitorId\": \"visitorId2\",\n                \"sessionId\": \"sessionId1\"\n            }\n        },\n        {\n            \"cursor\": \"MjAyNC0wNi0wM1QxMzoxNjoyNi41MTdaLDAxOTBkOWYxLTQ2OTUtNzc2Yi1iNjc2LTcyMmY5NzE0YjdiYg==\",\n            \"node\": {\n                \"id\": \"0190d9f1-4695-776b-b676-722f9714b7bb\",\n                \"token\": \"P19QiBW+Qn5lczgfdXAmy7kSwASb09TSBsLKiAzeH651CtPqk+7Y31ftntNATByyhg0=\",\n                \"customerId\": \"d415a474-be24-11eb-8529-0242ac130003\",\n                \"projectId\": \"ead5d8e1-1b0b-4465-899e-3e882c51133b\",\n                \"siteKey\": \"ec095e98-07ca-4009-9b3a-b4703e5107d6\",\n                \"serverKey\": \"666f49f6-7678-494b-833d-85690d653ee8\",\n                \"referer\": \"\",\n                \"userAgent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36\",\n                \"host\": \"127.0.0.1\",\n                \"requestMethod\": \"GET\",\n                \"requestUri\": \"/login\",\n                \"remoteAddr\": \"82.209.216.44\",\n                \"serverName\": \"localhost\",\n                \"remoteUser\": \"\",\n                \"serverPort\": 80,\n                \"requestInfo\": \"{\\\"request_uri\\\":\\\"\\\",\\\"request_method\\\":\\\"GET\\\",\\\"server_name\\\":\\\"\\\",\\\"remote_addr\\\":\\\"\\\",\\\"server_port\\\":0}\",\n                \"failedMessage\": \"\",\n                \"failedChecks\": \"\",\n                \"customFields\": [\n                    \"1\",\n                    \"\",\n                    \"\"\n                ],\n                \"headers\": \"{}\",\n                \"createdAt\": \"1717420586517\",\n                \"realIp\": \"\",\n                \"country\": \"DEU\",\n                \"asn\": \"\",\n                \"isProtected\": false,\n                \"isBanByRule\": true,\n                \"realCountry\": \"\",\n                \"isBot\": false,\n                \"ruleId\": \"00000000-0000-0000-0000-000000000000\",\n                \"requestStatus\": \"DECLINED\",\n                \"visitorId\": \"visitorId0\",\n                \"sessionId\": \"sessionId1\"\n            }\n        },\n        {\n            \"cursor\": \"MjAyNC0wNi0wM1QxMzoxNjoyNi41MTdaLDAxOTBkOWYxLTQ2OTUtNzc2Yi1iNmIyLTRjN2I3NGUwYWQyOQ==\",\n            \"node\": {\n                \"id\": \"0190d9f1-4695-776b-b6b2-4c7b74e0ad29\",\n                \"token\": \"P19QiBW+Qn5lczgfdXAmy7kSwASb09TSBsLKiAzeH651CtPqk+7Y31ftntNATByyhg0=\",\n                \"customerId\": \"c415a474-be24-11eb-8529-0242ac130003\",\n                \"projectId\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d\",\n                \"siteKey\": \"e610df2f-2ab3-48b3-90a0-4502b10e1e98\",\n                \"serverKey\": \"ee6c6c65-b696-43a1-8ed1-624f67dc3fc8\",\n                \"referer\": \"\",\n                \"userAgent\": \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Safari/605.1.15\",\n                \"host\": \"127.0.0.1\",\n                \"requestMethod\": \"GET\",\n                \"requestUri\": \"/login\",\n                \"remoteAddr\": \"116.202.24.183\",\n                \"serverName\": \"localhost\",\n                \"remoteUser\": \"\",\n                \"serverPort\": 80,\n                \"requestInfo\": \"{\\\"request_uri\\\":\\\"\\\",\\\"request_method\\\":\\\"GET\\\",\\\"server_name\\\":\\\"\\\",\\\"remote_addr\\\":\\\"\\\",\\\"server_port\\\":0}\",\n                \"failedMessage\": \"isBot\",\n                \"failedChecks\": \"\",\n                \"customFields\": [\n                    \"1\",\n                    \"\",\n                    \"\"\n                ],\n                \"headers\": \"{}\",\n                \"createdAt\": \"1717420586517\",\n                \"realIp\": \"\",\n                \"country\": \"BLR\",\n                \"asn\": \"\",\n                \"isProtected\": false,\n                \"isBanByRule\": true,\n                \"realCountry\": \"\",\n                \"isBot\": false,\n                \"ruleId\": \"00000000-0000-0000-0000-000000000000\",\n                \"requestStatus\": \"DECLINED\",\n                \"visitorId\": \"visitorId7\",\n                \"sessionId\": \"sessionId1\"\n            }\n        },\n        {\n            \"cursor\": \"MjAyNC0wNi0wM1QxMzoxNjoyNi41MTdaLDAxOTBkOWYxLTQ2OTUtNzc2Yi1iNmVlLTdlOTMzNDI0ODQ4Yw==\",\n            \"node\": {\n                \"id\": \"0190d9f1-4695-776b-b6ee-7e933424848c\",\n                \"token\": \"P19QiBW+Qn5lczgfdXAmy7kSwASb09TSBsLKiAzeH651CtPqk+7Y31ftntNATByyhg0=\",\n                \"customerId\": \"d415a474-be24-11eb-8529-0242ac130003\",\n                \"projectId\": \"ead5d8e1-1b0b-4465-899e-3e882c51133b\",\n                \"siteKey\": \"ec095e98-07ca-4009-9b3a-b4703e5107d6\",\n                \"serverKey\": \"666f49f6-7678-494b-833d-85690d653ee8\",\n                \"referer\": \"\",\n                \"userAgent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36 OPR/76.0.4017.123\",\n                \"host\": \"127.0.0.1\",\n                \"requestMethod\": \"GET\",\n                \"requestUri\": \"/login\",\n                \"remoteAddr\": \"82.209.216.44\",\n                \"serverName\": \"localhost\",\n                \"remoteUser\": \"\",\n                \"serverPort\": 80,\n                \"requestInfo\": \"{\\\"request_uri\\\":\\\"\\\",\\\"request_method\\\":\\\"GET\\\",\\\"server_name\\\":\\\"\\\",\\\"remote_addr\\\":\\\"\\\",\\\"server_port\\\":0}\",\n                \"failedMessage\": \"\",\n                \"failedChecks\": \"\",\n                \"customFields\": [\n                    \"1\",\n                    \"\",\n                    \"\"\n                ],\n                \"headers\": \"{}\",\n                \"createdAt\": \"1717420586517\",\n                \"realIp\": \"\",\n                \"country\": \"BLR\",\n                \"asn\": \"\",\n                \"isProtected\": false,\n                \"isBanByRule\": true,\n                \"realCountry\": \"\",\n                \"isBot\": false,\n                \"ruleId\": \"00000000-0000-0000-0000-000000000000\",\n                \"requestStatus\": \"DECLINED\",\n                \"visitorId\": \"visitorId5\",\n                \"sessionId\": \"sessionId1\"\n            }\n        },\n        {\n            \"cursor\": \"MjAyNC0wNi0wM1QxMzoxNjoyNi41MThaLDAxOTBkOWYxLTQ2OTYtNzc3Ni1hMWU2LWIyY2U4NzQ1MGU3Mg==\",\n            \"node\": {\n                \"id\": \"0190d9f1-4696-7776-a1e6-b2ce87450e72\",\n                \"token\": \"P19QiBW+Qn5lczgfdXAmy7kSwASb09TSBsLKiAzeH651CtPqk+7Y31ftntNATByyhg0=\",\n                \"customerId\": \"d415a474-be24-11eb-8529-0242ac130003\",\n                \"projectId\": \"ead5d8e1-1b0b-4465-899e-3e882c51133b\",\n                \"siteKey\": \"ec095e98-07ca-4009-9b3a-b4703e5107d6\",\n                \"serverKey\": \"666f49f6-7678-494b-833d-85690d653ee8\",\n                \"referer\": \"\",\n                \"userAgent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36\",\n                \"host\": \"127.0.0.1\",\n                \"requestMethod\": \"GET\",\n                \"requestUri\": \"/register\",\n                \"remoteAddr\": \"82.209.216.44\",\n                \"serverName\": \"localhost\",\n                \"remoteUser\": \"\",\n                \"serverPort\": 80,\n                \"requestInfo\": \"{\\\"request_uri\\\":\\\"\\\",\\\"request_method\\\":\\\"GET\\\",\\\"server_name\\\":\\\"\\\",\\\"remote_addr\\\":\\\"\\\",\\\"server_port\\\":0}\",\n                \"failedMessage\": \"\",\n                \"failedChecks\": \"\",\n                \"customFields\": [\n                    \"1\",\n                    \"\",\n                    \"\"\n                ],\n                \"headers\": \"{}\",\n                \"createdAt\": \"1717420586518\",\n                \"realIp\": \"\",\n                \"country\": \"DEU\",\n                \"asn\": \"\",\n                \"isProtected\": false,\n                \"isBanByRule\": true,\n                \"realCountry\": \"\",\n                \"isBot\": false,\n                \"ruleId\": \"00000000-0000-0000-0000-000000000000\",\n                \"requestStatus\": \"DECLINED\",\n                \"visitorId\": \"visitorId1\",\n                \"sessionId\": \"sessionId2\"\n            }\n        },\n        {\n            \"cursor\": \"MjAyNC0wNi0wM1QxMzoxNjoyNi41MThaLDAxOTBkOWYxLTQ2OTYtNzc3Ni1hMjIyLTI5NmQzNzdjMjg1YQ==\",\n            \"node\": {\n                \"id\": \"0190d9f1-4696-7776-a222-296d377c285a\",\n                \"token\": \"P19QiBW+Qn5lczgfdXAmy7kSwASb09TSBsLKiAzeH651CtPqk+7Y31ftntNATByyhg0=\",\n                \"customerId\": \"c415a474-be24-11eb-8529-0242ac130003\",\n                \"projectId\": \"5c53992b-30b7-4ac0-99e6-b36492857f03\",\n                \"siteKey\": \"43de1194-80dc-466f-b027-01b552d0a7ed\",\n                \"serverKey\": \"446a046c-3b60-4694-b6ca-07c0e1dc76d5\",\n                \"referer\": \"\",\n                \"userAgent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36 OPR/76.0.4017.123\",\n                \"host\": \"127.0.0.1\",\n                \"requestMethod\": \"GET\",\n                \"requestUri\": \"/login\",\n                \"remoteAddr\": \"82.209.216.44\",\n                \"serverName\": \"localhost\",\n                \"remoteUser\": \"\",\n                \"serverPort\": 80,\n                \"requestInfo\": \"{\\\"request_uri\\\":\\\"\\\",\\\"request_method\\\":\\\"GET\\\",\\\"server_name\\\":\\\"\\\",\\\"remote_addr\\\":\\\"\\\",\\\"server_port\\\":0}\",\n                \"failedMessage\": \"isBot\",\n                \"failedChecks\": \"\",\n                \"customFields\": [\n                    \"1\",\n                    \"\",\n                    \"\"\n                ],\n                \"headers\": \"{}\",\n                \"createdAt\": \"1717420586518\",\n                \"realIp\": \"\",\n                \"country\": \"DEU\",\n                \"asn\": \"\",\n                \"isProtected\": false,\n                \"isBanByRule\": false,\n                \"realCountry\": \"\",\n                \"isBot\": false,\n                \"ruleId\": \"00000000-0000-0000-0000-000000000000\",\n                \"requestStatus\": \"ALLOWED\",\n                \"visitorId\": \"visitorId0\",\n                \"sessionId\": \"sessionId2\"\n            }\n        },\n        {\n            \"cursor\": \"MjAyNC0wNi0wM1QxMzoxNzoyNi41MTRaLDAxOTBkOWYxLTQ2OTItN2M2NC1iYTM3LTllYjIxYzE1MjY1Nw==\",\n            \"node\": {\n                \"id\": \"0190d9f1-4692-7c64-ba37-9eb21c152657\",\n                \"token\": \"P19QiBW+Qn5lczgfdXAmy7kSwASb09TSBsLKiAzeH651CtPqk+7Y31ftntNATByyhg0=\",\n                \"customerId\": \"c415a474-be24-11eb-8529-0242ac130003\",\n                \"projectId\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d\",\n                \"siteKey\": \"e610df2f-2ab3-48b3-90a0-4502b10e1e98\",\n                \"serverKey\": \"ee6c6c65-b696-43a1-8ed1-624f67dc3fc8\",\n                \"referer\": \"\",\n                \"userAgent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100101 Firefox/89.0\",\n                \"host\": \"127.0.0.1\",\n                \"requestMethod\": \"GET\",\n                \"requestUri\": \"/login\",\n                \"remoteAddr\": \"104.28.247.47\",\n                \"serverName\": \"localhost\",\n                \"remoteUser\": \"\",\n                \"serverPort\": 80,\n                \"requestInfo\": \"{\\\"request_uri\\\":\\\"\\\",\\\"request_method\\\":\\\"GET\\\",\\\"server_name\\\":\\\"\\\",\\\"remote_addr\\\":\\\"\\\",\\\"server_port\\\":0}\",\n                \"failedMessage\": \"isBot\",\n                \"failedChecks\": \"\",\n                \"customFields\": [\n                    \"1\",\n                    \"\",\n                    \"\"\n                ],\n                \"headers\": \"{}\",\n                \"createdAt\": \"1717420646514\",\n                \"realIp\": \"\",\n                \"country\": \"DEU\",\n                \"asn\": \"\",\n                \"isProtected\": false,\n                \"isBanByRule\": true,\n                \"realCountry\": \"\",\n                \"isBot\": false,\n                \"ruleId\": \"00000000-0000-0000-0000-000000000000\",\n                \"requestStatus\": \"DECLINED\",\n                \"visitorId\": \"visitorId2\",\n                \"sessionId\": \"sessionId2\"\n            }\n        },\n        {\n            \"cursor\": \"MjAyNC0wNi0wM1QxMzoxNzoyNi41MTVaLDAxOTBkOWYxLTQ2OTMtN2Y3MS1iMDQwLWYyNmQwNjQ4MjYzYw==\",\n            \"node\": {\n                \"id\": \"0190d9f1-4693-7f71-b040-f26d0648263c\",\n                \"token\": \"P19QiBW+Qn5lczgfdXAmy7kSwASb09TSBsLKiAzeH651CtPqk+7Y31ftntNATByyhg0=\",\n                \"customerId\": \"c415a474-be24-11eb-8529-0242ac130003\",\n                \"projectId\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d\",\n                \"siteKey\": \"e610df2f-2ab3-48b3-90a0-4502b10e1e98\",\n                \"serverKey\": \"ee6c6c65-b696-43a1-8ed1-624f67dc3fc8\",\n                \"referer\": \"\",\n                \"userAgent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36\",\n                \"host\": \"127.0.0.1\",\n                \"requestMethod\": \"GET\",\n                \"requestUri\": \"/book\",\n                \"remoteAddr\": \"116.202.24.183\",\n                \"serverName\": \"localhost\",\n                \"remoteUser\": \"\",\n                \"serverPort\": 80,\n                \"requestInfo\": \"{\\\"request_uri\\\":\\\"\\\",\\\"request_method\\\":\\\"GET\\\",\\\"server_name\\\":\\\"\\\",\\\"remote_addr\\\":\\\"\\\",\\\"server_port\\\":0}\",\n                \"failedMessage\": \"\",\n                \"failedChecks\": \"\",\n                \"customFields\": [\n                    \"1\",\n                    \"\",\n                    \"\"\n                ],\n                \"headers\": \"{}\",\n                \"createdAt\": \"1717420646515\",\n                \"realIp\": \"\",\n                \"country\": \"USA\",\n                \"asn\": \"\",\n                \"isProtected\": false,\n                \"isBanByRule\": true,\n                \"realCountry\": \"\",\n                \"isBot\": false,\n                \"ruleId\": \"00000000-0000-0000-0000-000000000000\",\n                \"requestStatus\": \"DECLINED\",\n                \"visitorId\": \"visitorId5\",\n                \"sessionId\": \"sessionId2\"\n            }\n        },\n        {\n            \"cursor\": \"MjAyNC0wNi0wM1QxMzoxNzoyNi41MTVaLDAxOTBkOWYxLTQ2OTMtN2Y3MS1iMDdjLTk5MjhkMGIyM2M3MA==\",\n            \"node\": {\n                \"id\": \"0190d9f1-4693-7f71-b07c-9928d0b23c70\",\n                \"token\": \"P19QiBW+Qn5lczgfdXAmy7kSwASb09TSBsLKiAzeH651CtPqk+7Y31ftntNATByyhg0=\",\n                \"customerId\": \"d415a474-be24-11eb-8529-0242ac130003\",\n                \"projectId\": \"ead5d8e1-1b0b-4465-899e-3e882c51133b\",\n                \"siteKey\": \"ec095e98-07ca-4009-9b3a-b4703e5107d6\",\n                \"serverKey\": \"666f49f6-7678-494b-833d-85690d653ee8\",\n                \"referer\": \"\",\n                \"userAgent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36 OPR/76.0.4017.123\",\n                \"host\": \"127.0.0.1\",\n                \"requestMethod\": \"GET\",\n                \"requestUri\": \"/register\",\n                \"remoteAddr\": \"82.209.216.44\",\n                \"serverName\": \"localhost\",\n                \"remoteUser\": \"\",\n                \"serverPort\": 80,\n                \"requestInfo\": \"{\\\"request_uri\\\":\\\"\\\",\\\"request_method\\\":\\\"GET\\\",\\\"server_name\\\":\\\"\\\",\\\"remote_addr\\\":\\\"\\\",\\\"server_port\\\":0}\",\n                \"failedMessage\": \"\",\n                \"failedChecks\": \"\",\n                \"customFields\": [\n                    \"1\",\n                    \"\",\n                    \"\"\n                ],\n                \"headers\": \"{}\",\n                \"createdAt\": \"1717420646515\",\n                \"realIp\": \"\",\n                \"country\": \"USA\",\n                \"asn\": \"\",\n                \"isProtected\": false,\n                \"isBanByRule\": true,\n                \"realCountry\": \"\",\n                \"isBot\": false,\n                \"ruleId\": \"00000000-0000-0000-0000-000000000000\",\n                \"requestStatus\": \"DECLINED\",\n                \"visitorId\": \"visitorId1\",\n                \"sessionId\": \"sessionId1\"\n            }\n        },\n        {\n            \"cursor\": \"MjAyNC0wNi0wM1QxMzoxNzoyNi41MTVaLDAxOTBkOWYxLTQ2OTMtN2Y3MS1iMGI4LWRlNWFhZmZhMTViNw==\",\n            \"node\": {\n                \"id\": \"0190d9f1-4693-7f71-b0b8-de5aaffa15b7\",\n                \"token\": \"P19QiBW+Qn5lczgfdXAmy7kSwASb09TSBsLKiAzeH651CtPqk+7Y31ftntNATByyhg0=\",\n                \"customerId\": \"d415a474-be24-11eb-8529-0242ac130003\",\n                \"projectId\": \"ead5d8e1-1b0b-4465-899e-3e882c51133b\",\n                \"siteKey\": \"ec095e98-07ca-4009-9b3a-b4703e5107d6\",\n                \"serverKey\": \"666f49f6-7678-494b-833d-85690d653ee8\",\n                \"referer\": \"\",\n                \"userAgent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36 OPR/76.0.4017.123\",\n                \"host\": \"127.0.0.1\",\n                \"requestMethod\": \"GET\",\n                \"requestUri\": \"/login\",\n                \"remoteAddr\": \"104.28.247.47\",\n                \"serverName\": \"localhost\",\n                \"remoteUser\": \"\",\n                \"serverPort\": 80,\n                \"requestInfo\": \"{\\\"request_uri\\\":\\\"\\\",\\\"request_method\\\":\\\"GET\\\",\\\"server_name\\\":\\\"\\\",\\\"remote_addr\\\":\\\"\\\",\\\"server_port\\\":0}\",\n                \"failedMessage\": \"\",\n                \"failedChecks\": \"\",\n                \"customFields\": [\n                    \"1\",\n                    \"\",\n                    \"\"\n                ],\n                \"headers\": \"{}\",\n                \"createdAt\": \"1717420646515\",\n                \"realIp\": \"\",\n                \"country\": \"DEU\",\n                \"asn\": \"\",\n                \"isProtected\": false,\n                \"isBanByRule\": true,\n                \"realCountry\": \"\",\n                \"isBot\": false,\n                \"ruleId\": \"00000000-0000-0000-0000-000000000000\",\n                \"requestStatus\": \"DECLINED\",\n                \"visitorId\": \"visitorId2\",\n                \"sessionId\": \"sessionId0\"\n            }\n        },\n        {\n            \"cursor\": \"MjAyNC0wNi0wM1QxMzoxNzoyNi41MTZaLDAxOTBkOWYxLTQ2OTQtN2FhNi04MTU4LTZmNzNkNTNlYzk0Yw==\",\n            \"node\": {\n                \"id\": \"0190d9f1-4694-7aa6-8158-6f73d53ec94c\",\n                \"token\": \"P19QiBW+Qn5lczgfdXAmy7kSwASb09TSBsLKiAzeH651CtPqk+7Y31ftntNATByyhg0=\",\n                \"customerId\": \"c415a474-be24-11eb-8529-0242ac130003\",\n                \"projectId\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d\",\n                \"siteKey\": \"e610df2f-2ab3-48b3-90a0-4502b10e1e98\",\n                \"serverKey\": \"ee6c6c65-b696-43a1-8ed1-624f67dc3fc8\",\n                \"referer\": \"\",\n                \"userAgent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100101 Firefox/89.0\",\n                \"host\": \"127.0.0.1\",\n                \"requestMethod\": \"GET\",\n                \"requestUri\": \"/register\",\n                \"remoteAddr\": \"116.202.24.183\",\n                \"serverName\": \"localhost\",\n                \"remoteUser\": \"\",\n                \"serverPort\": 80,\n                \"requestInfo\": \"{\\\"request_uri\\\":\\\"\\\",\\\"request_method\\\":\\\"GET\\\",\\\"server_name\\\":\\\"\\\",\\\"remote_addr\\\":\\\"\\\",\\\"server_port\\\":0}\",\n                \"failedMessage\": \"isBot\",\n                \"failedChecks\": \"\",\n                \"customFields\": [\n                    \"1\",\n                    \"\",\n                    \"\"\n                ],\n                \"headers\": \"{}\",\n                \"createdAt\": \"1717420646516\",\n                \"realIp\": \"\",\n                \"country\": \"USA\",\n                \"asn\": \"\",\n                \"isProtected\": false,\n                \"isBanByRule\": false,\n                \"realCountry\": \"\",\n                \"isBot\": false,\n                \"ruleId\": \"00000000-0000-0000-0000-000000000000\",\n                \"requestStatus\": \"ALLOWED\",\n                \"visitorId\": \"visitorId0\",\n                \"sessionId\": \"sessionId1\"\n            }\n        },\n        {\n            \"cursor\": \"MjAyNC0wNi0wM1QxMzoxNzoyNi41MTZaLDAxOTBkOWYxLTQ2OTQtN2FhNi04MTk0LTE1Njg1NGE1ZThiYg==\",\n            \"node\": {\n                \"id\": \"0190d9f1-4694-7aa6-8194-156854a5e8bb\",\n                \"token\": \"P19QiBW+Qn5lczgfdXAmy7kSwASb09TSBsLKiAzeH651CtPqk+7Y31ftntNATByyhg0=\",\n                \"customerId\": \"c415a474-be24-11eb-8529-0242ac130003\",\n                \"projectId\": \"5c53992b-30b7-4ac0-99e6-b36492857f03\",\n                \"siteKey\": \"43de1194-80dc-466f-b027-01b552d0a7ed\",\n                \"serverKey\": \"446a046c-3b60-4694-b6ca-07c0e1dc76d5\",\n                \"referer\": \"\",\n                \"userAgent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100101 Firefox/89.0\",\n                \"host\": \"127.0.0.1\",\n                \"requestMethod\": \"GET\",\n                \"requestUri\": \"/protect\",\n                \"remoteAddr\": \"82.209.216.44\",\n                \"serverName\": \"localhost\",\n                \"remoteUser\": \"\",\n                \"serverPort\": 80,\n                \"requestInfo\": \"{\\\"request_uri\\\":\\\"\\\",\\\"request_method\\\":\\\"GET\\\",\\\"server_name\\\":\\\"\\\",\\\"remote_addr\\\":\\\"\\\",\\\"server_port\\\":0}\",\n                \"failedMessage\": \"\",\n                \"failedChecks\": \"\",\n                \"customFields\": [\n                    \"1\",\n                    \"\",\n                    \"\"\n                ],\n                \"headers\": \"{}\",\n                \"createdAt\": \"1717420646516\",\n                \"realIp\": \"\",\n                \"country\": \"BLR\",\n                \"asn\": \"\",\n                \"isProtected\": false,\n                \"isBanByRule\": false,\n                \"realCountry\": \"\",\n                \"isBot\": false,\n                \"ruleId\": \"00000000-0000-0000-0000-000000000000\",\n                \"requestStatus\": \"ALLOWED\",\n                \"visitorId\": \"visitorId6\",\n                \"sessionId\": \"sessionId0\"\n            }\n        },\n        {\n            \"cursor\": \"MjAyNC0wNi0wM1QxMzoxNzoyNi41MTdaLDAxOTBkOWYxLTQ2OTUtNzc2Yi1iNWZmLTNmYTBlMjc3NzI0MA==\",\n            \"node\": {\n                \"id\": \"0190d9f1-4695-776b-b5ff-3fa0e2777240\",\n                \"token\": \"P19QiBW+Qn5lczgfdXAmy7kSwASb09TSBsLKiAzeH651CtPqk+7Y31ftntNATByyhg0=\",\n                \"customerId\": \"d415a474-be24-11eb-8529-0242ac130003\",\n                \"projectId\": \"ead5d8e1-1b0b-4465-899e-3e882c51133b\",\n                \"siteKey\": \"ec095e98-07ca-4009-9b3a-b4703e5107d6\",\n                \"serverKey\": \"666f49f6-7678-494b-833d-85690d653ee8\",\n                \"referer\": \"\",\n                \"userAgent\": \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Safari/605.1.15\",\n                \"host\": \"127.0.0.1\",\n                \"requestMethod\": \"GET\",\n                \"requestUri\": \"/login\",\n                \"remoteAddr\": \"104.28.247.47\",\n                \"serverName\": \"localhost\",\n                \"remoteUser\": \"\",\n                \"serverPort\": 80,\n                \"requestInfo\": \"{\\\"request_uri\\\":\\\"\\\",\\\"request_method\\\":\\\"GET\\\",\\\"server_name\\\":\\\"\\\",\\\"remote_addr\\\":\\\"\\\",\\\"server_port\\\":0}\",\n                \"failedMessage\": \"\",\n                \"failedChecks\": \"\",\n                \"customFields\": [\n                    \"1\",\n                    \"\",\n                    \"\"\n                ],\n                \"headers\": \"{}\",\n                \"createdAt\": \"1717420646517\",\n                \"realIp\": \"\",\n                \"country\": \"BLR\",\n                \"asn\": \"\",\n                \"isProtected\": false,\n                \"isBanByRule\": true,\n                \"realCountry\": \"\",\n                \"isBot\": false,\n                \"ruleId\": \"00000000-0000-0000-0000-000000000000\",\n                \"requestStatus\": \"DECLINED\",\n                \"visitorId\": \"visitorId8\",\n                \"sessionId\": \"sessionId0\"\n            }\n        }\n    ],\n    \"pageInfo\": {\n        \"hasPreviousPage\": false,\n        \"hasNextPage\": true,\n        \"startCursor\": \"MjAyNC0wNi0wM1QxMzoxNjoyNi41MTNaLDAxOTBkOWYxLTQ2OTEtNzIyYy1hNzlmLWQ5ZmQ0NmJmMDY1YQ==\",\n        \"endCursor\": \"MjAyNC0wNi0wM1QxMzoxNzoyNi41MTdaLDAxOTBkOWYxLTQ2OTUtNzc2Yi1iNWZmLTNmYTBlMjc3NzI0MA==\",\n        \"total\": 14914120\n    },\n    \"attributes\": {}\n}"},{"id":"c16e20aa-28f4-4e4d-b4a9-cb09acb8c3a6","name":"fail","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}2/requests","host":["https://api.botbye.com"],"path":["api","v1","{account_id}","projects","{project_id}2","requests"],"query":[{"key":"cursor","value":null,"type":"text","disabled":true},{"key":"where","value":null,"type":"text","disabled":true},{"key":"order_by","value":null,"type":"text","disabled":true}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"185"},{"key":"Content-Type","value":"application/json"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"message\": \"Invalid path param 'project_id'. Should be type of 'UUID'.\",\n        \"code\": \"protectionapifacade.invalidPathParam\",\n        \"type\": \"SHOWABLE\",\n        \"context\": {\n            \"param\": \"project_id\",\n            \"type\": \"UUID\"\n        }\n    }\n]"},{"id":"a182d40f-d8d8-4445-b08c-3dd2d3d9af90","name":"cursor + limit","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/requests?cursor=%7B%22after%22%3A%20%22MjAyNC0wNi0wM1QxMzoxNzoyNi41MTZaLDAxOTBkOWYxLTQ2OTQtN2FhNi04MTk0LTE1Njg1NGE1ZThiYg%3D%3D%22%7D&limit=2","host":["https://api.botbye.com"],"path":["api","v1","{account_id}","projects","{project_id}","requests"],"query":[{"key":"cursor","value":"%7B%22after%22%3A%20%22MjAyNC0wNi0wM1QxMzoxNzoyNi41MTZaLDAxOTBkOWYxLTQ2OTQtN2FhNi04MTk0LTE1Njg1NGE1ZThiYg%3D%3D%22%7D","type":"text","description":"(Optional): a cursor for pagination.\n\t - `after` (string): Pointer to the item after which the items are to be retrieved.\n\t - `before` (string): Pointer to the item before which the items are to be retrieved."},{"key":"where","value":"","type":"text","description":"(Optional): is used to create conditions for data filtering. It can be used to create simple conditions (leaf nodes) as well as compound logical expressions (branch nodes).\n\t- `predicate` (string): The filtering condition (e.g., `gte`, `lte`, `eq` for a leaf or `and`, `or` for a branch). Possible values [[#Predicate]]\n\t- `opearands` (string): A list of nested conditions (used only for branches, such as `and`, `or`).\n\t- `fieldPath` (string): The field to which the filtering condition is applied (used only for a leaf. Each entity has its own fieldPath list).\n\t- `value` (string): The value to compare against the field (used only for a leaf).","disabled":true},{"key":"order_by","value":"","type":"text","description":"(Optional): property by which to order by.\n\t- `fieldPath` (string): name of order field.\n\t- `direction` (string): `ASC` or `DESC`","disabled":true},{"key":"limit","value":"2","description":"(Optional): specifies the maximum number of results to return in a single response. By default - 20, max - 100."}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"2701"},{"key":"Content-Type","value":"application/json"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"edges\": [\n        {\n            \"cursor\": \"MjAyNC0wNi0wM1QxMzoxNzoyNi41MTdaLDAxOTBkOWYxLTQ2OTUtNzc2Yi1iNWZmLTNmYTBlMjc3NzI0MA==\",\n            \"node\": {\n                \"id\": \"0190d9f1-4695-776b-b5ff-3fa0e2777240\",\n                \"token\": \"P19QiBW+Qn5lczgfdXAmy7kSwASb09TSBsLKiAzeH651CtPqk+7Y31ftntNATByyhg0=\",\n                \"customerId\": \"d415a474-be24-11eb-8529-0242ac130003\",\n                \"projectId\": \"ead5d8e1-1b0b-4465-899e-3e882c51133b\",\n                \"siteKey\": \"ec095e98-07ca-4009-9b3a-b4703e5107d6\",\n                \"serverKey\": \"666f49f6-7678-494b-833d-85690d653ee8\",\n                \"referer\": \"\",\n                \"userAgent\": \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Safari/605.1.15\",\n                \"host\": \"127.0.0.1\",\n                \"requestMethod\": \"GET\",\n                \"requestUri\": \"/login\",\n                \"remoteAddr\": \"104.28.247.47\",\n                \"serverName\": \"localhost\",\n                \"remoteUser\": \"\",\n                \"serverPort\": 80,\n                \"requestInfo\": \"{\\\"request_uri\\\":\\\"\\\",\\\"request_method\\\":\\\"GET\\\",\\\"server_name\\\":\\\"\\\",\\\"remote_addr\\\":\\\"\\\",\\\"server_port\\\":0}\",\n                \"failedMessage\": \"\",\n                \"failedChecks\": \"\",\n                \"customFields\": [\n                    \"1\",\n                    \"\",\n                    \"\"\n                ],\n                \"headers\": \"{}\",\n                \"createdAt\": \"1717420646517\",\n                \"realIp\": \"\",\n                \"country\": \"BLR\",\n                \"asn\": \"\",\n                \"isProtected\": false,\n                \"isBanByRule\": true,\n                \"realCountry\": \"\",\n                \"isBot\": false,\n                \"ruleId\": \"00000000-0000-0000-0000-000000000000\",\n                \"requestStatus\": \"DECLINED\",\n                \"visitorId\": \"visitorId8\",\n                \"sessionId\": \"sessionId0\"\n            }\n        },\n        {\n            \"cursor\": \"MjAyNC0wNi0wM1QxMzoxNzoyNi41MTdaLDAxOTBkOWYxLTQ2OTUtNzc2Yi1iNjNiLTVhODExY2NkYTFiYQ==\",\n            \"node\": {\n                \"id\": \"0190d9f1-4695-776b-b63b-5a811ccda1ba\",\n                \"token\": \"P19QiBW+Qn5lczgfdXAmy7kSwASb09TSBsLKiAzeH651CtPqk+7Y31ftntNATByyhg0=\",\n                \"customerId\": \"c415a474-be24-11eb-8529-0242ac130003\",\n                \"projectId\": \"5c53992b-30b7-4ac0-99e6-b36492857f03\",\n                \"siteKey\": \"43de1194-80dc-466f-b027-01b552d0a7ed\",\n                \"serverKey\": \"446a046c-3b60-4694-b6ca-07c0e1dc76d5\",\n                \"referer\": \"\",\n                \"userAgent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36 OPR/76.0.4017.123\",\n                \"host\": \"127.0.0.1\",\n                \"requestMethod\": \"GET\",\n                \"requestUri\": \"/login\",\n                \"remoteAddr\": \"104.28.247.47\",\n                \"serverName\": \"localhost\",\n                \"remoteUser\": \"\",\n                \"serverPort\": 80,\n                \"requestInfo\": \"{\\\"request_uri\\\":\\\"\\\",\\\"request_method\\\":\\\"GET\\\",\\\"server_name\\\":\\\"\\\",\\\"remote_addr\\\":\\\"\\\",\\\"server_port\\\":0}\",\n                \"failedMessage\": \"\",\n                \"failedChecks\": \"\",\n                \"customFields\": [\n                    \"1\",\n                    \"\",\n                    \"\"\n                ],\n                \"headers\": \"{}\",\n                \"createdAt\": \"1717420646517\",\n                \"realIp\": \"\",\n                \"country\": \"BLR\",\n                \"asn\": \"\",\n                \"isProtected\": false,\n                \"isBanByRule\": false,\n                \"realCountry\": \"\",\n                \"isBot\": false,\n                \"ruleId\": \"00000000-0000-0000-0000-000000000000\",\n                \"requestStatus\": \"ALLOWED\",\n                \"visitorId\": \"visitorId6\",\n                \"sessionId\": \"sessionId0\"\n            }\n        }\n    ],\n    \"pageInfo\": {\n        \"hasPreviousPage\": true,\n        \"hasNextPage\": true,\n        \"startCursor\": \"MjAyNC0wNi0wM1QxMzoxNzoyNi41MTdaLDAxOTBkOWYxLTQ2OTUtNzc2Yi1iNWZmLTNmYTBlMjc3NzI0MA==\",\n        \"endCursor\": \"MjAyNC0wNi0wM1QxMzoxNzoyNi41MTdaLDAxOTBkOWYxLTQ2OTUtNzc2Yi1iNjNiLTVhODExY2NkYTFiYQ==\",\n        \"total\": 15646980\n    },\n    \"attributes\": {}\n}"},{"id":"824d9092-ecc5-4068-b88a-7b0998c390e1","name":"where country = DEU and ip eq 104.28.247.47","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/requests?where=%7B%22operands%22%3A%5B%7B%22fieldPath%22%3A%22country%22%2C%22predicate%22%3A%22eq%22%2C%22value%22%3A%22DEU%22%7D%2C%7B%22fieldPath%22%3A%22remote_addr%22%2C%22predicate%22%3A%22eq%22%2C%22value%22%3A%22104.28.247.47%22%7D%5D%2C%22predicate%22%3A%22and%22%7D&limit=2","host":["https://api.botbye.com"],"path":["api","v1","{account_id}","projects","{project_id}","requests"],"query":[{"key":"cursor","value":"","type":"text","description":"(Optional): a cursor for pagination.\n\t - `after` (string): Pointer to the item after which the items are to be retrieved.\n\t - `before` (string): Pointer to the item before which the items are to be retrieved.","disabled":true},{"key":"where","value":"%7B%22operands%22%3A%5B%7B%22fieldPath%22%3A%22country%22%2C%22predicate%22%3A%22eq%22%2C%22value%22%3A%22DEU%22%7D%2C%7B%22fieldPath%22%3A%22remote_addr%22%2C%22predicate%22%3A%22eq%22%2C%22value%22%3A%22104.28.247.47%22%7D%5D%2C%22predicate%22%3A%22and%22%7D","description":"(Optional): is used to create conditions for data filtering. It can be used to create simple conditions (leaf nodes) as well as compound logical expressions (branch nodes).\n\t- `predicate` (string): The filtering condition (e.g., `gte`, `lte`, `eq` for a leaf or `and`, `or` for a branch). Possible values [[#Predicate]]\n\t- `opearands` (string): A list of nested conditions (used only for branches, such as `and`, `or`).\n\t- `fieldPath` (string): The field to which the filtering condition is applied (used only for a leaf. Each entity has its own fieldPath list).\n\t- `value` (string): The value to compare against the field (used only for a leaf)."},{"key":"order_by","value":"","type":"text","description":"(Optional): property by which to order by.\n\t- `fieldPath` (string): name of order field.\n\t- `direction` (string): `ASC` or `DESC`","disabled":true},{"key":"limit","value":"2","description":"(Optional): specifies the maximum number of results to return in a single response. By default - 20, max - 100."}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"24309"},{"key":"Content-Type","value":"application/json"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"edges\": [\n        {\n            \"cursor\": \"MjAyNC0wNi0wM1QxMzoxNjoyNi41MTNaLDAxOTBkOWYxLTQ2OTEtNzIyYy1hNzlmLWQ5ZmQ0NmJmMDY1YQ==\",\n            \"node\": {\n                \"id\": \"0190d9f1-4691-722c-a79f-d9fd46bf065a\",\n                \"token\": \"P19QiBW+Qn5lczgfdXAmy7kSwASb09TSBsLKiAzeH651CtPqk+7Y31ftntNATByyhg0=\",\n                \"customerId\": \"c415a474-be24-11eb-8529-0242ac130003\",\n                \"projectId\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d\",\n                \"siteKey\": \"e610df2f-2ab3-48b3-90a0-4502b10e1e98\",\n                \"serverKey\": \"ee6c6c65-b696-43a1-8ed1-624f67dc3fc8\",\n                \"referer\": \"\",\n                \"userAgent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36 OPR/76.0.4017.123\",\n                \"host\": \"127.0.0.1\",\n                \"requestMethod\": \"GET\",\n                \"requestUri\": \"/register\",\n                \"remoteAddr\": \"104.28.247.47\",\n                \"serverName\": \"localhost\",\n                \"remoteUser\": \"\",\n                \"serverPort\": 80,\n                \"requestInfo\": \"{\\\"request_uri\\\":\\\"\\\",\\\"request_method\\\":\\\"GET\\\",\\\"server_name\\\":\\\"\\\",\\\"remote_addr\\\":\\\"\\\",\\\"server_port\\\":0}\",\n                \"failedMessage\": \"isBot\",\n                \"failedChecks\": \"\",\n                \"customFields\": [\n                    \"1\",\n                    \"\",\n                    \"\"\n                ],\n                \"headers\": \"{}\",\n                \"createdAt\": \"1717420586513\",\n                \"realIp\": \"\",\n                \"country\": \"DEU\",\n                \"asn\": \"\",\n                \"isProtected\": false,\n                \"isBanByRule\": true,\n                \"realCountry\": \"\",\n                \"isBot\": false,\n                \"ruleId\": \"00000000-0000-0000-0000-000000000000\",\n                \"requestStatus\": \"DECLINED\",\n                \"visitorId\": \"visitorId8\",\n                \"sessionId\": \"sessionId2\"\n            }\n        },\n        {\n            \"cursor\": \"MjAyNC0wNi0wM1QxMzoxNzoyNi41MTRaLDAxOTBkOWYxLTQ2OTItN2M2NC1iYTM3LTllYjIxYzE1MjY1Nw==\",\n            \"node\": {\n                \"id\": \"0190d9f1-4692-7c64-ba37-9eb21c152657\",\n                \"token\": \"P19QiBW+Qn5lczgfdXAmy7kSwASb09TSBsLKiAzeH651CtPqk+7Y31ftntNATByyhg0=\",\n                \"customerId\": \"c415a474-be24-11eb-8529-0242ac130003\",\n                \"projectId\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d\",\n                \"siteKey\": \"e610df2f-2ab3-48b3-90a0-4502b10e1e98\",\n                \"serverKey\": \"ee6c6c65-b696-43a1-8ed1-624f67dc3fc8\",\n                \"referer\": \"\",\n                \"userAgent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100101 Firefox/89.0\",\n                \"host\": \"127.0.0.1\",\n                \"requestMethod\": \"GET\",\n                \"requestUri\": \"/login\",\n                \"remoteAddr\": \"104.28.247.47\",\n                \"serverName\": \"localhost\",\n                \"remoteUser\": \"\",\n                \"serverPort\": 80,\n                \"requestInfo\": \"{\\\"request_uri\\\":\\\"\\\",\\\"request_method\\\":\\\"GET\\\",\\\"server_name\\\":\\\"\\\",\\\"remote_addr\\\":\\\"\\\",\\\"server_port\\\":0}\",\n                \"failedMessage\": \"isBot\",\n                \"failedChecks\": \"\",\n                \"customFields\": [\n                    \"1\",\n                    \"\",\n                    \"\"\n                ],\n                \"headers\": \"{}\",\n                \"createdAt\": \"1717420646514\",\n                \"realIp\": \"\",\n                \"country\": \"DEU\",\n                \"asn\": \"\",\n                \"isProtected\": false,\n                \"isBanByRule\": true,\n                \"realCountry\": \"\",\n                \"isBot\": false,\n                \"ruleId\": \"00000000-0000-0000-0000-000000000000\",\n                \"requestStatus\": \"DECLINED\",\n                \"visitorId\": \"visitorId2\",\n                \"sessionId\": \"sessionId2\"\n            }\n        }\n    ],\n    \"pageInfo\": {\n        \"hasPreviousPage\": false,\n        \"hasNextPage\": true,\n        \"startCursor\": \"MjAyNC0wNi0wM1QxMzoxNjoyNi41MTNaLDAxOTBkOWYxLTQ2OTEtNzIyYy1hNzlmLWQ5ZmQ0NmJmMDY1YQ==\",\n        \"endCursor\": \"MjAyNC0wNi0wM1QxMzoxNzoyNi41MTRaLDAxOTBkOWYxLTQ2OTItN2M2NC1iYTM3LTllYjIxYzE1MjY1Nw==\",\n        \"total\": 1156225\n    },\n    \"attributes\": {}\n}"},{"id":"3da0e97c-2cc7-47a6-aa85-1c4be4c22da5","name":"where country = DEU and ip in list","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/requests?where=%7B%22operands%22%3A%5B%7B%22fieldPath%22%3A%22country%22%2C%22predicate%22%3A%22eq%22%2C%22value%22%3A%22DEU%22%7D%2C%7B%22fieldPath%22%3A%22remote_addr%22%2C%22predicate%22%3A%22in%22%2C%22value%22%3A%22%5B'104.28.247.47'%2C'116.202.24.183'%5D%22%7D%5D%2C%22predicate%22%3A%22and%22%7D&limit=2","host":["https://api.botbye.com"],"path":["api","v1","{account_id}","projects","{project_id}","requests"],"query":[{"key":"cursor","value":"","type":"text","description":"(Optional): a cursor for pagination.\n\t - `after` (string): Pointer to the item after which the items are to be retrieved.\n\t - `before` (string): Pointer to the item before which the items are to be retrieved.","disabled":true},{"key":"where","value":"%7B%22operands%22%3A%5B%7B%22fieldPath%22%3A%22country%22%2C%22predicate%22%3A%22eq%22%2C%22value%22%3A%22DEU%22%7D%2C%7B%22fieldPath%22%3A%22remote_addr%22%2C%22predicate%22%3A%22in%22%2C%22value%22%3A%22%5B'104.28.247.47'%2C'116.202.24.183'%5D%22%7D%5D%2C%22predicate%22%3A%22and%22%7D","type":"text","description":"(Optional): is used to create conditions for data filtering. It can be used to create simple conditions (leaf nodes) as well as compound logical expressions (branch nodes).\n\t- `predicate` (string): The filtering condition (e.g., `gte`, `lte`, `eq` for a leaf or `and`, `or` for a branch). Possible values [[#Predicate]]\n\t- `opearands` (string): A list of nested conditions (used only for branches, such as `and`, `or`).\n\t- `fieldPath` (string): The field to which the filtering condition is applied (used only for a leaf. Each entity has its own fieldPath list).\n\t- `value` (string): The value to compare against the field (used only for a leaf)."},{"key":"order_by","value":"","type":"text","description":"(Optional): property by which to order by.\n\t- `fieldPath` (string): name of order field.\n\t- `direction` (string): `ASC` or `DESC`","disabled":true},{"key":"limit","value":"2","description":"(Optional): specifies the maximum number of results to return in a single response. By default - 20, max - 100."}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"2673"},{"key":"Content-Type","value":"application/json"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"edges\": [\n        {\n            \"cursor\": \"MjAyNC0wNi0wM1QxMzoxNjoyNi41MTNaLDAxOTBkOWYxLTQ2OTEtNzIyYy1hNzlmLWQ5ZmQ0NmJmMDY1YQ==\",\n            \"node\": {\n                \"id\": \"0190d9f1-4691-722c-a79f-d9fd46bf065a\",\n                \"token\": \"P19QiBW+Qn5lczgfdXAmy7kSwASb09TSBsLKiAzeH651CtPqk+7Y31ftntNATByyhg0=\",\n                \"customerId\": \"c415a474-be24-11eb-8529-0242ac130003\",\n                \"projectId\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d\",\n                \"siteKey\": \"e610df2f-2ab3-48b3-90a0-4502b10e1e98\",\n                \"serverKey\": \"ee6c6c65-b696-43a1-8ed1-624f67dc3fc8\",\n                \"referer\": \"\",\n                \"userAgent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36 OPR/76.0.4017.123\",\n                \"host\": \"127.0.0.1\",\n                \"requestMethod\": \"GET\",\n                \"requestUri\": \"/register\",\n                \"remoteAddr\": \"104.28.247.47\",\n                \"serverName\": \"localhost\",\n                \"remoteUser\": \"\",\n                \"serverPort\": 80,\n                \"requestInfo\": \"{\\\"request_uri\\\":\\\"\\\",\\\"request_method\\\":\\\"GET\\\",\\\"server_name\\\":\\\"\\\",\\\"remote_addr\\\":\\\"\\\",\\\"server_port\\\":0}\",\n                \"failedMessage\": \"isBot\",\n                \"failedChecks\": \"\",\n                \"customFields\": [\n                    \"1\",\n                    \"\",\n                    \"\"\n                ],\n                \"headers\": \"{}\",\n                \"createdAt\": \"1717420586513\",\n                \"realIp\": \"\",\n                \"country\": \"DEU\",\n                \"asn\": \"\",\n                \"isProtected\": false,\n                \"isBanByRule\": true,\n                \"realCountry\": \"\",\n                \"isBot\": false,\n                \"ruleId\": \"00000000-0000-0000-0000-000000000000\",\n                \"requestStatus\": \"DECLINED\",\n                \"visitorId\": \"visitorId8\",\n                \"sessionId\": \"sessionId2\"\n            }\n        },\n        {\n            \"cursor\": \"MjAyNC0wNi0wM1QxMzoxNzoyNi41MTRaLDAxOTBkOWYxLTQ2OTItN2M2NC1iYTM3LTllYjIxYzE1MjY1Nw==\",\n            \"node\": {\n                \"id\": \"0190d9f1-4692-7c64-ba37-9eb21c152657\",\n                \"token\": \"P19QiBW+Qn5lczgfdXAmy7kSwASb09TSBsLKiAzeH651CtPqk+7Y31ftntNATByyhg0=\",\n                \"customerId\": \"c415a474-be24-11eb-8529-0242ac130003\",\n                \"projectId\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d\",\n                \"siteKey\": \"e610df2f-2ab3-48b3-90a0-4502b10e1e98\",\n                \"serverKey\": \"ee6c6c65-b696-43a1-8ed1-624f67dc3fc8\",\n                \"referer\": \"\",\n                \"userAgent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100101 Firefox/89.0\",\n                \"host\": \"127.0.0.1\",\n                \"requestMethod\": \"GET\",\n                \"requestUri\": \"/login\",\n                \"remoteAddr\": \"104.28.247.47\",\n                \"serverName\": \"localhost\",\n                \"remoteUser\": \"\",\n                \"serverPort\": 80,\n                \"requestInfo\": \"{\\\"request_uri\\\":\\\"\\\",\\\"request_method\\\":\\\"GET\\\",\\\"server_name\\\":\\\"\\\",\\\"remote_addr\\\":\\\"\\\",\\\"server_port\\\":0}\",\n                \"failedMessage\": \"isBot\",\n                \"failedChecks\": \"\",\n                \"customFields\": [\n                    \"1\",\n                    \"\",\n                    \"\"\n                ],\n                \"headers\": \"{}\",\n                \"createdAt\": \"1717420646514\",\n                \"realIp\": \"\",\n                \"country\": \"DEU\",\n                \"asn\": \"\",\n                \"isProtected\": false,\n                \"isBanByRule\": true,\n                \"realCountry\": \"\",\n                \"isBot\": false,\n                \"ruleId\": \"00000000-0000-0000-0000-000000000000\",\n                \"requestStatus\": \"DECLINED\",\n                \"visitorId\": \"visitorId2\",\n                \"sessionId\": \"sessionId2\"\n            }\n        }\n    ],\n    \"pageInfo\": {\n        \"hasPreviousPage\": false,\n        \"hasNextPage\": true,\n        \"startCursor\": \"MjAyNC0wNi0wM1QxMzoxNjoyNi41MTNaLDAxOTBkOWYxLTQ2OTEtNzIyYy1hNzlmLWQ5ZmQ0NmJmMDY1YQ==\",\n        \"endCursor\": \"MjAyNC0wNi0wM1QxMzoxNzoyNi41MTRaLDAxOTBkOWYxLTQ2OTItN2M2NC1iYTM3LTllYjIxYzE1MjY1Nw==\",\n        \"total\": 2313243\n    },\n    \"attributes\": {}\n}"}],"_postman_id":"329a1ae6-eb1a-498a-9b7b-ecb6e6403340"}],"id":"10714e5d-8572-4a0a-a3b2-9f7b8f9e1eac","description":"<h1 id=\"requests-endpoints\">Requests Endpoints</h1>\n<p>This folder contains endpoints for retrieving detailed information about individual requests processed by BotBye. These endpoints provide granular, request-level data including headers, IP addresses, security checks, and decision outcomes.</p>\n<h2 id=\"purpose\">Purpose</h2>\n<p>The Requests endpoints enable you to:</p>\n<ul>\n<li>Retrieve detailed logs of all requests processed by BotBye</li>\n<li>Investigate specific requests for security analysis</li>\n<li>Access comprehensive request metadata (headers, IP, user agent, etc.)</li>\n<li>Understand why requests were allowed or declined</li>\n<li>Perform forensic analysis on security events</li>\n</ul>\n<h2 id=\"endpoints-in-this-folder\">Endpoints in this Folder</h2>\n<ol>\n<li><strong>Requests</strong> - Retrieve a paginated list of all requests for a project</li>\n</ol>\n<h2 id=\"common-use-cases\">Common Use Cases</h2>\n<ul>\n<li><strong>Security Investigation</strong>: Deep-dive into specific requests to understand security decisions</li>\n<li><strong>Debugging</strong>: Troubleshoot why legitimate requests might be getting blocked</li>\n<li><strong>Audit Logging</strong>: Maintain detailed logs of all API traffic for compliance</li>\n<li><strong>Threat Analysis</strong>: Analyze request patterns to identify attack vectors</li>\n<li><strong>False Positive Analysis</strong>: Review declined requests to tune security rules</li>\n<li><strong>Customer Support</strong>: Investigate user-reported issues with request blocking</li>\n</ul>\n<h2 id=\"authentication\">Authentication</h2>\n<p>All endpoints in this folder require API key authentication. Include your API key in the request headers:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>Authorization: Bearer {api_key}\n</code></pre><h2 id=\"required-variables\">Required Variables</h2>\n<ul>\n<li><code>base_url</code> - The base URL for the BotBye API</li>\n<li><code>account_id</code> - Your unique account identifier</li>\n<li><code>project_id</code> - The project identifier for which you want to retrieve requests</li>\n<li><code>api_key</code> - Your API authentication key</li>\n</ul>\n<h2 id=\"pagination\">Pagination</h2>\n<p>Request endpoints support pagination to handle large volumes of data efficiently. Use the standard pagination query parameters to navigate through results.</p>\n<h2 id=\"data-retention\">Data Retention</h2>\n<p>Request data is retained according to your BotBye plan. Ensure you export or archive important request logs as needed for long-term storage.</p>\n","_postman_id":"10714e5d-8572-4a0a-a3b2-9f7b8f9e1eac","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-Api-Key"},{"key":"value","value":"{api_key}"}]},"isInherited":true,"source":{"_postman_id":"dfffe03f-e114-41dc-8949-f764f2aa0135","id":"dfffe03f-e114-41dc-8949-f764f2aa0135","name":"BotBye project API","type":"collection"}}},{"name":"Multi accounts","item":[{"name":"find","id":"c99ea95e-0d81-4d8c-8921-1a5e62928270","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/multiaccounts/{id}","description":"<h1 id=\"get-multi-account-details\">Get Multi-Account Details</h1>\n<p>Retrieves detailed information about a specific user's multi-account associations. This endpoint returns the account IDs that have been linked to a particular user, helping you investigate individual cases of multi-account usage.</p>\n<h2 id=\"endpoint\">Endpoint</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>GET https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/multiaccounts/{id}\n</code></pre><h2 id=\"authentication\">Authentication</h2>\n<p>Requires API key authentication:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>Authorization: Bearer {api_key}\n</code></pre><h2 id=\"path-parameters\">Path Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>account_id</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Your unique BotBye account identifier</td>\n</tr>\n<tr>\n<td><code>project_id</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The project identifier where the multi-account was detected</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The specific user account identifier to investigate</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"response-structure\">Response Structure</h2>\n<p>The response returns an array of account identifiers associated with the specified user:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[\"string\", \"string\", \"string\"]\n</code></pre>\n<p>Each string in the array represents a unique account ID that has been linked to the same user/device/browser fingerprint.</p>\n<h2 id=\"example-response\">Example Response</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[\"1\", \"5\", \"10\"]\n</code></pre>\n<p>This response indicates that accounts with IDs \"1\", \"5\", and \"10\" are all associated with the same user.</p>\n<h2 id=\"example-response-detailed\">Example Response (Detailed)</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[\n  \"acc_abc123\",\n  \"acc_def456\", \n  \"acc_ghi789\"\n]\n</code></pre>\n<p>This indicates three separate accounts have been detected as belonging to the same user based on device fingerprinting.</p>\n<h2 id=\"use-cases\">Use Cases</h2>\n<ul>\n<li><strong>Fraud Investigation</strong>: Deep-dive into specific users suspected of multi-account fraud</li>\n<li><strong>Account Linking</strong>: Understand which accounts are operated by the same individual</li>\n<li><strong>Ban Enforcement</strong>: Identify all accounts that should be banned when one account violates policies</li>\n<li><strong>Customer Support</strong>: Investigate user reports of account issues or false positives</li>\n<li><strong>Forensic Analysis</strong>: Trace account relationships during security investigations</li>\n<li><strong>Abuse Pattern Analysis</strong>: Study how specific users create and use multiple accounts</li>\n</ul>\n<h2 id=\"interpreting-results\">Interpreting Results</h2>\n<ul>\n<li><strong>Empty array <code>[]</code></strong>: No multi-account associations found for this user ID</li>\n<li><strong>Single item <code>[\"1\"]</code></strong>: Only one account detected (no multi-account behavior)</li>\n<li><strong>Multiple items <code>[\"1\", \"5\", \"10\"]</code></strong>: Multiple accounts detected from the same user</li>\n</ul>\n<p>The number of accounts in the response indicates the severity of multi-account usage:</p>\n<ul>\n<li>2-3 accounts: May be legitimate (e.g., test accounts, family members)</li>\n<li>4-10 accounts: Likely policy violation or moderate abuse</li>\n<li>10+ accounts: Strong indicator of fraud or systematic abuse</li>\n</ul>\n<h2 id=\"important-notes\">Important Notes</h2>\n<ul>\n<li>The <code>id</code> parameter should be a user identifier from your system that was passed to BotBye</li>\n<li>Account IDs in the response correspond to identifiers from your application</li>\n<li>This endpoint is useful for investigating specific users flagged by the \"Find by Project\" endpoint</li>\n<li>Consider the context when evaluating multi-account associations (shared devices, legitimate use cases)</li>\n<li>Use this data in combination with other signals (behavior patterns, timing, IP addresses) for accurate fraud detection</li>\n<li>Implement appropriate privacy controls when storing or displaying multi-account association data</li>\n</ul>\n<h2 id=\"error-responses\">Error Responses</h2>\n<ul>\n<li><strong>404 Not Found</strong>: The specified user ID has no multi-account data or doesn't exist</li>\n<li><strong>403 Forbidden</strong>: Invalid API key or insufficient permissions</li>\n<li><strong>400 Bad Request</strong>: Invalid account_id, project_id, or id format</li>\n</ul>\n","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-Api-Key"},{"key":"value","value":"{api_key}"}]},"isInherited":true,"source":{"_postman_id":"dfffe03f-e114-41dc-8949-f764f2aa0135","id":"dfffe03f-e114-41dc-8949-f764f2aa0135","name":"BotBye project API","type":"collection"}},"urlObject":{"path":["api","v1","{account_id}","projects","{project_id}","multiaccounts","{id}"],"host":["https://api.botbye.com"],"query":[],"variable":[]}},"response":[{"id":"6ca5b2b5-636d-4b92-a1bd-e9da5601179f","name":"success","originalRequest":{"method":"GET","header":[],"url":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/multiaccounts/{id}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"17"},{"key":"Content-Type","value":"application/json"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"[\n    \"a\",\n    \"b\",\n    \"c\",\n    \"e\"\n]"}],"_postman_id":"c99ea95e-0d81-4d8c-8921-1a5e62928270"},{"name":"findByProject","id":"53d215ff-aa75-41fa-a7db-0d6436677da4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-Api-Key"},{"key":"value","value":"{api_key}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/multiaccounts","description":"<h1 id=\"get-multi-accounts-by-project\">Get Multi-Accounts by Project</h1>\n<p>Retrieves all multi-account associations detected within a specific project. This endpoint returns a paginated list of users who have been identified as operating multiple accounts, helping you detect and prevent fraud, abuse, and policy violations.</p>\n<h2 id=\"endpoint\">Endpoint</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>GET https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/multiaccounts\n</code></pre><h2 id=\"authentication\">Authentication</h2>\n<p>Requires API key authentication:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>Authorization: Bearer {api_key}\n</code></pre><h2 id=\"path-parameters\">Path Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>account_id</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Your unique BotBye account identifier</td>\n</tr>\n<tr>\n<td><code>project_id</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The project identifier for which to retrieve multi-account data</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"query-parameters\">Query Parameters</h2>\n<p>This endpoint supports pagination parameters to navigate through large result sets:</p>\n<ul>\n<li>See <a href=\"http://botbye.com/docs/pagination-api\">Pagination query parameters</a> for details on <code>first</code>, <code>after</code>, <code>last</code>, <code>before</code> parameters</li>\n</ul>\n<h2 id=\"response-structure\">Response Structure</h2>\n<p>The response follows a cursor-based pagination pattern with the following structure:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"edges\": [\n    {\n      \"cursor\": \"string\",\n      \"node\": {\n        \"userId\": \"string\",\n        \"accountId\": \"string\",\n        \"siteKey\": \"string\",\n        \"createdAt\": \"string (ISO 8601 datetime)\"\n      }\n    }\n  ],\n  \"pageInfo\": {\n    \"hasPreviousPage\": boolean,\n    \"hasNextPage\": boolean,\n    \"startCursor\": \"string | null\",\n    \"endCursor\": \"string | null\",\n    \"total\": integer\n  },\n  \"attributes\": {}\n}\n</code></pre>\n<h3 id=\"response-fields\">Response Fields</h3>\n<p><strong>edges</strong> (array): Contains the multi-account records</p>\n<ul>\n<li><strong>cursor</strong> (string): Pagination cursor for this record</li>\n<li><strong>node</strong> (object): The multi-account data<ul>\n<li><strong>userId</strong> (string): The user identifier associated with multiple accounts</li>\n<li><strong>accountId</strong> (string): The BotBye account identifier</li>\n<li><strong>siteKey</strong> (string): The site/project key where the multi-account was detected</li>\n<li><strong>createdAt</strong> (string): ISO 8601 timestamp when the multi-account association was first detected</li>\n</ul>\n</li>\n</ul>\n<p><strong>pageInfo</strong> (object): Pagination metadata</p>\n<ul>\n<li><strong>hasPreviousPage</strong> (boolean): Whether there are more results before the current page</li>\n<li><strong>hasNextPage</strong> (boolean): Whether there are more results after the current page</li>\n<li><strong>startCursor</strong> (string | null): Cursor pointing to the first item in the current page</li>\n<li><strong>endCursor</strong> (string | null): Cursor pointing to the last item in the current page</li>\n<li><strong>total</strong> (integer): Total number of multi-account associations found</li>\n</ul>\n<p><strong>attributes</strong> (object): Additional metadata (typically empty)</p>\n<h2 id=\"example-response\">Example Response</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"edges\": [\n    {\n      \"cursor\": \"YXJyYXljb25uZWN0aW9uOjA=\",\n      \"node\": {\n        \"userId\": \"user_abc123\",\n        \"accountId\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d\",\n        \"siteKey\": \"sk_live_abc123xyz\",\n        \"createdAt\": \"2024-08-17T14:32:10Z\"\n      }\n    },\n    {\n      \"cursor\": \"YXJyYXljb25uZWN0aW9uOjE=\",\n      \"node\": {\n        \"userId\": \"user_def456\",\n        \"accountId\": \"185071d5-d4fe-4bea-93df-19d0bd8c2d0d\",\n        \"siteKey\": \"sk_live_abc123xyz\",\n        \"createdAt\": \"2024-08-18T09:15:42Z\"\n      }\n    }\n  ],\n  \"pageInfo\": {\n    \"hasPreviousPage\": false,\n    \"hasNextPage\": true,\n    \"startCursor\": \"YXJyYXljb25uZWN0aW9uOjA=\",\n    \"endCursor\": \"YXJyYXljb25uZWN0aW9uOjE=\",\n    \"total\": 47\n  },\n  \"attributes\": {}\n}\n</code></pre>\n<h2 id=\"use-cases\">Use Cases</h2>\n<ul>\n<li><strong>Fraud Detection</strong>: Identify users creating multiple accounts to abuse promotions or referral programs</li>\n<li><strong>Ban Evasion Detection</strong>: Detect users creating new accounts after being banned</li>\n<li><strong>Policy Enforcement</strong>: Enforce terms of service that limit users to single accounts</li>\n<li><strong>Abuse Prevention</strong>: Prevent vote manipulation, review fraud, or other multi-account abuse</li>\n<li><strong>Security Auditing</strong>: Review all multi-account associations for security analysis</li>\n<li><strong>User Behavior Analysis</strong>: Understand patterns of legitimate vs. fraudulent multi-account usage</li>\n</ul>\n<h2 id=\"pagination-example\">Pagination Example</h2>\n<p>To retrieve the next page of results, use the <code>endCursor</code> value:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>GET https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/multiaccounts?after=YXJyYXljb25uZWN0aW9uOjE=&amp;first=20\n</code></pre><h2 id=\"important-notes\">Important Notes</h2>\n<ul>\n<li>Multi-account detection uses advanced device and browser fingerprinting</li>\n<li>The same <code>userId</code> appearing multiple times indicates multiple accounts from the same device/browser</li>\n<li><code>createdAt</code> timestamp indicates when BotBye first detected the multi-account association</li>\n<li>Use pagination to efficiently process large numbers of multi-account detections</li>\n<li>Consider implementing automated workflows to handle detected multi-accounts (e.g., flagging for review, automatic blocking)</li>\n<li>False positives can occur in shared device scenarios (e.g., public computers, family devices)</li>\n</ul>\n","urlObject":{"path":["api","v1","{account_id}","projects","{project_id}","multiaccounts"],"host":["https://api.botbye.com"],"query":[{"disabled":true,"description":{"content":"<p>(Optional): a cursor for pagination.\n     - <code>after</code> (string): Pointer to the item after which the items are to be retrieved.\n     - <code>before</code> (string): Pointer to the item before which the items are to be retrieved.\n     - <code>first</code> (number): specifies the maximum number of results to return in a single response. By default - 20, max - 500.</p>\n","type":"text/plain"},"key":"cursor","value":"%7B%22after%22%3A%22W1sidXNlckFjY291bnRfX2FjY291bnRJZCIsImIiXSxbInVzZXJBY2NvdW50X19jcmVhdGVkQXQiLCIxNzM0NjI0ODcyNjU5Il1d%22%2C%22first%22%3A%202%7D"},{"disabled":true,"description":{"content":"<p>(Optional): is used to create conditions for data filtering. It can be used to create simple conditions (leaf nodes) as well as compound logical expressions (branch nodes).\n    - <code>predicate</code> (string): The filtering condition (e.g., <code>gte</code>, <code>lte</code>, <code>eq</code> for a leaf or <code>and</code>, <code>or</code> for a branch). Possible values [[#Predicate]]\n    - <code>opearands</code> (string): A list of nested conditions (used only for branches, such as <code>and</code>, <code>or</code>).\n    - <code>fieldPath</code> (string): The field to which the filtering condition is applied (used only for a leaf. Each entity has its own fieldPath list).\n    - <code>value</code> (string): The value to compare against the field (used only for a leaf).</p>\n","type":"text/plain"},"key":"where","value":"%7B%0A%20%20%22fieldPath%22%3A%20%22userAccount__createdAt%22%2C%0A%20%20%22predicate%22%3A%20%22gt%22%2C%0A%20%20%22value%22%3A%20%221734626758193%22%0A%7D"}],"variable":[]}},"response":[{"id":"62bc605e-1cd8-4840-a4e5-57ec5e17e775","name":"success","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/multiaccounts","host":["https://api.botbye.com"],"path":["api","v1","{account_id}","projects","{project_id}","multiaccounts"],"query":[{"key":"cursor","value":"","description":"(Optional): a cursor for pagination.\n\t - `after` (string): Pointer to the item after which the items are to be retrieved.\n\t - `before` (string): Pointer to the item before which the items are to be retrieved.\n\t - `first` (number): specifies the maximum number of results to return in a single response. By default - 20, max - 500.","type":"text","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"1186"},{"key":"Content-Type","value":"application/json"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"edges\": [\n        {\n            \"cursor\": \"W1sidXNlckFjY291bnRfX2FjY291bnRJZCIsImEiXSxbInVzZXJBY2NvdW50X19jcmVhdGVkQXQiLCIxNzM0NjI0ODcyNjU5Il1d\",\n            \"node\": {\n                \"userId\": \"0193dfb3-08d2-7d5f-b288-3c8278618aac\",\n                \"accountId\": \"a\",\n                \"siteKey\": \"e610df2f-2ab3-48b3-90a0-4502b10e1e98\",\n                \"createdAt\": \"1734624872659\"\n            }\n        },\n        {\n            \"cursor\": \"W1sidXNlckFjY291bnRfX2FjY291bnRJZCIsImIiXSxbInVzZXJBY2NvdW50X19jcmVhdGVkQXQiLCIxNzM0NjI0ODcyNjU5Il1d\",\n            \"node\": {\n                \"userId\": \"0193dfb3-08d2-7d5f-b288-3c8278618aac\",\n                \"accountId\": \"b\",\n                \"siteKey\": \"e610df2f-2ab3-48b3-90a0-4502b10e1e98\",\n                \"createdAt\": \"1734624872659\"\n            }\n        },\n        {\n            \"cursor\": \"W1sidXNlckFjY291bnRfX2FjY291bnRJZCIsImMiXSxbInVzZXJBY2NvdW50X19jcmVhdGVkQXQiLCIxNzM0NjI2NzU4MTkzIl1d\",\n            \"node\": {\n                \"userId\": \"0193dfb3-08d2-7d5f-b288-3c8278618aac\",\n                \"accountId\": \"c\",\n                \"siteKey\": \"e610df2f-2ab3-48b3-90a0-4502b10e1e98\",\n                \"createdAt\": \"1734626758193\"\n            }\n        },\n        {\n            \"cursor\": \"W1sidXNlckFjY291bnRfX2FjY291bnRJZCIsImUiXSxbInVzZXJBY2NvdW50X19jcmVhdGVkQXQiLCIxNzM0NjI2OTk0NTYzIl1d\",\n            \"node\": {\n                \"userId\": \"0193dfb3-08d2-7d5f-b288-3c8278618aac\",\n                \"accountId\": \"e\",\n                \"siteKey\": \"e610df2f-2ab3-48b3-90a0-4502b10e1e98\",\n                \"createdAt\": \"1734626994563\"\n            }\n        }\n    ],\n    \"pageInfo\": {\n        \"hasPreviousPage\": false,\n        \"hasNextPage\": false,\n        \"startCursor\": null,\n        \"endCursor\": null,\n        \"total\": 4\n    },\n    \"attributes\": {}\n}"},{"id":"68b21d70-5f05-424a-85de-80465efe813e","name":"fail","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/multiaccounts?cursor=%7B%22first%22%3A%20501%7D","host":["https://api.botbye.com"],"path":["api","v1","{account_id}","projects","{project_id}","multiaccounts"],"query":[{"key":"cursor","value":"%7B%22first%22%3A%20501%7D","description":"(Optional): a cursor for pagination.\n\t - `after` (string): Pointer to the item after which the items are to be retrieved.\n\t - `before` (string): Pointer to the item before which the items are to be retrieved.\n\t - `first` (number): specifies the maximum number of results to return in a single response. By default - 20, max - 500.","type":"text"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"143"},{"key":"Content-Type","value":"application/json"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"message\": \"Page limit should be > 1 and <= 500.\",\n        \"code\": \"protectionproject.invalidCursor\",\n        \"type\": \"SHOWABLE\",\n        \"context\": {\n            \"pageSizeLimit\": 500\n        }\n    }\n]"},{"id":"ea2d0e56-df6b-4de4-a086-52e23df44f62","name":"cursor+limit","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/multiaccounts?cursor=%7B%22after%22%3A%22W1sidXNlckFjY291bnRfX2FjY291bnRJZCIsImIiXSxbInVzZXJBY2NvdW50X19jcmVhdGVkQXQiLCIxNzM0NjI0ODcyNjU5Il1d%22%2C%22first%22%3A%202%7D","host":["https://api.botbye.com"],"path":["api","v1","{account_id}","projects","{project_id}","multiaccounts"],"query":[{"key":"cursor","value":"%7B%22after%22%3A%22W1sidXNlckFjY291bnRfX2FjY291bnRJZCIsImIiXSxbInVzZXJBY2NvdW50X19jcmVhdGVkQXQiLCIxNzM0NjI0ODcyNjU5Il1d%22%2C%22first%22%3A%202%7D","description":"(Optional): a cursor for pagination.\n\t - `after` (string): Pointer to the item after which the items are to be retrieved.\n\t - `before` (string): Pointer to the item before which the items are to be retrieved.\n\t - `first` (number): specifies the maximum number of results to return in a single response. By default - 20, max - 500.","type":"text"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"755"},{"key":"Content-Type","value":"application/json"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"edges\": [\n        {\n            \"cursor\": \"W1sidXNlckFjY291bnRfX2FjY291bnRJZCIsImMiXSxbInVzZXJBY2NvdW50X19jcmVhdGVkQXQiLCIxNzM0NjI2NzU4MTkzIl1d\",\n            \"node\": {\n                \"userId\": \"0193dfb3-08d2-7d5f-b288-3c8278618aac\",\n                \"accountId\": \"c\",\n                \"siteKey\": \"e610df2f-2ab3-48b3-90a0-4502b10e1e98\",\n                \"createdAt\": \"1734626758193\"\n            }\n        },\n        {\n            \"cursor\": \"W1sidXNlckFjY291bnRfX2FjY291bnRJZCIsImUiXSxbInVzZXJBY2NvdW50X19jcmVhdGVkQXQiLCIxNzM0NjI2OTk0NTYzIl1d\",\n            \"node\": {\n                \"userId\": \"0193dfb3-08d2-7d5f-b288-3c8278618aac\",\n                \"accountId\": \"e\",\n                \"siteKey\": \"e610df2f-2ab3-48b3-90a0-4502b10e1e98\",\n                \"createdAt\": \"1734626994563\"\n            }\n        }\n    ],\n    \"pageInfo\": {\n        \"hasPreviousPage\": true,\n        \"hasNextPage\": false,\n        \"startCursor\": \"W1sidXNlckFjY291bnRfX2FjY291bnRJZCIsImMiXSxbInVzZXJBY2NvdW50X19jcmVhdGVkQXQiLCIxNzM0NjI2NzU4MTkzIl1d\",\n        \"endCursor\": null,\n        \"total\": 4\n    },\n    \"attributes\": {}\n}"},{"id":"b9e02de5-332b-40e0-b1a5-0885bb83deb8","name":"where created_at > 1734626758193","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api.botbye.com/api/v1/{account_id}/projects/{project_id}/multiaccounts?cursor=%7B%22after%22%3A%22W1sidXNlckFjY291bnRfX2FjY291bnRJZCIsImIiXSxbInVzZXJBY2NvdW50X19jcmVhdGVkQXQiLCIxNzM0NjI0ODcyNjU5Il1d%22%2C%22first%22%3A%202%7D&where=%7B%0A%20%20%22fieldPath%22%3A%20%22userAccount__createdAt%22%2C%0A%20%20%22predicate%22%3A%20%22gt%22%2C%0A%20%20%22value%22%3A%20%221734626758193%22%0A%7D","host":["https://api.botbye.com"],"path":["api","v1","{account_id}","projects","{project_id}","multiaccounts"],"query":[{"key":"cursor","value":"%7B%22after%22%3A%22W1sidXNlckFjY291bnRfX2FjY291bnRJZCIsImIiXSxbInVzZXJBY2NvdW50X19jcmVhdGVkQXQiLCIxNzM0NjI0ODcyNjU5Il1d%22%2C%22first%22%3A%202%7D","description":"(Optional): a cursor for pagination.\n\t - `after` (string): Pointer to the item after which the items are to be retrieved.\n\t - `before` (string): Pointer to the item before which the items are to be retrieved.\n\t - `first` (number): specifies the maximum number of results to return in a single response. By default - 20, max - 500.","type":"text"},{"key":"where","value":"%7B%0A%20%20%22fieldPath%22%3A%20%22userAccount__createdAt%22%2C%0A%20%20%22predicate%22%3A%20%22gt%22%2C%0A%20%20%22value%22%3A%20%221734626758193%22%0A%7D","type":"text"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"491"},{"key":"Content-Type","value":"application/json"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"edges\": [\n        {\n            \"cursor\": \"W1sidXNlckFjY291bnRfX2FjY291bnRJZCIsImUiXSxbInVzZXJBY2NvdW50X19jcmVhdGVkQXQiLCIxNzM0NjI2OTk0NTYzIl1d\",\n            \"node\": {\n                \"userId\": \"0193dfb3-08d2-7d5f-b288-3c8278618aac\",\n                \"accountId\": \"e\",\n                \"siteKey\": \"e610df2f-2ab3-48b3-90a0-4502b10e1e98\",\n                \"createdAt\": \"1734626994563\"\n            }\n        }\n    ],\n    \"pageInfo\": {\n        \"hasPreviousPage\": true,\n        \"hasNextPage\": false,\n        \"startCursor\": \"W1sidXNlckFjY291bnRfX2FjY291bnRJZCIsImUiXSxbInVzZXJBY2NvdW50X19jcmVhdGVkQXQiLCIxNzM0NjI2OTk0NTYzIl1d\",\n        \"endCursor\": null,\n        \"total\": 1\n    },\n    \"attributes\": {}\n}"}],"_postman_id":"53d215ff-aa75-41fa-a7db-0d6436677da4"}],"id":"2ab9a9c8-4603-493f-abbb-0c4d5675b1a4","description":"<h1 id=\"multi-accounts-endpoints\">Multi Accounts Endpoints</h1>\n<p>This folder contains endpoints for managing and retrieving information about multi-account detection within your BotBye projects. Multi-account detection helps identify users who create multiple accounts, which is crucial for preventing fraud, abuse, and policy violations.</p>\n<h2 id=\"purpose\">Purpose</h2>\n<p>The Multi Accounts endpoints enable you to:</p>\n<ul>\n<li>Detect users operating multiple accounts from the same device or browser</li>\n<li>Retrieve multi-account associations for specific projects</li>\n<li>Investigate individual user account relationships</li>\n<li>Implement fraud prevention and abuse detection strategies</li>\n</ul>\n<h2 id=\"endpoints-in-this-folder\">Endpoints in this Folder</h2>\n<ol>\n<li><strong>Find by Project</strong> - Retrieve all multi-account associations for a specific project</li>\n<li><strong>Find</strong> - Get detailed multi-account information for a specific user account</li>\n</ol>\n<h2 id=\"common-use-cases\">Common Use Cases</h2>\n<ul>\n<li><strong>Fraud Prevention</strong>: Identify users creating multiple accounts to abuse promotions or bypass restrictions</li>\n<li><strong>Account Abuse Detection</strong>: Detect ban evasion or policy violation attempts</li>\n<li><strong>User Behavior Analysis</strong>: Understand patterns of multi-account usage</li>\n<li><strong>Compliance Enforcement</strong>: Enforce terms of service that restrict multiple accounts</li>\n<li><strong>Security Investigation</strong>: Investigate suspicious account creation patterns</li>\n</ul>\n<h2 id=\"authentication\">Authentication</h2>\n<p>All endpoints in this folder require API key authentication. Include your API key in the request headers:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>Authorization: Bearer {api_key}\n</code></pre><h2 id=\"required-variables\">Required Variables</h2>\n<ul>\n<li><code>base_url</code> - The base URL for the BotBye API</li>\n<li><code>account_id</code> - Your unique account identifier</li>\n<li><code>project_id</code> - The project identifier for multi-account detection</li>\n<li><code>id</code> - The specific user account identifier (for individual lookups)</li>\n<li><code>api_key</code> - Your API authentication key</li>\n</ul>\n<h2 id=\"how-multi-account-detection-works\">How Multi-Account Detection Works</h2>\n<p>BotBye uses advanced fingerprinting techniques to identify when multiple user accounts are associated with the same device, browser, or user session. This helps you maintain platform integrity and prevent abuse.</p>\n","_postman_id":"2ab9a9c8-4603-493f-abbb-0c4d5675b1a4","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-Api-Key"},{"key":"value","value":"{api_key}"}]},"isInherited":true,"source":{"_postman_id":"dfffe03f-e114-41dc-8949-f764f2aa0135","id":"dfffe03f-e114-41dc-8949-f764f2aa0135","name":"BotBye project API","type":"collection"}}},{"name":"Privacy","item":[{"name":"get customer privacy data","event":[{"listen":"test","script":{"id":"1c46b9c5-eae2-48d2-ac00-51117d9562ba","exec":["// Stores the project id in an environment or global variable","var projectId = pm.response.json().edges[0].node.id;","pm.collectionVariables.set(\"project_id\", projectId);"],"type":"text/javascript","packages":{},"requests":{}}}],"id":"429a5e8c-1741-4dc4-997f-fc7d2ad08a8d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-Api-Key"},{"key":"value","value":"{api_key}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://api.botbye.com/api/v1/{account_id}/privacy/data","description":"<h1 id=\"get-customer-privacy-data\">Get Customer Privacy Data</h1>\n<p>Retrieves all privacy-related data associated with a customer account. This endpoint is used to fulfill data subject access requests (DSAR) and provide customers with a complete view of their stored personal information.</p>\n<h2 id=\"endpoint\">Endpoint</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>GET https://api.botbye.com/api/v1/{account_id}/privacy/data\n</code></pre><h2 id=\"required-variables\">Required Variables</h2>\n<ul>\n<li><strong>base_url</strong>: The base URL for the BotBye API</li>\n<li><strong>account_id</strong>: Your unique account identifier</li>\n</ul>\n<h2 id=\"authentication\">Authentication</h2>\n<p>Requires API key authentication via the <code>api_key</code> variable.</p>\n<h2 id=\"response\">Response</h2>\n<p>Returns a comprehensive JSON object containing all privacy-related data for the customer, including:</p>\n<ul>\n<li>Personal information</li>\n<li>Account details</li>\n<li>Activity logs</li>\n<li>Associated metadata</li>\n</ul>\n<h2 id=\"use-cases\">Use Cases</h2>\n<ul>\n<li><strong>GDPR/CCPA Compliance</strong>: Respond to data subject access requests</li>\n<li><strong>Data Auditing</strong>: Review what personal data is stored</li>\n<li><strong>Customer Transparency</strong>: Provide customers with their data upon request</li>\n<li><strong>Compliance Reporting</strong>: Generate reports for regulatory purposes</li>\n</ul>\n<h2 id=\"example-response\">Example Response</h2>\n<p>The response includes structured data with customer information organized in a node-based format with edges for relationships.</p>\n","urlObject":{"path":["api","v1","{account_id}","privacy","data"],"host":["https://api.botbye.com"],"query":[],"variable":[]}},"response":[{"id":"a4f5692e-32b6-4289-a17a-e6b020f54f49","name":"get customer privacy data","originalRequest":{"method":"GET","header":[],"url":"https://api.botbye.com/api/v1/{account_id}/privacy/data"},"status":"OK","code":200,"_postman_previewlanguage":"","header":[{"key":"Content-Length","value":"1410"},{"key":"Content-Type","value":"application/json"},{"key":"Connection","value":"keep-alive"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"profile\": {\n        \"id\": \"a125a474-be24-11eb-8529-0242ac130003\",\n        \"name\": \"Jhon\",\n        \"avatarId\": null,\n        \"createdAt\": \"1768225357058\",\n        \"updatedAt\": \"1768225357058\",\n        \"deletedAt\": null\n    },\n    \"auth\": {\n        \"login\": null,\n        \"canonicalLogin\": null,\n        \"email\": \"jhon_test@test.com\",\n        \"phone\": null,\n        \"hasPassword\": true,\n        \"externalProviders\": [\n            \"INTERNAL\"\n        ],\n        \"activeSessions\": 8\n    },\n    \"settings\": null,\n    \"projects\": [\n        {\n            \"id\": \"1cdc3658-ef1d-47fe-992b-ae09ae7de58e\",\n            \"name\": \"Top Project\",\n            \"serverKey\": \"6bc38750-7c9b-4c10-981b-c6f324b8039b\",\n            \"siteKey\": \"24eb35f6-29cb-4427-b4a9-952c11bdb15b\",\n            \"createdAt\": \"1672531200000\"\n        },\n        {\n            \"id\": \"b5b09618-1b9d-4cf2-8d0c-c8e3851158ed\",\n            \"name\": \"Top project 2\",\n            \"serverKey\": \"5656495d-e1c6-49a8-b633-bb1f9754dab9\",\n            \"siteKey\": \"7b9fab2a-798c-4aaf-9a64-6207aa961b93\",\n            \"createdAt\": \"1672617600000\"\n        }\n    ],\n    \"accessTokens\": [\n        {\n            \"id\": \"d44016e4-7e2d-4390-9ff9-b67383140fe7\",\n            \"name\": \"DEV_ACCESS_TOKEN\",\n            \"createdAt\": \"1672704000000\",\n            \"expiresAt\": \"4828377600000\"\n        }\n    ],\n    \"invitations\": [\n        {\n            \"email\": \"alice_test@gmail.com\",\n            \"createdAt\": \"1768397583005\",\n            \"status\": \"ACCEPTED\"\n        }\n    ],\n    \"contactRequests\": [],\n    \"notifications\": [],\n    \"analytics\": {\n        \"userActivityCount\": 3,\n        \"userDataCount\": 3\n    }\n}"}],"_postman_id":"429a5e8c-1741-4dc4-997f-fc7d2ad08a8d"},{"name":"purge customer data","event":[{"listen":"test","script":{"id":"1c46b9c5-eae2-48d2-ac00-51117d9562ba","exec":["// Stores the project id in an environment or global variable","var projectId = pm.response.json().edges[0].node.id;","pm.collectionVariables.set(\"project_id\", projectId);"],"type":"text/javascript","packages":{},"requests":{}}}],"id":"306ee68f-a4d0-41aa-8294-365724ec5635","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-Api-Key"},{"key":"value","value":"{api_key}"}]},"isInherited":false},"method":"DELETE","header":[],"url":"https://api.botbye.com/api/v1/{account_id}/privacy/data","description":"<h1 id=\"purge-customer-data\">Purge Customer Data</h1>\n<p>Permanently deletes all privacy-related data associated with a customer account. This endpoint is used to fulfill \"right to be forgotten\" requests and ensure complete data deletion in compliance with privacy regulations.</p>\n<h2 id=\"endpoint\">Endpoint</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>DELETE https://api.botbye.com/api/v1/{account_id}/privacy/data\n</code></pre><h2 id=\"required-variables\">Required Variables</h2>\n<ul>\n<li><strong>base_url</strong>: The base URL for the BotBye API</li>\n<li><strong>account_id</strong>: Your unique account identifier</li>\n</ul>\n<h2 id=\"authentication\">Authentication</h2>\n<p>Requires API key authentication via the <code>api_key</code> variable.</p>\n<h2 id=\"response\">Response</h2>\n<p>Returns a confirmation response indicating successful deletion of customer data.</p>\n<h2 id=\"⚠️-warning\">⚠️ Warning</h2>\n<p><strong>This action is irreversible.</strong> Once customer data is purged, it cannot be recovered. Ensure you have:</p>\n<ul>\n<li>Verified the deletion request is legitimate</li>\n<li>Completed any required data exports</li>\n<li>Obtained necessary approvals</li>\n<li>Documented the deletion for compliance records</li>\n</ul>\n<h2 id=\"use-cases\">Use Cases</h2>\n<ul>\n<li><strong>GDPR Right to Erasure</strong>: Fulfill Article 17 deletion requests</li>\n<li><strong>CCPA Deletion Rights</strong>: Comply with California Consumer Privacy Act requirements</li>\n<li><strong>Account Closure</strong>: Remove all data when a customer closes their account</li>\n<li><strong>Data Retention Compliance</strong>: Delete data that has exceeded retention periods</li>\n</ul>\n<h2 id=\"best-practices\">Best Practices</h2>\n<ol>\n<li>Always retrieve and backup data using the GET endpoint before deletion</li>\n<li>Maintain audit logs of deletion requests</li>\n<li>Verify the request authenticity before executing</li>\n<li>Confirm deletion completion with the customer</li>\n</ol>\n<h2 id=\"data-scope\">Data Scope</h2>\n<p>This endpoint removes all customer-related data including:</p>\n<ul>\n<li>Personal information</li>\n<li>Account details</li>\n<li>Historical records</li>\n<li>Associated metadata</li>\n<li>Activity logs</li>\n</ul>\n","urlObject":{"path":["api","v1","{account_id}","privacy","data"],"host":["https://api.botbye.com"],"query":[],"variable":[]}},"response":[{"id":"f727e588-806e-40a1-999e-7e5311f98f90","name":"purge customer data","originalRequest":{"method":"DELETE","header":[],"url":"https://api.botbye.com/api/v1/{account_id}/privacy/data"},"status":"OK","code":200,"_postman_previewlanguage":"","header":[{"key":"Content-Length","value":"227"},{"key":"Content-Type","value":"application/json"},{"key":"Connection","value":"keep-alive"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{}"}],"_postman_id":"306ee68f-a4d0-41aa-8294-365724ec5635"},{"name":"purge end user data","event":[{"listen":"test","script":{"id":"1c46b9c5-eae2-48d2-ac00-51117d9562ba","exec":["// Stores the project id in an environment or global variable","var projectId = pm.response.json().edges[0].node.id;","pm.collectionVariables.set(\"project_id\", projectId);"],"type":"text/javascript","packages":{},"requests":{}}}],"id":"f9fad6f0-872c-4aa8-8e02-2d1084d03e08","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-Api-Key"},{"key":"value","value":"{api_key}"}]},"isInherited":false},"method":"DELETE","header":[],"url":"https://api.botbye.com/api/v1/{account_id}/privacy/end-users//","description":"<h1 id=\"purge-end-user-data\">Purge End User Data</h1>\n<p>Permanently deletes all privacy-related data for a specific end user identified by their server key and account ID. This endpoint enables granular data deletion for individual end users while maintaining data for other users.</p>\n<h2 id=\"endpoint\">Endpoint</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>DELETE https://api.botbye.com/api/v1/{account_id}/privacy/end-users//\n</code></pre><h2 id=\"required-variables\">Required Variables</h2>\n<ul>\n<li><strong>base_url</strong>: The base URL for the BotBye API</li>\n<li><strong>account_id</strong>: Your unique account identifier</li>\n<li><strong>server_key</strong>: The server key associated with the end user</li>\n<li><strong>end_user_account_id</strong>: The unique identifier for the specific end user to be deleted</li>\n</ul>\n<h2 id=\"authentication\">Authentication</h2>\n<p>Requires API key authentication via the <code>api_key</code> variable.</p>\n<h2 id=\"response\">Response</h2>\n<p>Returns a confirmation response indicating successful deletion of the specified end user's data.</p>\n<h2 id=\"⚠️-warning\">⚠️ Warning</h2>\n<p><strong>This action is irreversible.</strong> Once end user data is purged, it cannot be recovered. This operation:</p>\n<ul>\n<li>Permanently removes all data for the specified end user</li>\n<li>Does not affect other end users' data</li>\n<li>Cannot be undone or reversed</li>\n</ul>\n<h2 id=\"use-cases\">Use Cases</h2>\n<ul>\n<li><strong>Individual Deletion Requests</strong>: Fulfill specific end user's right to erasure</li>\n<li><strong>Selective Data Removal</strong>: Delete data for specific users without affecting others</li>\n<li><strong>Privacy Compliance</strong>: Respond to individual GDPR/CCPA deletion requests</li>\n<li><strong>Data Minimization</strong>: Remove unnecessary end user data</li>\n<li><strong>User Opt-Out</strong>: Honor end user requests to stop data collection and remove existing data</li>\n</ul>\n<h2 id=\"best-practices\">Best Practices</h2>\n<ol>\n<li>Retrieve end user data using the GET endpoint before deletion</li>\n<li>Verify the server_key and end_user_account_id are correct</li>\n<li>Document the deletion request with timestamps and request details</li>\n<li>Maintain compliance records of the deletion</li>\n<li>Confirm the deletion was successful by checking the response</li>\n</ol>\n<h2 id=\"data-scope\">Data Scope</h2>\n<p>This endpoint removes all end user-specific data including:</p>\n<ul>\n<li>End user profile information</li>\n<li>Behavioral and tracking data</li>\n<li>Session history</li>\n<li>Associated metadata</li>\n<li>Activity timestamps</li>\n</ul>\n<h2 id=\"notes\">Notes</h2>\n<p>The granular nature of this endpoint allows you to maintain data isolation and delete specific end user data without impacting your broader customer account or other end users.</p>\n","urlObject":{"path":["api","v1","{account_id}","privacy","end-users","",""],"host":["https://api.botbye.com"],"query":[],"variable":[]}},"response":[{"id":"dadcb858-6f56-431a-bb40-5695a36fa30e","name":"purge end user data","originalRequest":{"method":"DELETE","header":[],"url":"https://api.botbye.com/api/v1/{account_id}/privacy/end-users//"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"Content-Length","value":"2"},{"key":"Content-Type","value":"application/json"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{}"}],"_postman_id":"f9fad6f0-872c-4aa8-8e02-2d1084d03e08"},{"name":"get end user privacy data","event":[{"listen":"test","script":{"id":"1c46b9c5-eae2-48d2-ac00-51117d9562ba","exec":["// Stores the project id in an environment or global variable","var projectId = pm.response.json().edges[0].node.id;","pm.collectionVariables.set(\"project_id\", projectId);"],"type":"text/javascript","packages":{},"requests":{}}}],"id":"49e62763-24ac-4ace-b30b-73e9d616a489","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-Api-Key"},{"key":"value","value":"{api_key}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://api.botbye.com/api/v1/{account_id}/privacy/end-users//","description":"<h1 id=\"get-end-user-privacy-data\">Get End User Privacy Data</h1>\n<p>Retrieves all privacy-related data for a specific end user identified by their server key and account ID. This endpoint provides granular access to individual end user data for compliance and transparency purposes.</p>\n<h2 id=\"endpoint\">Endpoint</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>GET https://api.botbye.com/api/v1/{account_id}/privacy/end-users//\n</code></pre><h2 id=\"required-variables\">Required Variables</h2>\n<ul>\n<li><strong>base_url</strong>: The base URL for the BotBye API</li>\n<li><strong>account_id</strong>: Your unique account identifier</li>\n<li><strong>server_key</strong>: The server key associated with the end user</li>\n<li><strong>end_user_account_id</strong>: The unique identifier for the specific end user</li>\n</ul>\n<h2 id=\"authentication\">Authentication</h2>\n<p>Requires API key authentication via the <code>api_key</code> variable.</p>\n<h2 id=\"response\">Response</h2>\n<p>Returns a JSON object containing all privacy-related data for the specified end user, including:</p>\n<ul>\n<li>End user profile information</li>\n<li>Behavioral data</li>\n<li>Session information</li>\n<li>Associated tracking data</li>\n<li>Timestamps and metadata</li>\n</ul>\n<h2 id=\"use-cases\">Use Cases</h2>\n<ul>\n<li><strong>Individual DSAR Requests</strong>: Respond to specific end user data access requests</li>\n<li><strong>User Data Portability</strong>: Export end user data for transfer to another service</li>\n<li><strong>Privacy Audits</strong>: Review data collected for specific users</li>\n<li><strong>Support Investigations</strong>: Access user data for troubleshooting or support cases</li>\n</ul>\n<h2 id=\"notes\">Notes</h2>\n<p>This endpoint requires both the server key and end user account ID to ensure proper authorization and data isolation between different end users.</p>\n","urlObject":{"path":["api","v1","{account_id}","privacy","end-users","",""],"host":["https://api.botbye.com"],"query":[],"variable":[]}},"response":[{"id":"a190dcd9-b016-4cd9-a9de-7993ac015ad4","name":"get end user privacy data","originalRequest":{"method":"GET","header":[],"url":"https://api.botbye.com/api/v1/{account_id}/privacy/end-users//"},"status":"OK","code":200,"_postman_previewlanguage":"","header":[{"key":"Content-Length","value":"432"},{"key":"Content-Type","value":"application/json"},{"key":"Connection","value":"keep-alive"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"serverKey\": \"a25e67d6-8b41-4155-8b8e-09ff313a18da\",\n    \"accountId\": \"9bdaad6a-bd98-4c0e-95e2-3241d68d4a85\",\n    \"activity\": {\n        \"eventCount\": 3,\n        \"firstActivity\": \"2026-02-02 12:47:49.63\",\n        \"lastActivity\": \"2026-02-10 15:03:41.13\",\n        \"ips\": [\n            \"0.0.0.0\"\n        ],\n        \"countries\": [],\n        \"userAgents\": [\n            \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36\"\n        ],\n        \"emails\": [\n            \"jhon_test@gmail.com\"\n        ],\n        \"phones\": [],\n        \"usernames\": [\n            \"Jhon\"\n        ]\n    }\n}"}],"_postman_id":"49e62763-24ac-4ace-b30b-73e9d616a489"}],"id":"469f7383-b88b-4ec2-9281-64cdf0c4d998","description":"<h1 id=\"privacy-management\">Privacy Management</h1>\n<p>This folder contains endpoints for managing privacy-related data in compliance with data protection regulations (GDPR, CCPA, etc.). These endpoints allow you to retrieve and purge personal data for both customers and end users.</p>\n<h2 id=\"overview\">Overview</h2>\n<p>The Privacy API provides two main capabilities:</p>\n<ul>\n<li><strong>Data Retrieval</strong>: Access privacy-related data for customers and end users</li>\n<li><strong>Data Purge</strong>: Permanently delete personal data to fulfill data deletion requests</li>\n</ul>\n<h2 id=\"authentication\">Authentication</h2>\n<p>All requests require API key authentication. Set your <code>api_key</code> variable in the collection or environment variables.</p>\n<h2 id=\"common-variables\">Common Variables</h2>\n<ul>\n<li><code>base_url</code>: The base URL for the API</li>\n<li><code>account_id</code>: Your account identifier</li>\n<li><code>server_key</code>: Server key for end user operations</li>\n<li><code>end_user_account_id</code>: Unique identifier for the end user</li>\n</ul>\n<h2 id=\"use-cases\">Use Cases</h2>\n<ul>\n<li>Responding to data subject access requests (DSAR)</li>\n<li>Fulfilling \"right to be forgotten\" requests</li>\n<li>Auditing stored personal data</li>\n<li>Compliance reporting and data inventory</li>\n</ul>\n","_postman_id":"469f7383-b88b-4ec2-9281-64cdf0c4d998","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-Api-Key"},{"key":"value","value":"{api_key}"}]},"isInherited":true,"source":{"_postman_id":"dfffe03f-e114-41dc-8949-f764f2aa0135","id":"dfffe03f-e114-41dc-8949-f764f2aa0135","name":"BotBye project API","type":"collection"}}}],"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-Api-Key"},{"key":"value","value":"{api_key}"}]}},"event":[{"listen":"prerequest","script":{"id":"078b5e8f-ae57-4b66-915b-7b07c8fdc66f","type":"text/javascript","packages":{},"exec":[""]}},{"listen":"test","script":{"id":"b0dc3475-8979-4459-93d6-9ee9bcec01b3","type":"text/javascript","packages":{},"exec":[""]}}],"variable":[{"key":"base_url","value":"https://api.botbye.com","type":"string"},{"key":"account_id","value":"{account_id}"},{"key":"api_key","value":"{api_key}"},{"key":"project_id","value":"{project_id}"},{"key":"rate_limiter_id","value":"{rate_limiter_id}","type":"string"},{"key":"rule_id","value":"{rule_id}","type":"string"},{"key":"project_member_id","value":"{project_member_id}"},{"key":"acl_group_id","value":"{acl_group_id}"},{"key":"acl_rule_id","value":""},{"key":"account_member_id","value":"{account_member_id}"},{"key":"id","value":"{id}","type":"string"},{"key":"server_key","value":"","type":"default"},{"key":"end_user_account_id","value":"","type":"default"}]}