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

# List Campaign SFTP Logs

> List SFTP import and export job logs for a campaign

# List Campaign SFTP Logs

List recent SFTP import and export jobs for a campaign, including status, file counts, and any errors.

## Endpoint

```
GET /api/v1/campaigns/{campaign_id}/sftp/logs
```

## Path parameters

<ParamField path="campaign_id" type="string" required>Campaign UUID.</ParamField>

## Query parameters

<ParamField query="per_page" type="integer">Items per page. Range: `1`–`100`. Default: `25`.</ParamField>
<ParamField query="page" type="integer">Default: `1`.</ParamField>

## Request headers

<ParamField header="Authorization" type="string" required>
  Bearer token. Format: `Bearer talq_your_environment_token_here`
</ParamField>

## Examples

<RequestExample>
  ```bash theme={null}
  curl "https://app.talkover.ai/api/v1/campaigns/campaign-uuid/sftp/logs" \
    -H "Authorization: Bearer talq_your_environment_token_here"
  ```
</RequestExample>

## Response

<ResponseExample>
  ```json theme={null}
  {
    "success": true,
    "data": [
      {
        "id": "log-uuid-1",
        "type": "import",
        "status": "succeeded",
        "files_processed": 3,
        "rows_processed": 1840,
        "started_at": "2024-01-15T17:00:01Z",
        "completed_at": "2024-01-15T17:00:42Z"
      },
      {
        "id": "log-uuid-2",
        "type": "export",
        "status": "failed",
        "files_processed": 0,
        "error": "Permission denied on /outbox",
        "started_at": "2024-01-15T16:00:00Z"
      }
    ],
    "pagination": {
      "current_page": 1,
      "per_page": 25,
      "total": 18
    }
  }
  ```
</ResponseExample>

### Status Values

* `running` — job in progress
* `succeeded` — completed successfully
* `failed` — completed with errors
* `cancelled` — manually cancelled
