# Webhook

## 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

| Operation | Cost |
| --- | --- |
| Read notes, folders, tags, profile | Free |
| Download audio | Free |
| Webhook delivery | Free |
| 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

| Status | Meaning |
| --- | --- |
| 200 | Success |
| 400 | Bad request (missing required parameter) |
| 401 | Invalid or revoked API key |
| 403 | Not authorized to access this resource |
| 404 | Resource not found |
| 500 | Internal 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"\
\`\`\`

Source: https://crush.clay.imek-dev.com/api-and-mcp-access/webhook
