Authentication
Every request authenticates with an API key passed as a bearer token. Keys are created in the dashboard and act with your account's full render permissions.
Creating a key
Create a key from Account → API keys (any paid plan, up to 5 active keys). The full key — prefixed jl_live_ — is shown once at creation; we store only a hash, so copy it immediately.
Using a key
Pass it in the Authorization header on every request:
curl https://janusly.com/api/v1/renders/$RENDER_ID \
-H "Authorization: Bearer jl_live_..."A missing, malformed, or revoked key returns 401 unauthorized. A valid key on a free-plan account returns 403 plan_required — see Errors & limits.
Checking your key and balance
GET /api/v1/accountreturns the key's account plan and current render-credit balance — a cheap smoke test that a key works and can afford a render:
curl https://janusly.com/api/v1/account \
-H "Authorization: Bearer jl_live_..."{
"plan": "pro",
"planLabel": "Pro",
"renderCreditsBalance": 1240,
"monthlyGrant": 1500,
"key": { "name": "production", "last4": "x9Qk" }
}Key hygiene
If a key leaks, revoke it from Account → API keys; revocation is immediate. Rate limits are per account, not per key, so multiple keys don't multiply your budget — they exist for rotation and for separating environments.