Skip to main content

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 at api.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 a relay-key header. Each Snipp account has a unique relay key. Treat it like a password.
Generate, regenerate, or delete your relay key from snipp.gg/settings/relay. Keys are 32 alphanumeric characters ([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 the relay-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.
Key differences when uploading with 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-privacy header, 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.
Anyone who holds a team key can upload with it, so treat it like any other credential and share it only with trusted team members.

Endpoints

View Counting

Relay does not expose a dedicated view endpoint. Views increment automatically when a viewer hits GET /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 handling 429 responses.

Error Format

All errors return a JSON object with an error field:

HTTP Status Codes