List API request logs
Scopelogs:readReturns the history of public API requests made by you, with any of your API keys in this
environment — not only the key you are authenticating with. Only auth_type=API_KEY
traffic is recorded.
- Deprecated: use
GET /v1/accounts/{account_id}/request-logs, whose result set is identical.
Whose traffic you see
- The axis is the person, not the individual credential: a second key of yours sees the
same history, and narrowing it to one key is a filter (
api_key_id), not the default. Requests made by other users, including other users of the same account, are never returned. - Environment is not a filter: results are always scoped to the environment of the
credential you authenticate with — a
beel_sk_test_*key sees the test traffic of all your test keys, abeel_sk_live_*key the live traffic of all your live ones. To see the other environment, use a key from that environment.
Browsing the history
- Cursor pagination: navigate with the opaque
cursorreturned innext_cursor/prev_cursor; there is no jump to an arbitrary page N. - Time window: defaults to the last 30 days; narrow or move it with
from/to.
Keys are prefixed beel_sk_, and each one carries the scopes it was created with: a key
short of the scope an operation needs is answered 403. The scope an operation requires
is shown next to its title, and the full catalogue lives in the Scopes reference.
Keys are created from the BeeL dashboard. They are secret credentials: do not share them or commit them to source control.
In: header
Query Parameters
If true, only requests with status >= 400.
falseFilter by HTTP method.
Filter by an exact HTTP status code.
100 <= value <= 599Filter by path substring (case-insensitive).
Filter by a specific API key.
uuidLower bound of the time range (inclusive). Defaults to 30 days ago.
date-timeUpper bound of the time range (inclusive). Defaults to now.
date-timeOpaque cursor returned by a previous response (next_cursor / prev_cursor).
251 <= value <= 100Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://app.beel.es/api/v1/developers/request-logs"{
"success": true,
"data": {
"request_logs": [
{
"request_id": "6f9619ff-8b86-d011-b42d-00cf4fc964ff",
"timestamp": "2019-08-24T14:15:22Z",
"http_method": "POST",
"http_path": "/v1/invoices",
"http_status": 422,
"duration_ms": 0,
"environment": "PROD",
"api_key_id": "b0dd218e-3bcf-4bdb-a1e3-0689d60a8afd",
"error_code": "VALIDATION_ERROR",
"client_ip": "string"
}
],
"pagination": {
"next_cursor": "string",
"prev_cursor": "string",
"has_next": true,
"has_previous": true
}
},
"meta": {
"timestamp": "2025-01-15T10:30:00Z",
"request_id": "4bf92f3577b34da6a3ce929d0e0e4736"
}
}{
"success": false,
"error": {
"code": "BAD_REQUEST",
"message": "Invalid request"
},
"meta": {
"timestamp": "2025-01-15T10:30:00Z",
"request_id": "4bf92f3577b34da6a3ce929d0e0e4736"
}
}{
"success": false,
"error": {
"code": "UNAUTHORIZED",
"message": "Authentication is required to access this resource"
},
"meta": {
"timestamp": "2025-01-15T10:30:00Z",
"request_id": "4bf92f3577b34da6a3ce929d0e0e4736"
}
}{
"success": false,
"error": {
"code": "FORBIDDEN",
"message": "You do not have permission to access this resource"
},
"meta": {
"timestamp": "2025-01-15T10:30:00Z",
"request_id": "4bf92f3577b34da6a3ce929d0e0e4736"
}
}{
"success": false,
"error": {
"code": "REQUEST_LOG_INVALID_CURSOR",
"message": "The pagination cursor is not valid."
},
"meta": {
"timestamp": "2025-01-15T10:30:00Z",
"request_id": "4bf92f3577b34da6a3ce929d0e0e4736"
}
}{
"success": false,
"error": {
"code": "INTERNAL_ERROR",
"message": "Internal server error"
},
"meta": {
"timestamp": "2025-01-15T10:30:00Z",
"request_id": "4bf92f3577b34da6a3ce929d0e0e4736"
}
}{
"success": false,
"error": {
"code": "UNSUPPORTED_MEDIA_TYPE",
"message": "Unsupported media type: text/plain. Supported: application/json"
},
"meta": {
"timestamp": "2025-01-15T10:30:00Z",
"request_id": "4bf92f3577b34da6a3ce929d0e0e4736"
}
}Get an API request log detail GET
Returns the full detail (bodies and headers) of a request made by you, with any of your API keys in this environment — including one made with a key other than the one you are authenticating with, because the axis is the person, not the individual credential. - **`{account_id}`:** authorizes the call; it does not widen what you can see. - **`404`:** the request does not exist, was made by another user (including another user of this same account), or belongs to the other environment. - **The widest read `logs:read` opens:** it returns the bodies and headers that any key of yours exchanged in this environment, so a key holding only `logs:read` reads the traffic of your privileged keys too. It never crosses to another user or to another account. Grant it accordingly.
Get an API request log detail GET
Returns the full detail (bodies and headers) of a request made by you, with any of your API keys in this environment — the axis is the person, not the individual credential. - **Deprecated:** use `GET /v1/accounts/{account_id}/request-logs/{request_id}`, whose result is identical. - **`404`:** the request does not exist, was made by another user, or belongs to the other environment. - **The widest read `logs:read` opens:** it returns the bodies and headers that any key of yours exchanged in this environment, so a key holding only `logs:read` reads the traffic of your privileged keys too. It never crosses to another user or to another account. Grant it accordingly.