---
title: "Raw read of the activities event log (touchpoints, sends, replies, accepts) for computing your own scores / health / coh"
method: GET
path: "/api/v1/activities"
tags: ["intelligence"]
---

# Raw read of the activities event log (touchpoints, sends, replies, accepts) for computing your own scores / health / coh

`GET /api/v1/activities`

## Request

- Base URL: `https://crispy.sh`
- URL: `https://crispy.sh/api/v1/activities`
- Auth: HTTP bearer

## Query parameters

- `contact_id` string: Filter to a single contact's stream.
- `campaign_id` string: Filter to a single campaign (slug, e.g. 'gtm-engineers-may26').
- `activity_type` string: Activity type to filter by, or a JSON array of types (e.g. 'message_sent', 'connection_accepted', 'send_invitation', 'message_received'). An empty/omitted value returns all types.
- `direction` 'inbound' | 'outbound': Filter by message direction.
- `since` string: ISO timestamp lower bound on created_at (inclusive).
- `until` string: ISO timestamp upper bound on created_at (inclusive); pagination cursor.
- `limit` number: Max rows (default 100, max 500).

## Response `200`

Success

## Other responses

- `401`: Missing or expired API key
- `403`: Insufficient key scope or permission denied
- `429`: Rate limit exceeded

---

[API](https://skmtc.dev/crispy/apis/crispy-rest-api.md) · [All operations](https://skmtc.dev/crispy/apis/crispy-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/crispy/apis/crispy-rest-api/revisions/6bed0974d9ce?raw)
