Skip to main content

Documentation Index

Fetch the complete documentation index at: https://rimp.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

All requests authenticate via the Authorization: Bearer <key> header.
curl https://api.rimp.example/v1/models \
  -H "Authorization: Bearer sk_live_..."

Key formats

PrefixEnvironmentNotes
sk_live_…ProductionReal billing applies. Default tier limits.
sk_test_…Test modeSandbox. No charges. Returns synthetic outputs.
Keys are shown once at creation and stored as a SHA-256 hash. Lose it = rotate it.

Scopes (optional)

By default a key inherits the role of the user who created it. You can narrow a key’s blast radius:
ScopeAllows
images:writePOST /v1/images, POST /v1/comparisons (image-only)
videos:writePOST /v1/videos
generations:readGET /v1/generations/{id}
webhooks:manageCRUD on /v1/webhooks
Set scopes when creating a key via the dashboard. Empty scopes = full access (default).

Rotation

# 1. Create the new key (dashboard or API)
curl -X POST https://api.rimp.example/v1/api-keys \
  -H "Authorization: Bearer $ADMIN_KEY" \
  -d '{"name": "production-2026-q2"}'

# 2. Deploy the new key to your servers
# 3. Revoke the old one
curl -X DELETE https://api.rimp.example/v1/api-keys/key_old \
  -H "Authorization: Bearer $ADMIN_KEY"
Revocation is immediate. Subsequent requests with the revoked key get 401 invalid_api_key.

IP allowlist (Enterprise)

Restrict a key to a list of CIDR ranges:
curl -X PATCH https://api.rimp.example/v1/api-keys/key_abc \
  -H "Authorization: Bearer $ADMIN_KEY" \
  -d '{"ipAllowlist": ["203.0.113.0/24", "2001:db8::/32"]}'
Requests outside the allowlist return 403 ip_not_allowed.

What happens when auth fails

StatusCodeWhy
401missing_authorizationNo Authorization header
401invalid_authorizationHeader isn’t Bearer <token>
401invalid_api_keyKey not found or revoked
403ip_not_allowedCaller IP outside this key’s allowlist
403insufficient_roleKey scope doesn’t cover the requested operation