Webhook

Updated Nov 10, 2026 · 1 min read

Webhooks (Push Notifications)

CRUSH can automatically push data to your application when a new transcription completes.

Setup

1. Go to **Account** > **Zapier Integrations**
2. Add a webhook URL (your server endpoint)
3. Enable **Auto-send new transcriptions**

Webhook Payload

When a transcription completes, CRUSH sends a POST request to your webhook URL:

```json
[
{
"noteId": "550e8400-e29b-41d4-a716-446655440000",
"noteTranscript": "Plain text transcript with speaker labels",
"noteCreatedOn": "2026-03-21T10:30:00.000Z",
"audioUrl": "https://crush-audio.s3.us-east-2.amazonaws.com/...?X-Amz-Signature=...",
"audioFormat": "mp4",
"audioDurationSeconds": 142
}
]
```

The `audioUrl` is a presigned download URL valid for 1 hour.

Costs

OperationCost
Read notes, folders, tags, profileFree
Download audioFree
Webhook deliveryFree
AI Insights (`/api/agents/insight`)Deducts from your AI credit balance

Rate Limits

Currently no hard rate limit is enforced. Use responsibly, because I'm monitoring excessive requests which may result in throttling in a future update.

Errors

StatusMeaning
200Success
400Bad request (missing required parameter)
401Invalid or revoked API key
403Not authorized to access this resource
404Resource not found
500Internal server error

Quick Start Example

Pull all your notes and save transcripts to files:

```bash
API_KEY="crush_sk_your_key_here"
BASE="https://app.crushthememory.com"

# Get all notes
curl -s -H "Authorization: Bearer $API_KEY" \
"$BASE/api/aws/noteflags?mask=noteId,noteTranscript,noteCreatedOn" \
| jq -r '.[] | "\(.noteId)\t\(.noteCreatedOn)\t\(.noteTranscript)"'
```

Download audio for a specific note:

```bash
# Get audio URL
AUDIO_URL=$(curl -s -H "Authorization: Bearer $API_KEY" \
"$BASE/api/aws/audio?noteId=YOUR_NOTE_ID" | jq -r '.audioUrl')

# Download the file
curl -o recording.mp4 "$AUDIO_URL"
```

Was this helpful?