Overview
Relay is the Snipp API geared toward the full user experience. It mirrors the public API for uploads and posts, and adds the discover feed, likes, comments, notifications, blocking, profile editing, avatar and banner uploads, and view counting. Relay is intended for first-party clients (for example, the Snipp mobile app). For third-party integrations and SDKs, use the public API atapi.snipp.gg.
Base URL
The default base URL is:relay.snipp.gg is a load balancer sitting in front of the Relay servers. It resolves to the nearest healthy region and connects straight to it, with no per-request size cap, so your file size limit is whatever your plan allows. It is the right default for everything, including uploads.
Regional endpoints
Regional endpoints reach the same servers as
relay.snipp.gg and upload at the same speed, so pinning one buys you no performance. Use them when you want to control which region stores your files, or to force a specific server instead of letting the load balancer choose.
To confirm which region served a request, hit GET /region on any host.
Alternative endpoint
pulsar.snipp.gg serves the same Relay API over a separate network path. Requests are buffered before they reach the server, so uploads there are capped at 100 MB per request and large uploads are several times slower.
Use it only as a fallback if relay.snipp.gg is ever unreachable.
Authentication
Relay uses arelay-key header. Each Snipp account has a unique relay key. Treat it like a password.
[A-Za-z0-9]).
A missing, empty, or unrecognized relay key returns 401.
Team Access Keys
Teams (an Ultra feature) each have a dedicated access key. Pass it in therelay-key header in place of a personal relay key, and uploads go to the team’s shared gallery instead of a personal account. It works on /upload, /appendUpload, /editUpload, and /deleteUpload; every other endpoint is personal only and returns 401 for a team key.
- Files are stored in the team gallery, not a personal gallery.
- Uploads count against the team’s weekly quota, never a member’s personal quota.
- Team-key uploads are always created private, regardless of the
post-privacyheader, and their privacy cannot be changed afterward. Team posts are never unlisted or public. - Only the team owner can regenerate or delete the key, from the team’s settings page.
- If the team’s subscription lapses, uploads with the key return
403. Editing and deleting existing team posts keep working.
Endpoints
View Counting
Relay does not expose a dedicated view endpoint. Views increment automatically when a viewer hitsGET /posts/{code} or GET /discover.
To prevent inflation, views are deduplicated per IP and post: an IP can contribute up to 3 counted views per post per hour. Views are only counted on public, non-moderated posts.
Rate Limits
Rate limits apply per endpoint, not per account. See Rate Limits for the full table and details on handling429 responses.
Error Format
All errors return a JSON object with anerror field: