API Credentials
API credentials authenticate your server-to-server integration with the Fluxis REST API. Manage them in the Fluxis Dashboard at /app/api-keys (Owner and Admin roles only).
Overview
Each credential pair consists of:
| Component | Description |
|---|---|
| API Key ID | Public identifier sent on every protected request as x-fluxis-api-key |
| API Secret | Private secret used only for POST /v1/auth/token |
Key ID format
| Environment | Prefix | Example |
|---|---|---|
| Development | fxs.dev. | fxs.dev.a1b2c3d4-... |
| Staging | fxs.stg. | fxs.stg.a1b2c3d4-... |
| Production | fxs.prd. | fxs.prd.a1b2c3d4-... |
The secret is shown once when a key is created. Store it securely—you cannot retrieve it again from the dashboard.
Create your first API key
Follow these steps after signing up and enabling 2FA:
- Sign in to the Fluxis Dashboard:
- Staging: https://dashboard.stgfluxis.us
- Production: https://dashboard.fluxis.us
- In the sidebar, open Developers → API Keys (path:
/app/api-keys). - Click to create a new key.
- Set a descriptive name (e.g.
staging-backend-integration). - Assign roles
readandwritefor a standard payment integration. - Complete the 2FA verification challenge when prompted.
- Copy the API Secret immediately and store it in your secrets manager—the dashboard will not show it again.
- Note the API Key ID (
fxs.stg.*orfxs.prd.*) for use asx-fluxis-api-keyon protected requests.
Only Owner and Admin collaborators can create API keys. See Team & Roles if you need access.
Next: exchange the key and secret for a Bearer token—see API Integration Guide — Authentication.
Dashboard access
Open the Fluxis Dashboard and navigate to:
/app/api-keys
Available actions (Owner / Admin):
| Action | Description |
|---|---|
| List keys | Paginated view of organization API keys |
| Create key | Generate a new key + secret (requires 2FA verification) |
| Update name / roles | Change display name or permission roles |
| Update allowed IPs | Restrict requests to specific IP ranges |
| Enable / Disable | Toggle key without deleting it |
| Delete | Permanently remove a key |
Creating a new API key requires an active two-factor authentication challenge. Enroll at /app/user/2fa before your first key creation.
API roles
Each key is assigned one or more API roles:
| Role | Typical permissions |
|---|---|
read | Read-only access (list POS, get payment requests, list transactions) |
write | Create and mutate resources (payment requests, refunds, webhooks) |
Roles are stored on the credential and enforced by the API authorization layer. Organization-scoped keys operate across accounts in your organization; account-scoped keys (when provisioned) are limited to a single account.
Authentication flow
API credentials are not sent on every request directly. Exchange them for a short-lived Bearer token:
Code
Then call protected endpoints with both headers:
Code
Do not send x-fluxis-api-key on POST /v1/auth/token—only the JSON body with api_key and api_secret.
Token lifespan
- Access tokens expire after 1 hour
- Request a new token before expiry
- Disabling a key immediately invalidates further use
IP allowlisting
From /app/api-keys, you can restrict a key to specific source IP addresses or CIDR ranges. Requests from other IPs are rejected even with a valid token.
Leave allowlisting empty to permit any IP (not recommended for production).
Security best practices
Never embed API secrets in client-side code, mobile apps, or public repositories. Credentials belong on your backend only.
- Use separate keys per environment — dev, staging, and production should never share credentials
- Apply least privilege — prefer
readkeys for reporting services; usewriteonly where needed - Disable unused keys — disable or delete keys you no longer need
- Enable 2FA — required for key creation; protects dashboard access
- Monitor
last_used_at— review key activity in the dashboard list
Credential lifecycle
| Event | Effect |
|---|---|
| Key created | Secret shown once; key enabled by default |
| Key disabled | Token exchange and API calls fail |
| Key enabled | Normal operation resumes |
| Key deleted | Permanent; create a new key to replace |
Credential rotation (replacing a key while keeping the same logical identity) is handled through Fluxis support or by creating a new key, migrating integrations, and deleting the old key. There is no public "rotate secret in place" API today.
What credentials cannot do
- Dashboard login (collaborators use email/password + 2FA, not API keys)
- Automatic secret retrieval after creation
Related documentation
- Merchant Sign Up — create account and enable 2FA
- Two-Factor Authentication — required for key creation
- Team & Roles — who can manage API keys
- API Integration Guide — end-to-end integration