Skip to content

Authentication

All requests to the Korven One API are authenticated with a bearer token in the Authorization header.

Updated Jul 15, 2026API 2026-07-01 Edit on GitHubReport an issue

Bearer authentication

GET /v1/payments HTTP/1.1
Host: api.korvenone.com
Authorization: Bearer sk_live_a1b2c3...
Korven-Version: 2026-04-01
Content-Type: application/json

The token is sent as Authorization: Bearer <key>. Basic auth, query-string keys, and unsigned JWTs are not accepted.

Key types

FieldTypeDescription
sk_live_*
secretFull-privilege server key for production. Never expose to browsers.
sk_test_*
secretFull-privilege sandbox key. Safe to share within the team.
pk_live_*
publishableBrowser-safe key for tokenising cards and initialising checkout.
pk_test_*
publishableSandbox equivalent of the publishable key.
rk_*
restrictedScoped key with a subset of permissions (e.g. read-only payments).

Required headers

FieldTypeDescription
Authorizationreq
stringBearer + secret key.
Korven-Version
stringPins the API version. Defaults to your account version.
Idempotency-Key
stringRequired on all POST/PUT to guarantee safe retries.
Content-Typereq
stringAlways "application/json" for writes.

Auth errors

FieldTypeDescription
401 unauthorized
errorMissing, malformed, or revoked key.
403 forbidden
errorValid key but wrong scope or environment.

Rotation & security

  • Rotate secret keys every 90 days. Both the old and new key stay valid for 24 hours during rotation.
  • Use restricted keys for background workers that only need read access.
  • Store keys only in environment variables or a managed secrets store.
  • Every key emits an event to the audit log on create, use, and revoke.