DocumentationAuthentication
Authentication
Keys, idempotency, and safe request signing.
API keys
All write endpoints require an API key. Send it via header or query.
X-Access-Key: your-key
https://api.ssapi.com/v1/capture?access_key=your-key
Idempotency
Use Idempotency-Key to safely retry POST requests without duplicating work. Keys are cached for up to 24 hours.
Idempotency-Key: 7f9f6f1c-53b1-4df6-9a4a-8a2c6e1c1f02
Optional signatures
If you pass access_key via the query string, you can include a signature to prevent tampering. The server validates the signature when it is present.
import crypto from "crypto";
const accessKey = process.env.CAPTURE_KEY as string;
const secret = process.env.CAPTURE_SECRET as string;
const query = new URLSearchParams({ access_key: accessKey });
const unsigned = query.toString();
const signature = crypto.createHmac("sha256", secret).update(unsigned).digest("hex");
const url = `https://api.ssapi.com/v1/capture?${unsigned}&signature=${signature}`;
Public endpoints
These endpoints do not require authentication:
GET /v1/healthGET /v1/versionGET /v1/metricsGET /v1/devices
Security
Never embed your API key in client-side code. Use server-side calls or a backend proxy.
Updated 1 day ago