Discord Transcripts V-1
Full transcripts with embeds, attachments, components, clickable member profiles, and a public viewer at /t/:id.
Guide
Overview
V-1 is the full Discord transcript: embeds, attachments, components, stickers, mentions, reply context, and a public browser viewer. Your bot token fetches messages in the background while the API returns 202 Accepted immediately.
Pass guild_id when creating transcripts so member profiles show role names (not role IDs).
Quick start
- Call
POST /api/transcriptswithchannel_id(omitversionor setversion: "v1") - Poll
GET /api/transcripts/:iduntilstatusisready - Share
view_urlat/t/:idor export to JSON, HTML, or plain text
Includes
- Message text, embeds, attachments, components, stickers, and mentions
- Reply context (quoted author and message snippet)
- Clickable member profiles: username, user ID, and role names
Retention: 7 days online. Downloading once preserves the transcript on the server.
Storage: Counts toward your account storage quota.
Returns 202 Accepted while messages load.
| Field | Value |
|---|---|
version | v1 |
version_label | V-1 |
view_url | https://.../t/:id |
download_url | Export URL (after ready) |
download_only | false |
expires_at | +7 days |
Poll GET /api/transcripts/:id until status is ready before exporting.
Endpoint: POST /api/transcripts
Required
channel_id- Discord channel snowflake
Optional
version-v1(default)guild_id- recommended for role name resolution in member profilestitle- display title in the viewer or exportslimit- messages to fetch (default 1000, max 5000)password- locks the public viewer and exports (min 4 characters)
The bot linked to your account must have Read Message History in that channel.
Endpoints (no API key)
| Method | Path | Purpose |
|---|---|---|
| GET | /api/transcripts/public/:id | Metadata (version, status, password_protected) |
| POST | /api/transcripts/public/:id | Full transcript JSON |
| GET/POST | /api/transcripts/public/:id/export?format=... | Download file |
The web viewer at /t/:id uses these endpoints. Click an author name to open their profile (username, user ID, role names).
Authenticated: GET /api/transcripts/:id/export?format=...
Public: GET /api/transcripts/public/:id/export?format=... (add password if protected)
| Format | Best for |
|---|---|
json | Pipelines, backups, bots |
html | Offline browser viewing |
text | Plain logs and search |
Export is blocked while status is loading (409 TRANSCRIPT_LOADING).
Use cases
- Archive support-ticket channels before closing them
- Create moderation evidence exports with full message context
- Back up important conversations including embeds and components
- Review button interactions and select-menu usage after the fact
Limits
Parameters
channel_id·stringreqDiscord channel snowflake to archive.
version·stringSet to v1 or omit (default).
guild_id·stringRecommended for role names in member profiles.
title·stringDisplay title on the viewer or in exports.
limit·integerMessages to fetch (default 1000, max 5000).
password·stringOptional password (min 4 chars). Locks public viewer and exports.
format·stringExport format: json, html, or text.
Response
{
"create_response": {
"success": true,
"data": {
"id": "uuid",
"status": "loading",
"version": "v1",
"version_label": "V-1",
"view_url": "https://example.com/t/uuid",
"download_url": "https://api.example.com/api/transcripts/public/uuid/export?format=json",
"download_only": false,
"expires_at": "2026-07-12T00:00:00.000Z",
"title": "Ticket #1"
}
}
}Endpoints
/api/transcriptsCreate a V-1 transcript by fetching channel history
{
"channel_id": "123456789012345678",
"guild_id": "876543210987654321",
"version": "v1",
"title": "Ticket #1",
"limit": 1000,
"password": "secret"
}Required: channel_id. Optional: guild_id (recommended), title, limit, password.
/api/transcriptsList transcripts (dashboard)
/api/transcripts/:idRetrieve a V-1 transcript
/api/transcripts/:id/metadataRetrieve transcript metadata including version and download_url
/api/transcripts/:id/exportExport a V-1 transcript (json, html, or text)
/api/transcripts/public/:idPublic metadata (no auth): version, status, password_protected
/api/transcripts/public/:idPublic full transcript JSON for the browser viewer
{
"password": "secret"
}Optional body.password if password_protected.
/api/transcripts/public/:id/exportPublic export download
/api/transcripts/:idDelete a transcript
Example request
{
"method": "POST",
"path": "https://api.auralink.dev/api/transcripts",
"headers": {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
"body": {
"channel_id": "123456789012345678",
"guild_id": "876543210987654321",
"version": "v1",
"title": "Ticket #1",
"limit": 1000
}
}