> ## Documentation Index
> Fetch the complete documentation index at: https://developer.audienceful.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List Request Logs

> Returns a cursor-paginated audit trail of your workspace's recent API activity.

Requires the `reports:read` scope. Every API-key request is logged. This endpoint returns your workspace's recent API activity, most recent first.

### Query parameters

<ParamField query="page_size" type="number" default="100">
  The number of log entries to return per page.
</ParamField>

<ParamField query="cursor" type="string">
  The pagination cursor from a previous response's `next_cursor`. See [Pagination](/pagination).
</ParamField>

### Response

<ResponseField name="data" type="array">
  The page of request log entries.

  <Expandable title="properties" defaultOpen="true">
    <ResponseField name="api_key_prefix" type="string">
      The prefix of the API key that made the request, so you can tell which key was used.
    </ResponseField>

    <ResponseField name="method" type="string">
      The HTTP method (e.g. `GET`, `POST`).
    </ResponseField>

    <ResponseField name="route" type="string">
      The route that was called (e.g. `api/v2/people`).
    </ResponseField>

    <ResponseField name="status_code" type="number">
      The HTTP status code of the response.
    </ResponseField>

    <ResponseField name="duration_ms" type="number">
      How long the request took to process, in milliseconds.
    </ResponseField>

    <ResponseField name="request_id" type="string">
      The request id, matching the `X-Request-Id` header on the original response.
    </ResponseField>

    <ResponseField name="created_at" type="string">
      The datetime (UTC) the request was made.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="has_more" type="boolean">
  Whether more log entries exist after this page.
</ResponseField>

<ResponseField name="next_cursor" type="string or null">
  The cursor to pass as `?cursor=` to fetch the next page.
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl --location --request GET 'https://api.audienceful.com/v2/request-logs' \
  --header 'Content-Type: application/json' \
  --header 'X-Api-Key: <your-api-key>'
  ```

  ```python Python theme={null}
  import requests

  url = "https://api.audienceful.com/v2/request-logs"
  headers = {
      "Content-Type": "application/json",
      "X-Api-Key": "<your-api-key>",
  }

  response = requests.get(url, headers=headers)
  print(response.json())
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch("https://api.audienceful.com/v2/request-logs", {
    method: "GET",
    headers: {
      "Content-Type": "application/json",
      "X-Api-Key": "<your-api-key>",
    },
  });
  const data = await response.json();
  console.log(data);
  ```
</RequestExample>

<ResponseExample>
  ```json Response theme={null}
  {
    "data": [
      {
        "api_key_prefix": "AbCdEf",
        "method": "GET",
        "route": "api/v2/people",
        "status_code": 200,
        "duration_ms": 34,
        "request_id": "9f2c1a7e5b8d4f31a0c6e2d9b7a4f108",
        "created_at": "2026-07-04T12:00:00Z"
      }
    ],
    "has_more": true,
    "next_cursor": "cD0yMDI2LTA3LTA0VDEyOjAwOjAwWg"
  }
  ```
</ResponseExample>
