---
title: "Get list of callbacks by event subscription"
url: "https://docs.signnow.com/docs/callbacks-info/operations/get-v2-dashboard-event-history"
type: "endpoint"
section: "callbacks-info"
slug: "callbacks-info/operations/get-v2-dashboard-event-history"
method: "GET"
path: "/v2/event-subscriptions/{subscription_id}/callbacks"
operation_id: "get-v2-dashboard-event-history"
authorization: "bearer"
---

# Get list of callbacks by event subscription

`GET /v2/event-subscriptions/{subscription_id}/callbacks`

Allows users to get the list of webhook events (events history) by the subscription ID.

The results can be filtered and sorted. If the `sort` parameter is not indicated, the results are sorted by the `start_time` in descending order. The `filters` and `sort` parameters need URL-encoding. 


## Authorization

bearer

## Path Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `subscription_id` | string | Yes | ID of the subscription |

## Query Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `sort:end_time` | string | No | Sort results by the end time. Possible values: asc, desc. Format: `?sort[end_time]=desc` |
| `sort:start_time` | string | No | Sort results by the start time. Possible values: asc, desc. Format: `?sort[start_time]=desc` |
| `sort:code` | string | No | Sort results by the response code. Possible values: asc, desc. Format: `?sort[code]=desc` |
| `filters:initiator_id` | string | No | Search for a string in initiator IDs. Format: `?filters=[{"_OR":[{"initiator_id ":{"type":"like","value":"21a28b47"}}]}]` |
| `filters:date` | string | No | Filter results by the timestamps of start time. Format: `?filters=[{"date":{"type":"between","value":[1580719773,1580720509]}}]` |
| `filters:code` | string | No | Filter results by the response codes. Format: `?filters=[{"code":{"type": "between", "value":[199,299]}}]` |

## Header Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `Content-Type` | string | No | application/json |

## Responses

### 200

Correct request

**Example** (`Correct request`)

```json
{
  "data": [
    {
      "id": 12345,
      "duration": 0.0125,
      "entity_id": "b9XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
      "event_name": "document.delete",
      "entity_type": "document",
      "callback_url": "http://example.com/handle?hash=XXXXXXXX&Param={\"docId\":\"b9XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\"}",
      "request_method": "post",
      "request_content": {
        "meta": {
          "event": "document.delete",
          "timestamp": 1661430933,
          "environment": "https://example.com",
          "access_token": "********",
          "callback_url": "http://example.com/handle?hash=XXXXXXXX&Param={\"docId\":\"b9XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\"}"
        },
        "content": {
          "user_id": "b2XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
          "document_id": "b9XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
          "initiator_id": "b2XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
          "document_name": "Sample document",
          "initiator_email": "initiator_email@email.com"
        }
      },
      "request_headers": {
        "int_head": 12,
        "bool_head": false,
        "float_head": 12.24,
        "string_head": "string_head"
      },
      "application_name": "Sample application",
      "request_end_time": 1661430936,
      "response_content": "{\"message\":\"Okay\",\"timestamp\":\"2022-08-25 12:35:36.486\"}",
      "request_start_time": 1661430936,
      "response_status_code": 200
    }
  ],
  "meta": {
    "pagination": {
      "count": 1,
      "links": [],
      "total": 1,
      "per_page": 15,
      "total_pages": 1,
      "current_page": 1
    }
  }
}
```

### 400

* Token issue
* Incorrect filter format (each filter must contain `type` and `value` fields)
* Incorrect filter expression (must be a string)
* Incorrect `code` or `date` filter expression (must be `"type": "between"`)
* Incorrect `initiator_id` filter expression (must be `"type": "like"`)
* Incorrect `code` or `date` filter value (must be an array of 2 integers)
* Incorrect `initiator_id` filter value (must be a string)




**Example** (`Authorization error`)

```json
{
  "code": 1537,
  "error": "invalid_token"
}
```

**Example** (`Incorrect filter format`)

```json
{
  "errors": [
    {
      "code": 15006011,
      "message": "Incorrect filter format, filter must have `type` and `value` fields."
    }
  ]
}
```

**Example** (`Incorrect code filter value`)

```json
{
  "errors": [
    {
      "code": 15006015,
      "message": "The `code` filter value must be of type array with 2 integer."
    }
  ]
}
```

**Example** (`Incorrect date filter value`)

```json
{
  "errors": [
    {
      "code": 15006018,
      "message": "The `date` filter value must be of type array with 2 integer."
    }
  ]
}
```

**Example** (`Incorrect filter expression`)

```json
{
  "errors": [
    {
      "code": 15006012,
      "message": "Incorrect filter format, filter `type` must be a string."
    }
  ]
}
```

**Example** (`Incorrect code filter expression`)

```json
{
  "errors": [
    {
      "code": 15006013,
      "message": "The `code` filter expression must be equal to `between`."
    }
  ]
}
```

**Example** (`Incorrect date filter expression`)

```json
{
  "errors": [
    {
      "code": 15006016,
      "message": "The `date` filter expression must be equal to `between`."
    }
  ]
}
```

**Example** (`Incorrect initiator_id filter value`)

```json
{
  "errors": [
    {
      "code": 15006020,
      "message": "The `initiator_id` filter value must be a string."
    }
  ]
}
```

**Example** (`Incorrect initiator_id filter expression`)

```json
{
  "errors": [
    {
      "code": 15006019,
      "message": "The `initiator_id` filter expression must be equal to `like`."
    }
  ]
}
```

### 403

Request with token of another application

**Example** (`Request with token of another application`)

```json
{
  "errors": [
    {
      "message": "Access to the subscription data is not allowed"
    }
  ]
}
```

### 404

* Request with non-existing subscription_id
* Request with invalid subscription_id

**Example** (` Invalid subscription_id`)

```json
{
  "404": "Unable to find a route to match the URI: v2/dashboard/event-subscriptions/23@/callbacks/12345"
}
```

**Example** (`Non-existing subscription_id`)

```json
{
  "errors": [
    {
      "message": "UserEventSubscription `94XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX` not found"
    }
  ]
}
```

## Code Examples

> Replace `$SIGNNOW_ACCESS_TOKEN` and any `{placeholder}` values before running.

### cURL

```bash
curl -X GET \
  "https://api.signnow.com/v2/event-subscriptions/{subscription_id}/callbacks" \
  -H "Authorization: Bearer $SIGNNOW_ACCESS_TOKEN"
```

---
*Full reference: https://docs.signnow.com/docs/callbacks-info/operations/get-v2-dashboard-event-history*
