---
title: "Search logs"
description: "List and search webhook logs"
canonical: https://www.charitips.com/docs/api-reference/search-logs
---

# Search logs

`GET /v1/webhooks/logs`

List and search webhook logs

**Authentication**: Bearer access token.

## Parameters

- `start` (string (date)): The start time for the query. Defaults to one hour ago.
- `end` (string (date)): The end time for the query. Defaults to now.
- `limit` (number, integer, minimum 1, maximum 500): The max number of entries to return. Defaults to 100. Maximum is 500.
- `entityId` (string, UUID): The id of the entity which triggered the webhook.
- `webhookId` (string, UUID): The id of your webhook handler.
- `accountId` (string, UUID): Id of the account. Only useful for Platform customers to filter webhook logs by child accounts.
- `event` (string, one of donation_create, donation_update, vote_create, vote_update, recurringdonation_create, recurringdonation_update, campaign_create, campaign_update, charitiesselection_create, charitiesselection_update, paymentmethod_create, charity_publish, charityprofile_update, fiscalreceipt_generated, charity_profile_update, file_generated) One of `donation_create`, `donation_update`, `vote_create`, `vote_update`, `recurringdonation_create`, `recurringdonation_update`, `campaign_create`, `campaign_update`, `charitiesselection_create`, `charitiesselection_update`, `paymentmethod_create`, `charity_publish`, `charityprofile_update`, `fiscalreceipt_generated`, `charity_profile_update`, `file_generated`.
- `status` (string, one of SUCCEEDED, FAILED) One of `SUCCEEDED`, `FAILED`.

## Response 200

- `accountId` (string, required)
- `event` (object, required)
- `entityId` (string, required)
- `webhookId` (string, required)
- `target` (string, required): Webhook target URL
- `payload` (object, required)
- `status` (object, required)
- `response` (object, required)
  - `status` (number)
  - `data` (object)
- `sentAt` (string (date-time), required)

## Errors

- 400 `A field is missing, has the wrong type, or is not part of the request schema.`: `message` lists every problem. Unknown fields are rejected, not ignored: remove them rather than sending extra data. See https://www.charitips.com/docs/api-reference/errors.md.
- 401 `Unauthorized`: The access token is missing, expired or invalid. Create a new one with your client id and secret, send it as `Authorization: Bearer <accessToken>`, then retry once. Sandbox tokens only work on api.sandbox.charitips.com. See https://www.charitips.com/docs/get-started/authentication.md.
- 402 `Plan upgrade required`: Your plan does not include this feature. Upgrade the plan from the dashboard, then retry. See https://www.charitips.com/docs/overview/plans.md.
- 403 `Account closed`: The account behind these credentials is closed: no token is issued and every call is refused, reads included. Contact Charitips to reopen it. See https://www.charitips.com/docs/api-reference/troubleshooting.md#calls-answer-403-account-not-active-account-not-validated-or-account-closed.

## Example

```bash
curl -X GET https://api.sandbox.charitips.com/v1/webhooks/logs \
  -H "Authorization: Bearer $CHARITIPS_TOKEN"
```

```javascript
const response = await fetch('https://api.sandbox.charitips.com/v1/webhooks/logs', {
  method: 'GET',
  headers: {
    Authorization: `Bearer ${process.env.CHARITIPS_TOKEN}`,
  },
});
if (!response.ok) throw new Error(`${response.status} ${await response.text()}`);
const data = await response.json();
```

```python
import os, requests

response = requests.get(
    "https://api.sandbox.charitips.com/v1/webhooks/logs",
    headers={"Authorization": f"Bearer {os.environ['CHARITIPS_TOKEN']}"},
)
response.raise_for_status()
data = response.json()
```

## Response example (200, placeholder values)

```json
[
  {
    "accountId": "<accountId>",
    "event": {},
    "entityId": "<entityId>",
    "webhookId": "<webhookId>",
    "target": "<target>",
    "payload": {},
    "status": {},
    "response": {}
  }
]
```
