Authentication

All endpoints are authenticated with Bearer tokens over HTTPS. Keys are hashed at rest and scoped per organization.

Bearer tokens

Need a key?

API keys are currently issued manually. Email your organization name and the endpoints you need to snapreportai99@gmail.com.

Every request must include an Authorization header carrying your API key as a Bearer token:

http
Authorization: Bearer myqa_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

API keys are hashed at rest with SHA-256. The raw key is shown exactly once at creation time — store it in a secrets manager.

Permissions

Keys carry one or more permissions. Each endpoint requires a specific one:

  • captureiq:analyze — POST /api/v1/captureiq/analyze
  • snapreport:generate — POST /api/v1/snapreport/analyze

Job-status GET endpoints are accessible to any valid key scoped to the same organization.

IP allowlist (optional)

When creating a key you can restrict it to a list of IP addresses. Requests from any other source return 401.

Error codes

HTTPCodeMeaning
401UNAUTHORIZEDMissing / invalid / revoked key, or IP not allowlisted.
403FORBIDDENKey is valid but lacks the required permission.
400INVALID_INPUTRequest body failed validation (missing fields, bad file type, unsafe callback URL).
400INVALID_AUDIO_FORMATAudio MIME type is not in the CaptureIQ supported list.
400FILE_TOO_LARGEA file exceeded its per-file size limit (see endpoint pages).
400INVALID_CALLBACK_URLcallback_url must be HTTPS and must not target localhost, private (RFC1918) / link-local IPs, or cloud metadata services.
404NOT_FOUNDJob ID does not exist or belongs to a different organization.
404STANDARD_NOT_FOUNDThe supplied standard_id does not exist (SnapReport).
500PROCESSING_ERRORUnexpected server error during processing.

Operational

  • Every response carries an X-Request-Id header (UUID). Include it when contacting support so we can locate the exact request in our logs.
  • All endpoints support CORS preflight (OPTIONS) with Authorization, Content-Type request headers.
  • There is no fixed rate limit at this time. Email snapreportai99@gmail.com before sustained traffic above ~10 req/s so we can scope a quota for your key.
  • Successful API calls are billed in coins from your organization plan based on token usage. The token_usage object on the response shows what was consumed.

Error envelope

json
{
"success": false,
"error": {
"code": "UNAUTHORIZED",
"message": "Invalid API key."
}
}