> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://api-docs.botbye.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://api-docs.botbye.com/_mcp/server.

# events

GET {base_url}/api/v1/{account_id}/projects/{project_id}/events

# Get Requests

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.

## Endpoint

```
GET {base_url}/api/v1/{account_id}/projects/{project_id}/requests

 ```

## Authentication

Requires API key authentication:

```
Authorization: Bearer {api_key}

 ```

## Path Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `account_id` | string | Yes | Your unique BotBye account identifier |
| `project_id` | string | Yes | The project identifier for which to retrieve request logs |

## Query Parameters

This endpoint supports pagination and filtering parameters:

- **Pagination**: See [<code>Pagination query parameters</code>](http://botbye.com/docs/api) for details on `first`, `after`, `last`, `before` parameters
    
- **Filtering**: Additional filters may be available for date ranges, request status, IP addresses, etc.
    

## Response Structure

The response follows a cursor-based pagination pattern:

``` json
{
  "edges": [
    {
      "cursor": "string",
      "node": {
        "id": "string",
        "token": "string",
        "customerId": "string",
        "projectId": "string",
        "siteKey": "string",
        "serverKey": "string",
        "referer": "string",
        "userAgent": "string",
        "host": "string",
        "requestMethod": "string",
        "requestUri": "string",
        "remoteAddr": "string",
        "serverName": "string",
        "remoteUser": "string",
        "serverPort": integer,
        "requestInfo": "string",
        "failedMessage": "string",
        "failedChecks": "string",
        "customFields": [],
        "headers": "string",
        "createdAt": "string",
        "realIp": "string",
        "country": "string",
        "asn": "string",
        "isProtected": boolean,
        "isBanByRule": boolean
      }
    }
  ],
  "pageInfo": {
    "hasPreviousPage": boolean,
    "hasNextPage": boolean,
    "startCursor": "string | null",
    "endCursor": "string | null",
    "total": integer
  }
}

 ```

### Response Fields

**edges** (array): Contains the request records

- **cursor** (string): Pagination cursor for this record
    
- **node** (object): The request data with the following fields:
    

| Field | Type | Description |
| --- | --- | --- |
| `id` | string | Unique identifier for this request |
| `token` | string | BotBye token associated with the request |
| `customerId` | string | Customer identifier (if applicable) |
| `projectId` | string | The project identifier |
| `siteKey` | string | The site key used for this request |
| `serverKey` | string | The server key used for validation |
| `referer` | string | HTTP Referer header value |
| `userAgent` | string | User-Agent header value |
| `host` | string | Host header value |
| `requestMethod` | string | HTTP method (GET, POST, PUT, DELETE, etc.) |
| `requestUri` | string | The request URI/endpoint |
| `remoteAddr` | string | IP address of the client |
| `serverName` | string | Server name that processed the request |
| `remoteUser` | string | Remote user identifier (if authenticated) |
| `serverPort` | integer | Server port number |
| `requestInfo` | string | Additional request information |
| `failedMessage` | string | Reason for declining the request (if declined) |
| `failedChecks` | string | Specific security checks that failed |
| `customFields` | array | Custom fields passed with the request |
| `headers` | string | Complete request headers (JSON string) |
| `createdAt` | string | ISO 8601 timestamp when the request was processed |
| `realIp` | string | Real IP address (if behind proxy/CDN) |
| `country` | string | Country code (ISO 3166-1 alpha-3) of the IP |
| `asn` | string | Autonomous System Number of the IP |
| `isProtected` | boolean | Whether the request was protected by BotBye |
| `isBanByRule` | boolean | Whether the request was banned by a custom rule |

**pageInfo** (object): Pagination metadata

- **hasPreviousPage** (boolean): Whether there are more results before the current page
    
- **hasNextPage** (boolean): Whether there are more results after the current page
    
- **startCursor** (string | null): Cursor pointing to the first item
    
- **endCursor** (string | null): Cursor pointing to the last item
    
- **total** (integer): Total number of requests found
    

## Example Response

``` json
{
  "edges": [
    {
      "cursor": "YXJyYXljb25uZWN0aW9uOjA=",
      "node": {
        "id": "req_abc123xyz",
        "token": "tok_def456",
        "customerId": "cust_789",
        "projectId": "185071d5-d4fe-4bea-93df-19d0bd8c2d0d",
        "siteKey": "sk_live_abc123",
        "serverKey": "srv_key_xyz",
        "referer": "https://example.com/login",
        "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)...",
        "host": "api.example.com",
        "requestMethod": "POST",
        "requestUri": "/api/v1/auth/login",
        "remoteAddr": "203.0.113.42",
        "serverName": "api-server-01",
        "remoteUser": null,
        "serverPort": 443,
        "requestInfo": "Login attempt",
        "failedMessage": "Rate limit exceeded",
        "failedChecks": "rate_limit",
        "customFields": [],
        "headers": "{\"Content-Type\":\"application/json\",\"Authorization\":\"Bearer ...\"}",
        "createdAt": "2024-08-24T15:32:10Z",
        "realIp": "203.0.113.42",
        "country": "USA",
        "asn": "AS15169",
        "isProtected": true,
        "isBanByRule": true
      }
    }
  ],
  "pageInfo": {
    "hasPreviousPage": false,
    "hasNextPage": true,
    "startCursor": "YXJyYXljb25uZWN0aW9uOjA=",
    "endCursor": "YXJyYXljb25uZWN0aW9uOjA=",
    "total": 15847
  }
}

 ```

## Use Cases

- **Security Investigation**: Analyze specific requests to understand security decisions
    
- **Debugging**: Troubleshoot why legitimate requests are being blocked
    
- **Audit Logging**: Maintain comprehensive logs for compliance and security audits
    
- **Threat Analysis**: Study attack patterns by examining declined request details
    
- **False Positive Analysis**: Review blocked requests to tune security rules
    
- **Performance Monitoring**: Track request patterns and identify bottlenecks
    
- **Customer Support**: Investigate user-reported issues with specific requests
    
- **Forensic Analysis**: Deep-dive into security incidents with complete request data
    

## Pagination Example

To retrieve the next page of results:

```
GET {base_url}/api/v1/{account_id}/projects/{project_id}/requests?after=YXJyYXljb25uZWN0aW9uOjA=&first=50

 ```

## Important Notes

- **Data Volume**: This endpoint can return large amounts of data; use pagination effectively
    
- **Headers**: The `headers` field contains a JSON string that needs to be parsed
    
- **IP Addresses**: `remoteAddr` shows the direct connection IP, while `realIp` shows the actual client IP (useful when behind proxies/CDNs)
    
- **Failed Requests**: Check `failedMessage` and `failedChecks` to understand why requests were declined
    
- **Custom Fields**: Use `customFields` to pass and retrieve application-specific data
    
- **Data Retention**: Request logs are retained according to your BotBye plan
    
- **Performance**: For high-traffic projects, consider filtering by date range to improve query performance
    
- **Privacy**: Request data may contain sensitive information; handle according to your privacy policies
    

## Filtering Best Practices

- Filter by date range for better performance on high-traffic projects
    
- Use `isBanByRule: true` to focus on rule-based blocks
    
- Filter by `country` or `asn` to analyze geographic patterns
    
- Combine filters to narrow down specific security events

Reference: https://api-docs.botbye.com/bot-bye-api/protection/validation-events/events

## OpenAPI Specification

```yaml
openapi: 3.1.0
info:
  title: collection
  version: 1.0.0
paths:
  /api/v1/{account_id}/projects/{project_id}/events:
    get:
      operationId: events
      summary: events
      description: >-
        # Get Requests


        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.


        ## Endpoint


        ```

        GET {base_url}/api/v1/{account_id}/projects/{project_id}/requests

         ```

        ## Authentication


        Requires API key authentication:


        ```

        Authorization: Bearer {api_key}

         ```

        ## Path Parameters


        | Parameter | Type | Required | Description |

        | --- | --- | --- | --- |

        | `account_id` | string | Yes | Your unique BotBye account identifier |

        | `project_id` | string | Yes | The project identifier for which to
        retrieve request logs |


        ## Query Parameters


        This endpoint supports pagination and filtering parameters:


        - **Pagination**: See [<code>Pagination query
        parameters</code>](http://botbye.com/docs/api) for details on `first`,
        `after`, `last`, `before` parameters
            
        - **Filtering**: Additional filters may be available for date ranges,
        request status, IP addresses, etc.
            

        ## Response Structure


        The response follows a cursor-based pagination pattern:


        ``` json

        {
          "edges": [
            {
              "cursor": "string",
              "node": {
                "id": "string",
                "token": "string",
                "customerId": "string",
                "projectId": "string",
                "siteKey": "string",
                "serverKey": "string",
                "referer": "string",
                "userAgent": "string",
                "host": "string",
                "requestMethod": "string",
                "requestUri": "string",
                "remoteAddr": "string",
                "serverName": "string",
                "remoteUser": "string",
                "serverPort": integer,
                "requestInfo": "string",
                "failedMessage": "string",
                "failedChecks": "string",
                "customFields": [],
                "headers": "string",
                "createdAt": "string",
                "realIp": "string",
                "country": "string",
                "asn": "string",
                "isProtected": boolean,
                "isBanByRule": boolean
              }
            }
          ],
          "pageInfo": {
            "hasPreviousPage": boolean,
            "hasNextPage": boolean,
            "startCursor": "string | null",
            "endCursor": "string | null",
            "total": integer
          }
        }

         ```

        ### Response Fields


        **edges** (array): Contains the request records


        - **cursor** (string): Pagination cursor for this record
            
        - **node** (object): The request data with the following fields:
            

        | Field | Type | Description |

        | --- | --- | --- |

        | `id` | string | Unique identifier for this request |

        | `token` | string | BotBye token associated with the request |

        | `customerId` | string | Customer identifier (if applicable) |

        | `projectId` | string | The project identifier |

        | `siteKey` | string | The site key used for this request |

        | `serverKey` | string | The server key used for validation |

        | `referer` | string | HTTP Referer header value |

        | `userAgent` | string | User-Agent header value |

        | `host` | string | Host header value |

        | `requestMethod` | string | HTTP method (GET, POST, PUT, DELETE, etc.)
        |

        | `requestUri` | string | The request URI/endpoint |

        | `remoteAddr` | string | IP address of the client |

        | `serverName` | string | Server name that processed the request |

        | `remoteUser` | string | Remote user identifier (if authenticated) |

        | `serverPort` | integer | Server port number |

        | `requestInfo` | string | Additional request information |

        | `failedMessage` | string | Reason for declining the request (if
        declined) |

        | `failedChecks` | string | Specific security checks that failed |

        | `customFields` | array | Custom fields passed with the request |

        | `headers` | string | Complete request headers (JSON string) |

        | `createdAt` | string | ISO 8601 timestamp when the request was
        processed |

        | `realIp` | string | Real IP address (if behind proxy/CDN) |

        | `country` | string | Country code (ISO 3166-1 alpha-3) of the IP |

        | `asn` | string | Autonomous System Number of the IP |

        | `isProtected` | boolean | Whether the request was protected by BotBye
        |

        | `isBanByRule` | boolean | Whether the request was banned by a custom
        rule |


        **pageInfo** (object): Pagination metadata


        - **hasPreviousPage** (boolean): Whether there are more results before
        the current page
            
        - **hasNextPage** (boolean): Whether there are more results after the
        current page
            
        - **startCursor** (string | null): Cursor pointing to the first item
            
        - **endCursor** (string | null): Cursor pointing to the last item
            
        - **total** (integer): Total number of requests found
            

        ## Example Response


        ``` json

        {
          "edges": [
            {
              "cursor": "YXJyYXljb25uZWN0aW9uOjA=",
              "node": {
                "id": "req_abc123xyz",
                "token": "tok_def456",
                "customerId": "cust_789",
                "projectId": "185071d5-d4fe-4bea-93df-19d0bd8c2d0d",
                "siteKey": "sk_live_abc123",
                "serverKey": "srv_key_xyz",
                "referer": "https://example.com/login",
                "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)...",
                "host": "api.example.com",
                "requestMethod": "POST",
                "requestUri": "/api/v1/auth/login",
                "remoteAddr": "203.0.113.42",
                "serverName": "api-server-01",
                "remoteUser": null,
                "serverPort": 443,
                "requestInfo": "Login attempt",
                "failedMessage": "Rate limit exceeded",
                "failedChecks": "rate_limit",
                "customFields": [],
                "headers": "{\"Content-Type\":\"application/json\",\"Authorization\":\"Bearer ...\"}",
                "createdAt": "2024-08-24T15:32:10Z",
                "realIp": "203.0.113.42",
                "country": "USA",
                "asn": "AS15169",
                "isProtected": true,
                "isBanByRule": true
              }
            }
          ],
          "pageInfo": {
            "hasPreviousPage": false,
            "hasNextPage": true,
            "startCursor": "YXJyYXljb25uZWN0aW9uOjA=",
            "endCursor": "YXJyYXljb25uZWN0aW9uOjA=",
            "total": 15847
          }
        }

         ```

        ## Use Cases


        - **Security Investigation**: Analyze specific requests to understand
        security decisions
            
        - **Debugging**: Troubleshoot why legitimate requests are being blocked
            
        - **Audit Logging**: Maintain comprehensive logs for compliance and
        security audits
            
        - **Threat Analysis**: Study attack patterns by examining declined
        request details
            
        - **False Positive Analysis**: Review blocked requests to tune security
        rules
            
        - **Performance Monitoring**: Track request patterns and identify
        bottlenecks
            
        - **Customer Support**: Investigate user-reported issues with specific
        requests
            
        - **Forensic Analysis**: Deep-dive into security incidents with complete
        request data
            

        ## Pagination Example


        To retrieve the next page of results:


        ```

        GET
        {base_url}/api/v1/{account_id}/projects/{project_id}/requests?after=YXJyYXljb25uZWN0aW9uOjA=&first=50

         ```

        ## Important Notes


        - **Data Volume**: This endpoint can return large amounts of data; use
        pagination effectively
            
        - **Headers**: The `headers` field contains a JSON string that needs to
        be parsed
            
        - **IP Addresses**: `remoteAddr` shows the direct connection IP, while
        `realIp` shows the actual client IP (useful when behind proxies/CDNs)
            
        - **Failed Requests**: Check `failedMessage` and `failedChecks` to
        understand why requests were declined
            
        - **Custom Fields**: Use `customFields` to pass and retrieve
        application-specific data
            
        - **Data Retention**: Request logs are retained according to your BotBye
        plan
            
        - **Performance**: For high-traffic projects, consider filtering by date
        range to improve query performance
            
        - **Privacy**: Request data may contain sensitive information; handle
        according to your privacy policies
            

        ## Filtering Best Practices


        - Filter by date range for better performance on high-traffic projects
            
        - Use `isBanByRule: true` to focus on rule-based blocks
            
        - Filter by `country` or `asn` to analyze geographic patterns
            
        - Combine filters to narrow down specific security events
      tags:
        - subpackage_validationEvents
      parameters:
        - name: account_id
          in: path
          required: true
          schema:
            type: string
        - name: project_id
          in: path
          required: true
          schema:
            type: string
        - name: cursor
          in: query
          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."
          required: false
          schema:
            type: string
        - name: where
          in: query
          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)."
          required: false
          schema:
            type: string
        - name: order_by
          in: query
          description: "(Optional): property by which to order by.\n\t- `fieldPath` (string): name of order field.\n\t- `direction` (string): `ASC` or `DESC`"
          required: false
          schema:
            type: string
        - name: limit
          in: query
          description: >-
            (Optional): specifies the maximum number of results to return in a
            single response. By default - 20, max - 100.
          required: false
          schema:
            type: string
      responses:
        '200':
          description: success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Validation Events_events_Response_200'
        '400':
          description: fail
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: >-
                    #/components/schemas/ApiV1AccountIdProjectsProjectIdEventsGetResponsesContentApplicationJsonSchemaItems
servers:
  - url: '{base_url}'
    description: '{base_url}'
components:
  schemas:
    ApiV1AccountIdProjectsProjectIdEventsGetResponsesContentApplicationJsonSchemaEdgesItemsNode:
      type: object
      properties:
        id:
          type: string
          format: uuid
        token:
          type: string
        customerId:
          type: string
          format: uuid
        projectId:
          type: string
          format: uuid
        siteKey:
          type: string
          format: uuid
        serverKey:
          type: string
          format: uuid
        referer:
          type: string
        userAgent:
          type: string
        host:
          type: string
          format: ip-address
        requestMethod:
          type: string
        requestUri:
          type: string
        remoteAddr:
          type: string
          format: ip-address
        serverName:
          type: string
        remoteUser:
          type: string
        serverPort:
          type: integer
        requestInfo:
          type: string
          format: style
        failedMessage:
          type: string
        failedChecks:
          type: string
        customFields:
          type: array
          items:
            type: string
            format: utc-millisec
        headers:
          type: string
        createdAt:
          type: string
          format: utc-millisec
        realIp:
          type: string
        country:
          type: string
        asn:
          type: string
        isProtected:
          type: boolean
        isBanByRule:
          type: boolean
        realCountry:
          type: string
        isBot:
          type: boolean
        ruleId:
          type: string
        requestStatus:
          type: string
        visitorId:
          type: string
        sessionId:
          type: string
      title: >-
        ApiV1AccountIdProjectsProjectIdEventsGetResponsesContentApplicationJsonSchemaEdgesItemsNode
    ApiV1AccountIdProjectsProjectIdEventsGetResponsesContentApplicationJsonSchemaEdgesItems:
      type: object
      properties:
        cursor:
          type: string
        node:
          $ref: >-
            #/components/schemas/ApiV1AccountIdProjectsProjectIdEventsGetResponsesContentApplicationJsonSchemaEdgesItemsNode
      required:
        - cursor
        - node
      title: >-
        ApiV1AccountIdProjectsProjectIdEventsGetResponsesContentApplicationJsonSchemaEdgesItems
    ApiV1AccountIdProjectsProjectIdEventsGetResponsesContentApplicationJsonSchemaPageInfo:
      type: object
      properties:
        hasPreviousPage:
          type: boolean
        hasNextPage:
          type: boolean
        startCursor:
          type: string
        endCursor:
          type: string
        total:
          type: integer
      required:
        - hasPreviousPage
        - hasNextPage
        - total
      title: >-
        ApiV1AccountIdProjectsProjectIdEventsGetResponsesContentApplicationJsonSchemaPageInfo
    ApiV1AccountIdProjectsProjectIdEventsGetResponsesContentApplicationJsonSchemaAttributes:
      type: object
      properties: {}
      title: >-
        ApiV1AccountIdProjectsProjectIdEventsGetResponsesContentApplicationJsonSchemaAttributes
    Validation Events_events_Response_200:
      type: object
      properties:
        edges:
          type: array
          items:
            $ref: >-
              #/components/schemas/ApiV1AccountIdProjectsProjectIdEventsGetResponsesContentApplicationJsonSchemaEdgesItems
        pageInfo:
          $ref: >-
            #/components/schemas/ApiV1AccountIdProjectsProjectIdEventsGetResponsesContentApplicationJsonSchemaPageInfo
        attributes:
          $ref: >-
            #/components/schemas/ApiV1AccountIdProjectsProjectIdEventsGetResponsesContentApplicationJsonSchemaAttributes
      required:
        - edges
        - pageInfo
        - attributes
      title: Validation Events_events_Response_200
    ApiV1AccountIdProjectsProjectIdEventsGetResponsesContentApplicationJsonSchemaItemsContext:
      type: object
      properties:
        param:
          type: string
        type:
          type: string
      title: >-
        ApiV1AccountIdProjectsProjectIdEventsGetResponsesContentApplicationJsonSchemaItemsContext
    ApiV1AccountIdProjectsProjectIdEventsGetResponsesContentApplicationJsonSchemaItems:
      type: object
      properties:
        message:
          type: string
        code:
          type: string
        type:
          type: string
        context:
          $ref: >-
            #/components/schemas/ApiV1AccountIdProjectsProjectIdEventsGetResponsesContentApplicationJsonSchemaItemsContext
      required:
        - message
        - code
        - type
      title: >-
        ApiV1AccountIdProjectsProjectIdEventsGetResponsesContentApplicationJsonSchemaItems

```

## Examples



**Response**

```json
{
  "edges": [
    {
      "cursor": "MjAyNC0wNi0wM1QxMzoxNjoyNi41MTNaLDAxOTBkOWYxLTQ2OTEtNzIyYy1hNzlmLWQ5ZmQ0NmJmMDY1YQ==",
      "node": {
        "id": "0190d9f1-4691-722c-a79f-d9fd46bf065a",
        "token": "P19QiBW+Qn5lczgfdXAmy7kSwASb09TSBsLKiAzeH651CtPqk+7Y31ftntNATByyhg0=",
        "customerId": "c415a474-be24-11eb-8529-0242ac130003",
        "projectId": "185071d5-d4fe-4bea-93df-19d0bd8c2d0d",
        "siteKey": "e610df2f-2ab3-48b3-90a0-4502b10e1e98",
        "serverKey": "ee6c6c65-b696-43a1-8ed1-624f67dc3fc8",
        "referer": "",
        "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",
        "host": "127.0.0.1",
        "requestMethod": "GET",
        "requestUri": "/register",
        "remoteAddr": "104.28.247.47",
        "serverName": "localhost",
        "remoteUser": "",
        "serverPort": 80,
        "requestInfo": "{\"request_uri\":\"\",\"request_method\":\"GET\",\"server_name\":\"\",\"remote_addr\":\"\",\"server_port\":0}",
        "failedMessage": "isBot",
        "failedChecks": "",
        "customFields": [
          "1",
          "",
          ""
        ],
        "headers": "{}",
        "createdAt": "1717420586513",
        "realIp": "",
        "country": "DEU",
        "asn": "",
        "isProtected": false,
        "isBanByRule": true,
        "realCountry": "",
        "isBot": false,
        "ruleId": "00000000-0000-0000-0000-000000000000",
        "requestStatus": "DECLINED",
        "visitorId": "visitorId8",
        "sessionId": "sessionId2"
      }
    },
    {
      "cursor": "MjAyNC0wNi0wM1QxMzoxNjoyNi41MTRaLDAxOTBkOWYxLTQ2OTItN2M2NC1iYTcyLWQ0MjRhMDU4ZGU2NA==",
      "node": {
        "id": "0190d9f1-4692-7c64-ba72-d424a058de64",
        "token": "P19QiBW+Qn5lczgfdXAmy7kSwASb09TSBsLKiAzeH651CtPqk+7Y31ftntNATByyhg0=",
        "customerId": "d415a474-be24-11eb-8529-0242ac130003",
        "projectId": "ead5d8e1-1b0b-4465-899e-3e882c51133b",
        "siteKey": "ec095e98-07ca-4009-9b3a-b4703e5107d6",
        "serverKey": "666f49f6-7678-494b-833d-85690d653ee8",
        "referer": "",
        "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36",
        "host": "127.0.0.1",
        "requestMethod": "GET",
        "requestUri": "/book",
        "remoteAddr": "116.202.24.183",
        "serverName": "localhost",
        "remoteUser": "",
        "serverPort": 80,
        "requestInfo": "{\"request_uri\":\"\",\"request_method\":\"GET\",\"server_name\":\"\",\"remote_addr\":\"\",\"server_port\":0}",
        "failedMessage": "",
        "failedChecks": "",
        "customFields": [
          "1",
          "",
          ""
        ],
        "headers": "{}",
        "createdAt": "1717420586514",
        "realIp": "",
        "country": "USA",
        "asn": "",
        "isProtected": false,
        "isBanByRule": false,
        "realCountry": "",
        "isBot": false,
        "ruleId": "00000000-0000-0000-0000-000000000000",
        "requestStatus": "ALLOWED",
        "visitorId": "visitorId3",
        "sessionId": "sessionId1"
      }
    },
    {
      "cursor": "MjAyNC0wNi0wM1QxMzoxNjoyNi41MTVaLDAxOTBkOWYxLTQ2OTMtN2Y3MS1iMDdiLTVmYzFmMmMzODlhZg==",
      "node": {
        "id": "0190d9f1-4693-7f71-b07b-5fc1f2c389af",
        "token": "P19QiBW+Qn5lczgfdXAmy7kSwASb09TSBsLKiAzeH651CtPqk+7Y31ftntNATByyhg0=",
        "customerId": "c415a474-be24-11eb-8529-0242ac130003",
        "projectId": "5c53992b-30b7-4ac0-99e6-b36492857f03",
        "siteKey": "43de1194-80dc-466f-b027-01b552d0a7ed",
        "serverKey": "446a046c-3b60-4694-b6ca-07c0e1dc76d5",
        "referer": "",
        "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",
        "host": "127.0.0.1",
        "requestMethod": "GET",
        "requestUri": "/register",
        "remoteAddr": "104.28.247.47",
        "serverName": "localhost",
        "remoteUser": "",
        "serverPort": 80,
        "requestInfo": "{\"request_uri\":\"\",\"request_method\":\"GET\",\"server_name\":\"\",\"remote_addr\":\"\",\"server_port\":0}",
        "failedMessage": "",
        "failedChecks": "",
        "customFields": [
          "1",
          "",
          ""
        ],
        "headers": "{}",
        "createdAt": "1717420586515",
        "realIp": "",
        "country": "USA",
        "asn": "",
        "isProtected": false,
        "isBanByRule": false,
        "realCountry": "",
        "isBot": false,
        "ruleId": "00000000-0000-0000-0000-000000000000",
        "requestStatus": "ALLOWED",
        "visitorId": "visitorId0",
        "sessionId": "sessionId0"
      }
    },
    {
      "cursor": "MjAyNC0wNi0wM1QxMzoxNjoyNi41MTVaLDAxOTBkOWYxLTQ2OTMtN2Y3MS1iMGI3LWU0MTg3OWE1YjZmOQ==",
      "node": {
        "id": "0190d9f1-4693-7f71-b0b7-e41879a5b6f9",
        "token": "P19QiBW+Qn5lczgfdXAmy7kSwASb09TSBsLKiAzeH651CtPqk+7Y31ftntNATByyhg0=",
        "customerId": "c415a474-be24-11eb-8529-0242ac130003",
        "projectId": "5c53992b-30b7-4ac0-99e6-b36492857f03",
        "siteKey": "43de1194-80dc-466f-b027-01b552d0a7ed",
        "serverKey": "446a046c-3b60-4694-b6ca-07c0e1dc76d5",
        "referer": "",
        "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36",
        "host": "127.0.0.1",
        "requestMethod": "GET",
        "requestUri": "/register",
        "remoteAddr": "104.28.247.47",
        "serverName": "localhost",
        "remoteUser": "",
        "serverPort": 80,
        "requestInfo": "{\"request_uri\":\"\",\"request_method\":\"GET\",\"server_name\":\"\",\"remote_addr\":\"\",\"server_port\":0}",
        "failedMessage": "",
        "failedChecks": "",
        "customFields": [
          "1",
          "",
          ""
        ],
        "headers": "{}",
        "createdAt": "1717420586515",
        "realIp": "",
        "country": "BLR",
        "asn": "",
        "isProtected": false,
        "isBanByRule": false,
        "realCountry": "",
        "isBot": false,
        "ruleId": "00000000-0000-0000-0000-000000000000",
        "requestStatus": "ALLOWED",
        "visitorId": "visitorId4",
        "sessionId": "sessionId1"
      }
    },
    {
      "cursor": "MjAyNC0wNi0wM1QxMzoxNjoyNi41MTZaLDAxOTBkOWYxLTQ2OTQtN2FhNi04MTU3LWQ2MmYzY2NmZDhiNw==",
      "node": {
        "id": "0190d9f1-4694-7aa6-8157-d62f3ccfd8b7",
        "token": "P19QiBW+Qn5lczgfdXAmy7kSwASb09TSBsLKiAzeH651CtPqk+7Y31ftntNATByyhg0=",
        "customerId": "c415a474-be24-11eb-8529-0242ac130003",
        "projectId": "185071d5-d4fe-4bea-93df-19d0bd8c2d0d",
        "siteKey": "e610df2f-2ab3-48b3-90a0-4502b10e1e98",
        "serverKey": "ee6c6c65-b696-43a1-8ed1-624f67dc3fc8",
        "referer": "",
        "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100101 Firefox/89.0",
        "host": "127.0.0.1",
        "requestMethod": "GET",
        "requestUri": "/login",
        "remoteAddr": "104.28.247.47",
        "serverName": "localhost",
        "remoteUser": "",
        "serverPort": 80,
        "requestInfo": "{\"request_uri\":\"\",\"request_method\":\"GET\",\"server_name\":\"\",\"remote_addr\":\"\",\"server_port\":0}",
        "failedMessage": "isBot",
        "failedChecks": "",
        "customFields": [
          "1",
          "",
          ""
        ],
        "headers": "{}",
        "createdAt": "1717420586516",
        "realIp": "",
        "country": "USA",
        "asn": "",
        "isProtected": false,
        "isBanByRule": true,
        "realCountry": "",
        "isBot": false,
        "ruleId": "00000000-0000-0000-0000-000000000000",
        "requestStatus": "DECLINED",
        "visitorId": "visitorId3",
        "sessionId": "sessionId1"
      }
    },
    {
      "cursor": "MjAyNC0wNi0wM1QxMzoxNjoyNi41MTZaLDAxOTBkOWYxLTQ2OTQtN2FhNi04MTkzLWM1MTI3NmU1M2Y5Ng==",
      "node": {
        "id": "0190d9f1-4694-7aa6-8193-c51276e53f96",
        "token": "P19QiBW+Qn5lczgfdXAmy7kSwASb09TSBsLKiAzeH651CtPqk+7Y31ftntNATByyhg0=",
        "customerId": "c415a474-be24-11eb-8529-0242ac130003",
        "projectId": "185071d5-d4fe-4bea-93df-19d0bd8c2d0d",
        "siteKey": "e610df2f-2ab3-48b3-90a0-4502b10e1e98",
        "serverKey": "ee6c6c65-b696-43a1-8ed1-624f67dc3fc8",
        "referer": "",
        "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",
        "host": "127.0.0.1",
        "requestMethod": "GET",
        "requestUri": "/protect",
        "remoteAddr": "116.202.24.183",
        "serverName": "localhost",
        "remoteUser": "",
        "serverPort": 80,
        "requestInfo": "{\"request_uri\":\"\",\"request_method\":\"GET\",\"server_name\":\"\",\"remote_addr\":\"\",\"server_port\":0}",
        "failedMessage": "isBot",
        "failedChecks": "",
        "customFields": [
          "1",
          "",
          ""
        ],
        "headers": "{}",
        "createdAt": "1717420586516",
        "realIp": "",
        "country": "USA",
        "asn": "",
        "isProtected": false,
        "isBanByRule": false,
        "realCountry": "",
        "isBot": false,
        "ruleId": "00000000-0000-0000-0000-000000000000",
        "requestStatus": "ALLOWED",
        "visitorId": "visitorId4",
        "sessionId": "sessionId2"
      }
    },
    {
      "cursor": "MjAyNC0wNi0wM1QxMzoxNjoyNi41MTdaLDAxOTBkOWYxLTQ2OTUtNzc2Yi1iNWZlLTU2NzBlNTc1YTU5Ng==",
      "node": {
        "id": "0190d9f1-4695-776b-b5fe-5670e575a596",
        "token": "P19QiBW+Qn5lczgfdXAmy7kSwASb09TSBsLKiAzeH651CtPqk+7Y31ftntNATByyhg0=",
        "customerId": "d415a474-be24-11eb-8529-0242ac130003",
        "projectId": "ead5d8e1-1b0b-4465-899e-3e882c51133b",
        "siteKey": "ec095e98-07ca-4009-9b3a-b4703e5107d6",
        "serverKey": "666f49f6-7678-494b-833d-85690d653ee8",
        "referer": "",
        "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100101 Firefox/89.0",
        "host": "127.0.0.1",
        "requestMethod": "GET",
        "requestUri": "/register",
        "remoteAddr": "116.202.24.183",
        "serverName": "localhost",
        "remoteUser": "",
        "serverPort": 80,
        "requestInfo": "{\"request_uri\":\"\",\"request_method\":\"GET\",\"server_name\":\"\",\"remote_addr\":\"\",\"server_port\":0}",
        "failedMessage": "isBot",
        "failedChecks": "",
        "customFields": [
          "1",
          "",
          ""
        ],
        "headers": "{}",
        "createdAt": "1717420586517",
        "realIp": "",
        "country": "BLR",
        "asn": "",
        "isProtected": false,
        "isBanByRule": true,
        "realCountry": "",
        "isBot": false,
        "ruleId": "00000000-0000-0000-0000-000000000000",
        "requestStatus": "DECLINED",
        "visitorId": "visitorId7",
        "sessionId": "sessionId1"
      }
    },
    {
      "cursor": "MjAyNC0wNi0wM1QxMzoxNjoyNi41MTdaLDAxOTBkOWYxLTQ2OTUtNzc2Yi1iNjNhLTcwNzM2OWY2MjdiZQ==",
      "node": {
        "id": "0190d9f1-4695-776b-b63a-707369f627be",
        "token": "P19QiBW+Qn5lczgfdXAmy7kSwASb09TSBsLKiAzeH651CtPqk+7Y31ftntNATByyhg0=",
        "customerId": "c415a474-be24-11eb-8529-0242ac130003",
        "projectId": "185071d5-d4fe-4bea-93df-19d0bd8c2d0d",
        "siteKey": "e610df2f-2ab3-48b3-90a0-4502b10e1e98",
        "serverKey": "ee6c6c65-b696-43a1-8ed1-624f67dc3fc8",
        "referer": "",
        "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",
        "host": "127.0.0.1",
        "requestMethod": "GET",
        "requestUri": "/login",
        "remoteAddr": "82.209.216.44",
        "serverName": "localhost",
        "remoteUser": "",
        "serverPort": 80,
        "requestInfo": "{\"request_uri\":\"\",\"request_method\":\"GET\",\"server_name\":\"\",\"remote_addr\":\"\",\"server_port\":0}",
        "failedMessage": "",
        "failedChecks": "",
        "customFields": [
          "1",
          "",
          ""
        ],
        "headers": "{}",
        "createdAt": "1717420586517",
        "realIp": "",
        "country": "BLR",
        "asn": "",
        "isProtected": false,
        "isBanByRule": false,
        "realCountry": "",
        "isBot": false,
        "ruleId": "00000000-0000-0000-0000-000000000000",
        "requestStatus": "ALLOWED",
        "visitorId": "visitorId2",
        "sessionId": "sessionId1"
      }
    },
    {
      "cursor": "MjAyNC0wNi0wM1QxMzoxNjoyNi41MTdaLDAxOTBkOWYxLTQ2OTUtNzc2Yi1iNjc2LTcyMmY5NzE0YjdiYg==",
      "node": {
        "id": "0190d9f1-4695-776b-b676-722f9714b7bb",
        "token": "P19QiBW+Qn5lczgfdXAmy7kSwASb09TSBsLKiAzeH651CtPqk+7Y31ftntNATByyhg0=",
        "customerId": "d415a474-be24-11eb-8529-0242ac130003",
        "projectId": "ead5d8e1-1b0b-4465-899e-3e882c51133b",
        "siteKey": "ec095e98-07ca-4009-9b3a-b4703e5107d6",
        "serverKey": "666f49f6-7678-494b-833d-85690d653ee8",
        "referer": "",
        "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36",
        "host": "127.0.0.1",
        "requestMethod": "GET",
        "requestUri": "/login",
        "remoteAddr": "82.209.216.44",
        "serverName": "localhost",
        "remoteUser": "",
        "serverPort": 80,
        "requestInfo": "{\"request_uri\":\"\",\"request_method\":\"GET\",\"server_name\":\"\",\"remote_addr\":\"\",\"server_port\":0}",
        "failedMessage": "",
        "failedChecks": "",
        "customFields": [
          "1",
          "",
          ""
        ],
        "headers": "{}",
        "createdAt": "1717420586517",
        "realIp": "",
        "country": "DEU",
        "asn": "",
        "isProtected": false,
        "isBanByRule": true,
        "realCountry": "",
        "isBot": false,
        "ruleId": "00000000-0000-0000-0000-000000000000",
        "requestStatus": "DECLINED",
        "visitorId": "visitorId0",
        "sessionId": "sessionId1"
      }
    },
    {
      "cursor": "MjAyNC0wNi0wM1QxMzoxNjoyNi41MTdaLDAxOTBkOWYxLTQ2OTUtNzc2Yi1iNmIyLTRjN2I3NGUwYWQyOQ==",
      "node": {
        "id": "0190d9f1-4695-776b-b6b2-4c7b74e0ad29",
        "token": "P19QiBW+Qn5lczgfdXAmy7kSwASb09TSBsLKiAzeH651CtPqk+7Y31ftntNATByyhg0=",
        "customerId": "c415a474-be24-11eb-8529-0242ac130003",
        "projectId": "185071d5-d4fe-4bea-93df-19d0bd8c2d0d",
        "siteKey": "e610df2f-2ab3-48b3-90a0-4502b10e1e98",
        "serverKey": "ee6c6c65-b696-43a1-8ed1-624f67dc3fc8",
        "referer": "",
        "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",
        "host": "127.0.0.1",
        "requestMethod": "GET",
        "requestUri": "/login",
        "remoteAddr": "116.202.24.183",
        "serverName": "localhost",
        "remoteUser": "",
        "serverPort": 80,
        "requestInfo": "{\"request_uri\":\"\",\"request_method\":\"GET\",\"server_name\":\"\",\"remote_addr\":\"\",\"server_port\":0}",
        "failedMessage": "isBot",
        "failedChecks": "",
        "customFields": [
          "1",
          "",
          ""
        ],
        "headers": "{}",
        "createdAt": "1717420586517",
        "realIp": "",
        "country": "BLR",
        "asn": "",
        "isProtected": false,
        "isBanByRule": true,
        "realCountry": "",
        "isBot": false,
        "ruleId": "00000000-0000-0000-0000-000000000000",
        "requestStatus": "DECLINED",
        "visitorId": "visitorId7",
        "sessionId": "sessionId1"
      }
    },
    {
      "cursor": "MjAyNC0wNi0wM1QxMzoxNjoyNi41MTdaLDAxOTBkOWYxLTQ2OTUtNzc2Yi1iNmVlLTdlOTMzNDI0ODQ4Yw==",
      "node": {
        "id": "0190d9f1-4695-776b-b6ee-7e933424848c",
        "token": "P19QiBW+Qn5lczgfdXAmy7kSwASb09TSBsLKiAzeH651CtPqk+7Y31ftntNATByyhg0=",
        "customerId": "d415a474-be24-11eb-8529-0242ac130003",
        "projectId": "ead5d8e1-1b0b-4465-899e-3e882c51133b",
        "siteKey": "ec095e98-07ca-4009-9b3a-b4703e5107d6",
        "serverKey": "666f49f6-7678-494b-833d-85690d653ee8",
        "referer": "",
        "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",
        "host": "127.0.0.1",
        "requestMethod": "GET",
        "requestUri": "/login",
        "remoteAddr": "82.209.216.44",
        "serverName": "localhost",
        "remoteUser": "",
        "serverPort": 80,
        "requestInfo": "{\"request_uri\":\"\",\"request_method\":\"GET\",\"server_name\":\"\",\"remote_addr\":\"\",\"server_port\":0}",
        "failedMessage": "",
        "failedChecks": "",
        "customFields": [
          "1",
          "",
          ""
        ],
        "headers": "{}",
        "createdAt": "1717420586517",
        "realIp": "",
        "country": "BLR",
        "asn": "",
        "isProtected": false,
        "isBanByRule": true,
        "realCountry": "",
        "isBot": false,
        "ruleId": "00000000-0000-0000-0000-000000000000",
        "requestStatus": "DECLINED",
        "visitorId": "visitorId5",
        "sessionId": "sessionId1"
      }
    },
    {
      "cursor": "MjAyNC0wNi0wM1QxMzoxNjoyNi41MThaLDAxOTBkOWYxLTQ2OTYtNzc3Ni1hMWU2LWIyY2U4NzQ1MGU3Mg==",
      "node": {
        "id": "0190d9f1-4696-7776-a1e6-b2ce87450e72",
        "token": "P19QiBW+Qn5lczgfdXAmy7kSwASb09TSBsLKiAzeH651CtPqk+7Y31ftntNATByyhg0=",
        "customerId": "d415a474-be24-11eb-8529-0242ac130003",
        "projectId": "ead5d8e1-1b0b-4465-899e-3e882c51133b",
        "siteKey": "ec095e98-07ca-4009-9b3a-b4703e5107d6",
        "serverKey": "666f49f6-7678-494b-833d-85690d653ee8",
        "referer": "",
        "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36",
        "host": "127.0.0.1",
        "requestMethod": "GET",
        "requestUri": "/register",
        "remoteAddr": "82.209.216.44",
        "serverName": "localhost",
        "remoteUser": "",
        "serverPort": 80,
        "requestInfo": "{\"request_uri\":\"\",\"request_method\":\"GET\",\"server_name\":\"\",\"remote_addr\":\"\",\"server_port\":0}",
        "failedMessage": "",
        "failedChecks": "",
        "customFields": [
          "1",
          "",
          ""
        ],
        "headers": "{}",
        "createdAt": "1717420586518",
        "realIp": "",
        "country": "DEU",
        "asn": "",
        "isProtected": false,
        "isBanByRule": true,
        "realCountry": "",
        "isBot": false,
        "ruleId": "00000000-0000-0000-0000-000000000000",
        "requestStatus": "DECLINED",
        "visitorId": "visitorId1",
        "sessionId": "sessionId2"
      }
    },
    {
      "cursor": "MjAyNC0wNi0wM1QxMzoxNjoyNi41MThaLDAxOTBkOWYxLTQ2OTYtNzc3Ni1hMjIyLTI5NmQzNzdjMjg1YQ==",
      "node": {
        "id": "0190d9f1-4696-7776-a222-296d377c285a",
        "token": "P19QiBW+Qn5lczgfdXAmy7kSwASb09TSBsLKiAzeH651CtPqk+7Y31ftntNATByyhg0=",
        "customerId": "c415a474-be24-11eb-8529-0242ac130003",
        "projectId": "5c53992b-30b7-4ac0-99e6-b36492857f03",
        "siteKey": "43de1194-80dc-466f-b027-01b552d0a7ed",
        "serverKey": "446a046c-3b60-4694-b6ca-07c0e1dc76d5",
        "referer": "",
        "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",
        "host": "127.0.0.1",
        "requestMethod": "GET",
        "requestUri": "/login",
        "remoteAddr": "82.209.216.44",
        "serverName": "localhost",
        "remoteUser": "",
        "serverPort": 80,
        "requestInfo": "{\"request_uri\":\"\",\"request_method\":\"GET\",\"server_name\":\"\",\"remote_addr\":\"\",\"server_port\":0}",
        "failedMessage": "isBot",
        "failedChecks": "",
        "customFields": [
          "1",
          "",
          ""
        ],
        "headers": "{}",
        "createdAt": "1717420586518",
        "realIp": "",
        "country": "DEU",
        "asn": "",
        "isProtected": false,
        "isBanByRule": false,
        "realCountry": "",
        "isBot": false,
        "ruleId": "00000000-0000-0000-0000-000000000000",
        "requestStatus": "ALLOWED",
        "visitorId": "visitorId0",
        "sessionId": "sessionId2"
      }
    },
    {
      "cursor": "MjAyNC0wNi0wM1QxMzoxNzoyNi41MTRaLDAxOTBkOWYxLTQ2OTItN2M2NC1iYTM3LTllYjIxYzE1MjY1Nw==",
      "node": {
        "id": "0190d9f1-4692-7c64-ba37-9eb21c152657",
        "token": "P19QiBW+Qn5lczgfdXAmy7kSwASb09TSBsLKiAzeH651CtPqk+7Y31ftntNATByyhg0=",
        "customerId": "c415a474-be24-11eb-8529-0242ac130003",
        "projectId": "185071d5-d4fe-4bea-93df-19d0bd8c2d0d",
        "siteKey": "e610df2f-2ab3-48b3-90a0-4502b10e1e98",
        "serverKey": "ee6c6c65-b696-43a1-8ed1-624f67dc3fc8",
        "referer": "",
        "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100101 Firefox/89.0",
        "host": "127.0.0.1",
        "requestMethod": "GET",
        "requestUri": "/login",
        "remoteAddr": "104.28.247.47",
        "serverName": "localhost",
        "remoteUser": "",
        "serverPort": 80,
        "requestInfo": "{\"request_uri\":\"\",\"request_method\":\"GET\",\"server_name\":\"\",\"remote_addr\":\"\",\"server_port\":0}",
        "failedMessage": "isBot",
        "failedChecks": "",
        "customFields": [
          "1",
          "",
          ""
        ],
        "headers": "{}",
        "createdAt": "1717420646514",
        "realIp": "",
        "country": "DEU",
        "asn": "",
        "isProtected": false,
        "isBanByRule": true,
        "realCountry": "",
        "isBot": false,
        "ruleId": "00000000-0000-0000-0000-000000000000",
        "requestStatus": "DECLINED",
        "visitorId": "visitorId2",
        "sessionId": "sessionId2"
      }
    },
    {
      "cursor": "MjAyNC0wNi0wM1QxMzoxNzoyNi41MTVaLDAxOTBkOWYxLTQ2OTMtN2Y3MS1iMDQwLWYyNmQwNjQ4MjYzYw==",
      "node": {
        "id": "0190d9f1-4693-7f71-b040-f26d0648263c",
        "token": "P19QiBW+Qn5lczgfdXAmy7kSwASb09TSBsLKiAzeH651CtPqk+7Y31ftntNATByyhg0=",
        "customerId": "c415a474-be24-11eb-8529-0242ac130003",
        "projectId": "185071d5-d4fe-4bea-93df-19d0bd8c2d0d",
        "siteKey": "e610df2f-2ab3-48b3-90a0-4502b10e1e98",
        "serverKey": "ee6c6c65-b696-43a1-8ed1-624f67dc3fc8",
        "referer": "",
        "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36",
        "host": "127.0.0.1",
        "requestMethod": "GET",
        "requestUri": "/book",
        "remoteAddr": "116.202.24.183",
        "serverName": "localhost",
        "remoteUser": "",
        "serverPort": 80,
        "requestInfo": "{\"request_uri\":\"\",\"request_method\":\"GET\",\"server_name\":\"\",\"remote_addr\":\"\",\"server_port\":0}",
        "failedMessage": "",
        "failedChecks": "",
        "customFields": [
          "1",
          "",
          ""
        ],
        "headers": "{}",
        "createdAt": "1717420646515",
        "realIp": "",
        "country": "USA",
        "asn": "",
        "isProtected": false,
        "isBanByRule": true,
        "realCountry": "",
        "isBot": false,
        "ruleId": "00000000-0000-0000-0000-000000000000",
        "requestStatus": "DECLINED",
        "visitorId": "visitorId5",
        "sessionId": "sessionId2"
      }
    },
    {
      "cursor": "MjAyNC0wNi0wM1QxMzoxNzoyNi41MTVaLDAxOTBkOWYxLTQ2OTMtN2Y3MS1iMDdjLTk5MjhkMGIyM2M3MA==",
      "node": {
        "id": "0190d9f1-4693-7f71-b07c-9928d0b23c70",
        "token": "P19QiBW+Qn5lczgfdXAmy7kSwASb09TSBsLKiAzeH651CtPqk+7Y31ftntNATByyhg0=",
        "customerId": "d415a474-be24-11eb-8529-0242ac130003",
        "projectId": "ead5d8e1-1b0b-4465-899e-3e882c51133b",
        "siteKey": "ec095e98-07ca-4009-9b3a-b4703e5107d6",
        "serverKey": "666f49f6-7678-494b-833d-85690d653ee8",
        "referer": "",
        "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",
        "host": "127.0.0.1",
        "requestMethod": "GET",
        "requestUri": "/register",
        "remoteAddr": "82.209.216.44",
        "serverName": "localhost",
        "remoteUser": "",
        "serverPort": 80,
        "requestInfo": "{\"request_uri\":\"\",\"request_method\":\"GET\",\"server_name\":\"\",\"remote_addr\":\"\",\"server_port\":0}",
        "failedMessage": "",
        "failedChecks": "",
        "customFields": [
          "1",
          "",
          ""
        ],
        "headers": "{}",
        "createdAt": "1717420646515",
        "realIp": "",
        "country": "USA",
        "asn": "",
        "isProtected": false,
        "isBanByRule": true,
        "realCountry": "",
        "isBot": false,
        "ruleId": "00000000-0000-0000-0000-000000000000",
        "requestStatus": "DECLINED",
        "visitorId": "visitorId1",
        "sessionId": "sessionId1"
      }
    },
    {
      "cursor": "MjAyNC0wNi0wM1QxMzoxNzoyNi41MTVaLDAxOTBkOWYxLTQ2OTMtN2Y3MS1iMGI4LWRlNWFhZmZhMTViNw==",
      "node": {
        "id": "0190d9f1-4693-7f71-b0b8-de5aaffa15b7",
        "token": "P19QiBW+Qn5lczgfdXAmy7kSwASb09TSBsLKiAzeH651CtPqk+7Y31ftntNATByyhg0=",
        "customerId": "d415a474-be24-11eb-8529-0242ac130003",
        "projectId": "ead5d8e1-1b0b-4465-899e-3e882c51133b",
        "siteKey": "ec095e98-07ca-4009-9b3a-b4703e5107d6",
        "serverKey": "666f49f6-7678-494b-833d-85690d653ee8",
        "referer": "",
        "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",
        "host": "127.0.0.1",
        "requestMethod": "GET",
        "requestUri": "/login",
        "remoteAddr": "104.28.247.47",
        "serverName": "localhost",
        "remoteUser": "",
        "serverPort": 80,
        "requestInfo": "{\"request_uri\":\"\",\"request_method\":\"GET\",\"server_name\":\"\",\"remote_addr\":\"\",\"server_port\":0}",
        "failedMessage": "",
        "failedChecks": "",
        "customFields": [
          "1",
          "",
          ""
        ],
        "headers": "{}",
        "createdAt": "1717420646515",
        "realIp": "",
        "country": "DEU",
        "asn": "",
        "isProtected": false,
        "isBanByRule": true,
        "realCountry": "",
        "isBot": false,
        "ruleId": "00000000-0000-0000-0000-000000000000",
        "requestStatus": "DECLINED",
        "visitorId": "visitorId2",
        "sessionId": "sessionId0"
      }
    },
    {
      "cursor": "MjAyNC0wNi0wM1QxMzoxNzoyNi41MTZaLDAxOTBkOWYxLTQ2OTQtN2FhNi04MTU4LTZmNzNkNTNlYzk0Yw==",
      "node": {
        "id": "0190d9f1-4694-7aa6-8158-6f73d53ec94c",
        "token": "P19QiBW+Qn5lczgfdXAmy7kSwASb09TSBsLKiAzeH651CtPqk+7Y31ftntNATByyhg0=",
        "customerId": "c415a474-be24-11eb-8529-0242ac130003",
        "projectId": "185071d5-d4fe-4bea-93df-19d0bd8c2d0d",
        "siteKey": "e610df2f-2ab3-48b3-90a0-4502b10e1e98",
        "serverKey": "ee6c6c65-b696-43a1-8ed1-624f67dc3fc8",
        "referer": "",
        "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100101 Firefox/89.0",
        "host": "127.0.0.1",
        "requestMethod": "GET",
        "requestUri": "/register",
        "remoteAddr": "116.202.24.183",
        "serverName": "localhost",
        "remoteUser": "",
        "serverPort": 80,
        "requestInfo": "{\"request_uri\":\"\",\"request_method\":\"GET\",\"server_name\":\"\",\"remote_addr\":\"\",\"server_port\":0}",
        "failedMessage": "isBot",
        "failedChecks": "",
        "customFields": [
          "1",
          "",
          ""
        ],
        "headers": "{}",
        "createdAt": "1717420646516",
        "realIp": "",
        "country": "USA",
        "asn": "",
        "isProtected": false,
        "isBanByRule": false,
        "realCountry": "",
        "isBot": false,
        "ruleId": "00000000-0000-0000-0000-000000000000",
        "requestStatus": "ALLOWED",
        "visitorId": "visitorId0",
        "sessionId": "sessionId1"
      }
    },
    {
      "cursor": "MjAyNC0wNi0wM1QxMzoxNzoyNi41MTZaLDAxOTBkOWYxLTQ2OTQtN2FhNi04MTk0LTE1Njg1NGE1ZThiYg==",
      "node": {
        "id": "0190d9f1-4694-7aa6-8194-156854a5e8bb",
        "token": "P19QiBW+Qn5lczgfdXAmy7kSwASb09TSBsLKiAzeH651CtPqk+7Y31ftntNATByyhg0=",
        "customerId": "c415a474-be24-11eb-8529-0242ac130003",
        "projectId": "5c53992b-30b7-4ac0-99e6-b36492857f03",
        "siteKey": "43de1194-80dc-466f-b027-01b552d0a7ed",
        "serverKey": "446a046c-3b60-4694-b6ca-07c0e1dc76d5",
        "referer": "",
        "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100101 Firefox/89.0",
        "host": "127.0.0.1",
        "requestMethod": "GET",
        "requestUri": "/protect",
        "remoteAddr": "82.209.216.44",
        "serverName": "localhost",
        "remoteUser": "",
        "serverPort": 80,
        "requestInfo": "{\"request_uri\":\"\",\"request_method\":\"GET\",\"server_name\":\"\",\"remote_addr\":\"\",\"server_port\":0}",
        "failedMessage": "",
        "failedChecks": "",
        "customFields": [
          "1",
          "",
          ""
        ],
        "headers": "{}",
        "createdAt": "1717420646516",
        "realIp": "",
        "country": "BLR",
        "asn": "",
        "isProtected": false,
        "isBanByRule": false,
        "realCountry": "",
        "isBot": false,
        "ruleId": "00000000-0000-0000-0000-000000000000",
        "requestStatus": "ALLOWED",
        "visitorId": "visitorId6",
        "sessionId": "sessionId0"
      }
    },
    {
      "cursor": "MjAyNC0wNi0wM1QxMzoxNzoyNi41MTdaLDAxOTBkOWYxLTQ2OTUtNzc2Yi1iNWZmLTNmYTBlMjc3NzI0MA==",
      "node": {
        "id": "0190d9f1-4695-776b-b5ff-3fa0e2777240",
        "token": "P19QiBW+Qn5lczgfdXAmy7kSwASb09TSBsLKiAzeH651CtPqk+7Y31ftntNATByyhg0=",
        "customerId": "d415a474-be24-11eb-8529-0242ac130003",
        "projectId": "ead5d8e1-1b0b-4465-899e-3e882c51133b",
        "siteKey": "ec095e98-07ca-4009-9b3a-b4703e5107d6",
        "serverKey": "666f49f6-7678-494b-833d-85690d653ee8",
        "referer": "",
        "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",
        "host": "127.0.0.1",
        "requestMethod": "GET",
        "requestUri": "/login",
        "remoteAddr": "104.28.247.47",
        "serverName": "localhost",
        "remoteUser": "",
        "serverPort": 80,
        "requestInfo": "{\"request_uri\":\"\",\"request_method\":\"GET\",\"server_name\":\"\",\"remote_addr\":\"\",\"server_port\":0}",
        "failedMessage": "",
        "failedChecks": "",
        "customFields": [
          "1",
          "",
          ""
        ],
        "headers": "{}",
        "createdAt": "1717420646517",
        "realIp": "",
        "country": "BLR",
        "asn": "",
        "isProtected": false,
        "isBanByRule": true,
        "realCountry": "",
        "isBot": false,
        "ruleId": "00000000-0000-0000-0000-000000000000",
        "requestStatus": "DECLINED",
        "visitorId": "visitorId8",
        "sessionId": "sessionId0"
      }
    }
  ],
  "pageInfo": {
    "hasPreviousPage": false,
    "hasNextPage": true,
    "total": 14914120,
    "startCursor": "MjAyNC0wNi0wM1QxMzoxNjoyNi41MTNaLDAxOTBkOWYxLTQ2OTEtNzIyYy1hNzlmLWQ5ZmQ0NmJmMDY1YQ==",
    "endCursor": "MjAyNC0wNi0wM1QxMzoxNzoyNi41MTdaLDAxOTBkOWYxLTQ2OTUtNzc2Yi1iNWZmLTNmYTBlMjc3NzI0MA=="
  },
  "attributes": {}
}
```

**SDK Code**

```python Validation Events_events_example
import requests

url = "https://{base_url}/api/v1/account_id/projects/project_id/events"

querystring = {"cursor":"","where":"","order_by":"","limit":""}

response = requests.get(url, params=querystring)

print(response.json())
```

```javascript Validation Events_events_example
const url = 'https://{base_url}/api/v1/account_id/projects/project_id/events?cursor=&where=&order_by=&limit=';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Validation Events_events_example
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://{base_url}/api/v1/account_id/projects/project_id/events?cursor=&where=&order_by=&limit="

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Validation Events_events_example
require 'uri'
require 'net/http'

url = URI("https://{base_url}/api/v1/account_id/projects/project_id/events?cursor=&where=&order_by=&limit=")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
```

```java Validation Events_events_example
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://{base_url}/api/v1/account_id/projects/project_id/events?cursor=&where=&order_by=&limit=")
  .asString();
```

```php Validation Events_events_example
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://{base_url}/api/v1/account_id/projects/project_id/events?cursor=&where=&order_by=&limit=');

echo $response->getBody();
```

```csharp Validation Events_events_example
using RestSharp;

var client = new RestClient("https://{base_url}/api/v1/account_id/projects/project_id/events?cursor=&where=&order_by=&limit=");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
```

```swift Validation Events_events_example
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://{base_url}/api/v1/account_id/projects/project_id/events?cursor=&where=&order_by=&limit=")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```