Priority Messaging & Retained Queues
A Redis-backed messaging service with project-scoped API keys, priorities, TTL expiry, and non-destructive polling.
Built for reliability — not just the happy path
Core capabilities
A focused retained messaging API
Projects, channels, priorities, TTLs, and clear browser visibility without inventing delivery semantics.
Priority Queue Messaging
Priorities run from 1–5, with 5 highest. Redis sorted sets return higher-priority messages first and older messages first within a priority.
Non-destructive Polling
External consumers poll retained messages by channel and limit. Repeated polls can return the same record; polling does not acknowledge or consume it.
Message TTL & Expiry
Every message has a positive TTL in milliseconds. Redis expires payload keys so short-lived work does not become durable history.
Project-scoped API Keys
Raw keys appear only at project creation or rotation. BlinkQ stores a hash and uses the key only for the external messaging endpoints.
Session Dashboard
Browser management uses an opaque HttpOnly session and CSRF protection for projects, channels, profile settings, and message inspection.
Current Queue Visibility
Inspect up to 100 currently retained records per channel and compare them with an explicitly approximate retained-member count.
How it works
From account to retained message in three steps
Create a project & save its key
Sign up, create a project, and copy its one-time API key into a secret manager. Only a hash remains retrievable from BlinkQ.
Create a channel
Add a project-scoped channel using lowercase letters, numbers, dots, underscores, or hyphens. Names are unique within each project.
Publish & poll retained data
Publish a string payload with priority 1–5 and a millisecond TTL, then inspect it in the session dashboard or poll with the project key.
External API
Plain HTTP. No SDK required.
External messaging is stateless and authenticated with a caller-supplied project Bearer key. Use any HTTP client.
- POST /messages — publish a string payload with priority and TTL
- GET /messages/poll — non-destructively read retained messages
- Priority — integer 1 through 5, where 5 is highest
- TTL — positive milliseconds
- Poll limit — 1 through 100
{
"projectId": "<PROJECT_ID>",
"channel": "alerts",
"payload": "Server CPU > 90%",
"priority": 5,
"ttl": 60000
}[
{
"messageId": "<MESSAGE_ID>",
"projectId": "<PROJECT_ID>",
"channel": "alerts",
"payload": "Server CPU > 90%",
"priority": 5,
"timestamp": 0
}
]Ship reliable messaging
without the complexity
Priority queues, hybrid push/poll, ACK-based recovery, and Redis-native rate limiting — all behind a simple REST API. Sign up and publish your first message in under two minutes.