API Documentation

Everything you need to integrate Pager.Quest into your workflow.

Overview

Pager.Quest provides API endpoints to send push notifications to yourself via Telegram or Email.

Telegramhttps://api.pager.quest/telegram
Emailhttps://api.pager.quest/email
MethodPOST

Authentication

All requests require a Pager.Quest API key sent via the Authorization header:

Authorization: Bearer <YOUR_API_KEY>

Telegram API key — message @PagerQuestBot on Telegram. The bot will generate and send you a unique key automatically.

Email API key — get your Email API key here. Alternatively, send /link_email to @PagerQuestBot, then reply with your email address. Your Email API key will be sent to that address.

Send Text Notification

Send plain text directly in the request body. No JSON wrapper needed. Works for both /telegram and /email.

Telegram
curl -X POST https://api.pager.quest/telegram \
  -H "Authorization: Bearer <YOUR_TELEGRAM_API_KEY>" \
  -d "Hello world!"
Email
curl -X POST https://api.pager.quest/email \
  -H "Authorization: Bearer <YOUR_EMAIL_API_KEY>" \
  -d "Hello world!"

Alternatively, send structured JSON with an optional title field:
(note: title only works for Email notifications)

JSON Body
{
  "title": "Optional subject title",
  "content": {
    "type": "text",
    "text": "Hello world!"
  }
}

Send Image Notification

Send an image by providing a URL or Base64-encoded data. Delivered as a photo in Telegram, or an email attachment.

JSON Body
{
  "content": {
    "type": "image",
    "image_url": "https://example.com/photo.jpg"
  }
}
Telegram cURL Example
curl -X POST https://api.pager.quest/telegram \
  -H "Authorization: Bearer <YOUR_TELEGRAM_API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{"content":{"type":"image","image_url":"https://example.com/photo.jpg"}}'
Email cURL Example
curl -X POST https://api.pager.quest/email \
  -H "Authorization: Bearer <YOUR_EMAIL_API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{"content":{"type":"image","image_url":"https://example.com/photo.jpg"}}'

Send File Notification

Send any file by providing a URL or Base64-encoded data. Delivered as a document in Telegram, or an email attachment.

JSON Body
{
  "content": {
    "type": "file",
    "file_url": "https://example.com/report.pdf"
  }
}
Telegram cURL Example
curl -X POST https://api.pager.quest/telegram \
  -H "Authorization: Bearer <YOUR_TELEGRAM_API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{"content":{"type":"file","file_url":"https://example.com/report.pdf"}}'
Email cURL Example
curl -X POST https://api.pager.quest/email \
  -H "Authorization: Bearer <YOUR_EMAIL_API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{"content":{"type":"file","file_url":"https://example.com/report.pdf"}}'

Response Codes

CodeDescription
200Notification sent successfully
400Invalid request — missing/invalid API key, empty body, bad JSON, or no email linked
404Invalid API endpoint
405Method not allowed — only POST is accepted
429Rate limit exceeded — retry after the specified time
502Failed to send notification (Telegram or Email delivery error)

Rate Limits

ChannelPlanPer MinutePer Day
TelegramFree1 notification10 notifications
TelegramPaid Member100 notificationsUnlimited
EmailFree—5 notifications
EmailPaid Member—100 notifications

When rate-limited, you'll receive a 429 response with a Retry-After header indicating the wait time in seconds.