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

# List API Logs

> Browse your API call history, one entry per request

Every V2 call is logged: action, LinkedIn account used, credits consumed, status and error message. Logs are tied to your user, so they survive an API key rotation. Served from our store: **no LinkedIn traffic** and **no credits consumed**.

Paginated, newest first, capped at 200 rows per page.

### Header Parameters

<ParamField header="x-api-key" type="string" required>
  Your API key
</ParamField>

### Query Parameters

<ParamField query="limit" type="integer" default="50">
  Number of rows per page. Between 1 and 200.
</ParamField>

<ParamField query="offset" type="integer" default="0">
  Number of rows to skip.
</ParamField>

<ParamField query="action" type="string">
  Only calls of this action, e.g. `invite`, `send`, `search_people`. Same names as the `metadata.action` of each response.
</ParamField>

<ParamField query="account_id" type="string">
  Only calls made with this LinkedIn account.
</ParamField>

<ParamField query="status" type="string">
  `success` or `error`.
</ParamField>

<ParamField query="date_from" type="string">
  ISO date (`YYYY-MM-DD`) or datetime. Only calls at or after this moment.
</ParamField>

<ParamField query="date_to" type="string">
  ISO date or datetime. A date-only value is **inclusive** of that whole day.
</ParamField>

### Response

<ResponseField name="success" type="boolean">
  Whether the request was successful
</ResponseField>

<ResponseField name="data" type="object">
  <Expandable title="Properties">
    <ResponseField name="items" type="array">
      Log entries, newest first

      <Expandable title="Log Entry">
        <ResponseField name="action" type="string">
          The action called
        </ResponseField>

        <ResponseField name="account_id" type="string">
          LinkedIn account used. `null` for calls without an account (email enrichment, account management)
        </ResponseField>

        <ResponseField name="credits_consumed" type="number">
          Credits charged for this call
        </ResponseField>

        <ResponseField name="status" type="string">
          `success` or `error`
        </ResponseField>

        <ResponseField name="error_message" type="string">
          Present on errors only
        </ResponseField>

        <ResponseField name="created_at" type="string">
          ISO 8601 timestamp (UTC)
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="total" type="integer">
      Total number of rows matching the filters
    </ResponseField>

    <ResponseField name="limit" type="integer">
      Page size used
    </ResponseField>

    <ResponseField name="offset" type="integer">
      Offset used
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseExample>
  ```json Success Response theme={null}
  {
    "success": true,
    "data": {
      "items": [
        {
          "user_id": "6791f88f4db9c32ae63eadad",
          "action": "invite",
          "account_id": "69c127c37cae0494dd827286",
          "credits_consumed": 1,
          "status": "success",
          "created_at": "2025-01-15T10:29:41.512000"
        },
        {
          "user_id": "6791f88f4db9c32ae63eadad",
          "action": "check_inmail_seat",
          "account_id": "6aaba8609d428bee16115d50",
          "credits_consumed": 0,
          "status": "error",
          "created_at": "2025-01-15T09:49:18.489000",
          "error_message": "Account not found"
        }
      ],
      "total": 23729,
      "limit": 2,
      "offset": 0
    },
    "metadata": {
      "action": "list_logs",
      "credits_consumed": 0,
      "timestamp": "2025-01-15T10:30:00.000000"
    }
  }
  ```

  ```json Error — Invalid limit theme={null}
  {
    "success": false,
    "error": {
      "code": "INVALID_PARAMS",
      "message": "query -> limit: Input should be less than or equal to 200"
    },
    "metadata": {
      "credits_consumed": 0,
      "timestamp": "2025-01-15T10:30:00.000000"
    }
  }
  ```
</ResponseExample>

### Notes

* This endpoint does **not** consume any credits
* Filters combine: `?account_id=…&action=list_inbox&status=error` returns only the failed inbox reads of that account
* `GET /v2/logs/stats` returns the same history aggregated: `total_calls`, `total_credits`, `by_account` and `by_action` (calls, successes, errors, credits). Accepts `account_id`, `date_from`, `date_to`; with `account_id`, `by_action` is the breakdown of that account
* `GET /v2/logs/export` returns the same rows as a CSV file, same filters, no pagination
