Skip to navigation

events

View as Markdown

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}/events

Authentication

Requires API key authentication:

Authorization: Bearer {api_key}

Path Parameters

ParameterTypeRequiredDescription
account_idstringYesYour unique BotBye account identifier
project_idstringYesThe project identifier for which to retrieve request logs

Query Parameters

This endpoint supports pagination and filtering parameters:

  • Pagination: See Pagination query parameters 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. Every field of a record is nullable except signalsHiddenByPlan: a record carries only what the integration reported and what the validator resolved for it, and the key is present with null otherwise.

{
"edges": [
{
"cursor": "string",
"node": {
"id": "string",
"version": integer,
"validatorVersion": integer,
"customerId": "string",
"projectId": "string",
"siteKey": "string",
"serverKey": "string",
"createdAt": "string",
"eventType": "string",
"eventStatus": "string",
"requestMethod": "string",
"requestUri": "string",
"referer": "string",
"accountId": "string",
"username": "string",
"email": "string",
"phone": "string",
"ip": "string",
"realIp": "string",
"userAgent": "string",
"fingerprint": "string",
"deviceMarks": "string",
"visitorId": "string",
"sessionId": "string",
"country": "string",
"realCountry": "string",
"asn": "string",
"longitude": number,
"latitude": number,
"shaKey": "string",
"base64Token": "string",
"behavioralToken": "string",
"decision": "string",
"dimensionScores": {},
"isBot": boolean,
"isProtected": boolean,
"signals": [],
"signalsHiddenByPlan": boolean,
"failedMessage": "string",
"failedChecks": "string",
"isBanByRule": boolean,
"isAllowedByRule": boolean,
"ruleId": "string",
"captchaTaskId": "string",
"isCaptchaEnabled": boolean,
"isCaptchaSolved": boolean,
"rate": integer,
"requestTag": "string",
"taggedCount": integer,
"moduleName": "string",
"moduleVersion": "string",
"headers": {},
"customFields": {},
"host": "string",
"contentType": "string",
"connection": "string",
"acceptEncoding": "string",
"origin": "string",
"xForwardedProto": "string",
"accept": "string",
"contentLength": integer,
"priority": "string",
"acceptLanguage": "string",
"upgrade": "string",
"realOrigin": "string",
"ttlDays": integer
}
}
],
"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:

FieldTypeDescription
idstringUnique identifier of the request record.
versionintegerEvent schema version reported by the integration.
validatorVersionintegerVersion of the validator that processed the request.
customerIdstringCustomer that owns the project.
projectIdstringProject the request belongs to.
siteKeystringSite key used for this request.
serverKeystringServer key used for validation.
createdAtstringWhen the request was processed, epoch milliseconds.
eventTypestringEvent kind reported by the integration, for example a login.
eventStatusstringOutcome of the event in your own system.
requestMethodstringHTTP method.
requestUristringRequest URI.
refererstringReferer header.
accountIdstringEnd-user account id reported by the integration.
usernamestringUsername reported by the integration.
emailstringEmail reported by the integration.
phonestringPhone reported by the integration.
ipstringClient IP the request arrived from.
realIpstringClient IP resolved behind proxies and CDNs.
userAgentstringUser-Agent header.
fingerprintstringDevice fingerprint reported by the SDK.
deviceMarksstringDevice marks reported by the SDK.
visitorIdstringVisitor identifier assigned by the SDK.
sessionIdstringSession identifier assigned by the SDK.
countrystringCountry resolved from ip.
realCountrystringCountry resolved from realIp.
asnstringAutonomous system the IP belongs to.
longitudenumberLongitude resolved from the IP.
latitudenumberLatitude resolved from the IP.
shaKeystring—
base64Tokenstring—
behavioralTokenstring—
decisionstringVerdict returned for the request.
dimensionScoresobjectScore per risk dimension, keyed by dimension id.
isBotbooleanWhether the request was classified as a bot.
isProtectedbooleanWhether the project was protected when the request arrived.
signalsarraySignals raised for this request.
signalsHiddenByPlanbooleanWhether signals was withheld because the subscription plan does not include it.
failedMessagestringReason the request was declined.
failedChecksstringChecks that failed.
isBanByRulebooleanWhether a custom rule blocked the request.
isAllowedByRulebooleanWhether a custom rule allowed the request.
ruleIdstringCustom rule that decided the request.
captchaTaskIdstringCAPTCHA task issued for the request.
isCaptchaEnabledbooleanWhether CAPTCHA was enabled for the project.
isCaptchaSolvedbooleanWhether the CAPTCHA was solved.
rateintegerRequests counted for the rate limiter that matched.
requestTagstringTag assigned to the request.
taggedCountintegerRequests counted under the same tag.
moduleNamestringIntegration module that sent the request.
moduleVersionstringVersion of that integration module.
headersobjectRequest headers, as name/value pairs.
customFieldsobjectCustom fields sent by the integration.
hoststringHost header.
contentTypestringContent-Type header.
connectionstringConnection header.
acceptEncodingstringAccept-Encoding header.
originstringOrigin header.
xForwardedProtostringX-Forwarded-Proto header.
acceptstringAccept header.
contentLengthintegerContent-Length header.
prioritystringPriority header.
acceptLanguagestringAccept-Language header.
upgradestringUpgrade header.
realOriginstringOrigin carried inside the SDK token.
ttlDaysintegerRetention of this record, in days.

Accepted permissions Project → Events → Events

Token scope Request View

Authentication

X-Api-Keystring

Personal access token. Create it in your BotBye account under Profile → Personal Access Tokens, tick the scopes the endpoints you call require (see each endpoint’s Token scope), and send the token in the X-Api-Key request header. A token works only for the account it was created in.

Path parameters

account_idstringRequired
project_idstringRequired

Query parameters

cursorstringOptional

(Optional): a cursor for pagination.

  • after (string): Pointer to the item after which the items are to be retrieved.
  • before (string): Pointer to the item before which the items are to be retrieved.
wherestringOptional

(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).

  • predicate (string): The filtering condition (e.g., gte, lte, eq for a leaf or and, or for a branch). Possible values [[#Predicate]]
  • opearands (string): A list of nested conditions (used only for branches, such as and, or).
  • fieldPath (string): The field to which the filtering condition is applied (used only for a leaf. Each entity has its own fieldPath list).
  • value (string): The value to compare against the field (used only for a leaf).
order_bystringOptional

(Optional): property by which to order by.

  • fieldPath (string): name of order field.
  • direction (string): ASC or DESC
limitstringOptional

(Optional): specifies the maximum number of results to return in a single response. By default - 20, max - 100.

Response headers

Content-Lengthinteger
ConnectionstringOptional

Response

success
edgeslist of objects
pageInfoobject
attributesobject

Errors

400
Bad Request Error