Skip to content
VEYRA — Payments without borders

Documentation

Authentication

How API keys work, which key to use where, and why some dashboard actions ask you to confirm it is really you.

Key types

KeyWhere it livesWhat it can do
sk_test_…Your server onlyEverything your account can do in the sandbox. Shown once, stored as a hash.
pk_test_…Browser or mobile appOnly tokenisation for checkout. Safe to embed in front-end code.
rk_test_…Specific servicesOnly the scopes you grant, e.g. read-only access for a reporting job.

Live keys

sk_live_ keys cannot be created yet. They will exist only after live processing is approved for your account.

Authenticate with HTTP Bearer authentication. Requests without a valid key return 401 authentication_required.

curl http://localhost:4610/v1/balance \
  -H "Authorization: Bearer sk_test_..."

Restricted keys and scopes

Restricted keys follow least privilege. Scopes are written as resource:read or resource:write:

ScopeAllows
payment_intents:readRetrieve and list Payment Intents
payment_intents:writeCreate, confirm, capture and cancel
refunds:writeCreate refunds
payouts:readRetrieve and list payouts
events:readRetrieve and list events

A request outside the key's scopes returns 403 permission_denied.

Step-up for dashboard actions

Some actions are too sensitive to rely on an existing session alone: adding or changing a bank account, creating payouts, creating API keys, changing team roles and changing two-factor settings. The dashboard asks you to re-authenticate if you have not done so in the last ten minutes. Dashboard API calls that need it return 401 step_up_required.

Authentication — Documentation · VEYRA