# Communication Logs

**Summary:** Endpoints for Communication Logs

- Role: [Developers](https://www.subrite.no/developers)
- Source: https://www.subrite.no/developers/communication-logs
- Updated: 2026-10-13
- Markdown index: https://www.subrite.no/developers/llms.txt

<a id="get-api-v1-communication-logs"></a>
## Get all communication logs for tenant with filters

`GET /api/v1/communication-logs`

**Authentication:** Bearer token (JWT)

### Parameters

| Name | In | Type | Description |
| --- | --- | --- | --- |
| `page` | query | `number` | Default: `1` · `minimum`: `1` |
| `take` | query | `number` | Default: `10` · `minimum`: `1`, `maximum`: `50` |
| `orderBy` | query | `string` | Allowed values: `"createdAt"`, `"id"`, `"updatedAt"` · Default: `"createdAt"` |
| `orderDirection` | query | `string` | Allowed values: `"asc"`, `"desc"` · Default: `"desc"` |
| `communicationChannel` | query | `COMMUNICATION_CHANNEL` | Allowed values: `"sms"`, `"email"` |
| `recipient` | query | `string` |   |
| `status` | query | `SENDGRID_MAIL_EVENTS` | Allowed values: `"scheduled"`, `"processed"`, `"dropped"`, `"deferred"`, `"bounce"`, `"hard_bounce"`, `"soft_bounce"`, `"spamreport"`, `"delivered"`, `"unsubscribe"`, `"group_unsubscribe"`, `"group_resubscribe"`, `"open"`, `"failed"`, `"click"`, `"skipped_bounced"` |
| `dateFrom` | query | `string (date-time)` | Inclusive range start. Date-granular — widened to the start of the Oslo day. |
| `dateTo` | query | `string (date-time)` | Inclusive range end. Date-granular — widened to the end of the Oslo day. |

### Responses

#### 200

Content type: `application/json` · `MemberCommunicationActivitiesResponseDtoPaginated`

| Name | Type | Description |
| --- | --- | --- |
| `items` (Required) | `array of MemberCommunicationActivitiesResponseDto` |   |
| `items[].communicationChannel` (Required when parent is present) | `COMMUNICATION_CHANNEL` | Allowed values: `"sms"`, `"email"` |
| `items[].status` (Required when parent is present) | `SENDGRID_MAIL_EVENTS` | Allowed values: `"scheduled"`, `"processed"`, `"dropped"`, `"deferred"`, `"bounce"`, `"hard_bounce"`, `"soft_bounce"`, `"spamreport"`, `"delivered"`, `"unsubscribe"`, `"group_unsubscribe"`, `"group_resubscribe"`, `"open"`, `"failed"`, `"click"`, `"skipped_bounced"` |
| `items[].bounceClassification` | `string` | Allowed values: `"Invalid Address"`, `"Technical"`, `"Content"`, `"Reputation"`, `"Frequency or Volume Too High"`, `"Mailbox Unavailable"`, `"Unclassified"` |
| `items[].deliveredAt` (Required when parent is present) | `string (date-time)` | Can be null |
| `items[].firstOpenedAt` (Required when parent is present) | `string (date-time)` | Can be null |
| `items[].memberId` (Required when parent is present) | `string` |   |
| `items[].lastUpdatedAt` (Required when parent is present) | `string (date-time)` |   |
| `items[].subject` (Required when parent is present) | `string` |   |
| `items[].createdAt` (Required when parent is present) | `string (date-time)` |   |
| `items[].communicationId` (Required when parent is present) | `number` |   |
| `items[].id` (Required when parent is present) | `number` |   |
| `items[].showCommunicationDetails` (Required when parent is present) | `boolean` |   |
| `items[].messageId` | `string` |   |
| `items[].recipient` | `string` |   |
| `meta` (Required) | `PageMeta` |   |
| `meta.page` (Required) | `number` |   |
| `meta.take` (Required) | `number` |   |
| `meta.count` (Required) | `number` |   |
| `meta.pageCount` (Required) | `number` |   |
| `meta.hasPreviousPage` (Required) | `boolean` |   |
| `meta.hasNextPage` (Required) | `boolean` |   |

#### 401

unauthorized

#### 403

Content type: `application/json` · `ErrorResponse`

forbiddenResource

| Name | Type | Description |
| --- | --- | --- |
| `messageCode` (Required) | `string` |   |
| `message` | `string` |   |
| `errors` (Required) | `array of FieldError` |   |
| `errors[].field` (Required when parent is present) | `string` |   |
| `errors[].fieldValue` (Required when parent is present) | `string` |   |
| `errors[].identifier` (Required when parent is present) | `string` |   |
| `errors[].identifierValue` (Required when parent is present) | `string` |   |
| `errors[].messageCode` (Required when parent is present) | `string` |   |
| `errors[].message` | `string` |   |
| `errors[].errorType` (Required when parent is present) | `string` |   |

**Example response**

`application/json`

```json
{
  "messageCode": "string",
  "message": "string",
  "errors": [
    {}
  ]
}
```

#### 500

Content type: `application/json` · `ErrorResponse`

internalServerError

Same fields as [Get all communication logs for tenant with filters (403)](https://www.subrite.no/developers/communication-logs?md=true#get-api-v1-communication-logs).

### Example request

```bash
curl https://api.subrite.no/api/v1/communication-logs \
  --header 'Authorization: Bearer <token>'
```

### Example response

200 · `application/json`

```json
{
  "items": [
    {}
  ],
  "meta": {
    "page": 0,
    "take": 0,
    "count": 0,
    "pageCount": 0,
    "hasPreviousPage": true,
    "hasNextPage": true
  }
}
```
