// 01
Authentication
Every request must include an Authorization header with your API key as a Bearer token. Keys are 40-character hex strings provisioned when you purchase a plan.
Authorization: Bearer a3f1c8e2d94b07651af2...
Missing or invalid keys return 401 Unauthorized.
// 02
Plans
| Developer | Pro | |
|---|---|---|
| Max file size | 10 MB | 100 MB |
| Requests / day | 1,000 | Unlimited |
| Content TTL | 1 hour | 24 hours |
Your remaining daily quota is returned in every response as requests_remaining and the X-Requests-Remaining header. Quota resets at UTC midnight.
// 03
POST /api/v1/clip — push content
Text
curl -X POST https://yourdomain.com/api/v1/clip \
-H "Authorization: Bearer <key>" \
-H "Content-Type: application/json" \
-d '{"text": "hello world"}'File
curl -X POST https://yourdomain.com/api/v1/clip \ -H "Authorization: Bearer <key>" \ -F "file=@/path/to/report.pdf"
Response 201
{
"code": "482193",
"expires_in": 3600,
"plan": "developer",
"requests_remaining": 999
}| Field | Type | Description |
|---|---|---|
| code | string | 6-digit retrieval code |
| expires_in | number | Seconds until the code expires |
| plan | string | developer | pro |
| requests_remaining | number | Remaining quota today |
// 04
GET /api/v1/clip/:code — pull content
Retrieves and permanently deletes the clip in one atomic operation. There is no second retrieval.
curl https://yourdomain.com/api/v1/clip/482193 \ -H "Authorization: Bearer <key>"
Response 200 — text
{
"type": "text",
"data": "hello world",
"createdAt": 1746876000000
}Response 200 — file
{
"type": "image",
"data": "<base64-encoded content>",
"mimeType": "image/png",
"createdAt": 1746876000000
}| Field | Description |
|---|---|
| type | text | image | pdf | file |
| data | Raw text, or base64-encoded binary for files |
| mimeType | MIME type of the file (omitted for text) |
| createdAt | Unix timestamp (ms) when the clip was created |
// 05
Errors
| Status | Meaning |
|---|---|
| 400 | Bad request — invalid code format or missing body field |
| 401 | Invalid or missing API key |
| 404 | Code not found or already retrieved (burned) |
| 413 | Content too large for your plan |
| 415 | Unsupported file type |
| 429 | Daily request limit reached — resets at UTC midnight |
| 500 | Server error |
Error body
{ "error": "Human-readable description" }// 06
Supported file formats
SVG is permanently blocked — SVG files can embed <script> tags that execute in the browser. All other validation is server-side against a hardcoded MIME type allowlist; filename extensions are ignored.
| Category | Formats |
|---|---|
| Images | JPEG, PNG, GIF, WebP, AVIF, BMP, TIFF |
| Documents — Office | PDF, DOCX, XLSX, PPTX, DOC, XLS, PPT |
| Documents — OpenDocument | ODT, ODS, ODP |
| eBooks | EPUB |
| Archives | ZIP, GZ, 7Z, TAR, RAR |
| Text | TXT, CSV, Markdown |
| Audio | MP3, WAV, OGG, AAC, FLAC |
| Video | MP4, WebM, MOV |
| Fonts | TTF, OTF, WOFF, WOFF2 |