API Keys | Brixus365 Docs
Docs Getting Started API Keys

API Keys

Generate and manage credentials so your application can call Brixus365 programmatically.

API keys are long-lived credentials that identify your application. Every API request includes the key in the X-API-Key header.

Never commit API keys to version control. Use environment variables or a secrets manager.


Key types

Brixus365 issues two key types depending on how you signed up:

Key typePrefixHow to get itWhat it can do
Preview keybx_preview_…Email-only widget on /developers — no full signup, no DNSSend via starter templates only. Sender is fixed to noreply@brixus365.dev. 50/day, 1,500/month, 10/min.
Live keybx_live_…Real signup at app.brixus365.com/signupFull transactional API: starter templates, raw HTML, batch send, SMTP. Send from your verified domain. 9,000/month free, more on paid plans.

The preview key is great for “try the API in 30 seconds” exploration. When you outgrow its limits — or want to send from your own domain — sign up free and you’ll get a bx_live_… key with the full feature set. See Quickstart for the two paths side-by-side.


Create your key

To create a bx_live_… key you need a free Brixus365 account. The full setup (signup → key → domain → default sender) is covered in Before you send. The short version:

1. Sign in to the Brixus365 app

Go to app.brixus365.com and sign in.

2. Open Settings → API Keys

Click your workspace name in the top-left, then SettingsAPI Keys in the Developer section.

Settings → API Keys page with the Create API Key form open

3. Click “Create API Key”

Give the key a descriptive name (e.g. production-backend, staging-worker) and pick a preset below.

4. Copy the key immediately

The full value is shown once, immediately after creation. Copy it now and store it securely. If you lose it, revoke the old key and create a new one.


Key presets

The dashboard offers four presets. Pick the one that matches what your integration needs to do.

PresetPick this when…What it grants
Send emails (transactional)You only need to send transactional email — receipts, password resets, magic links, OTPs. Works with the HTTP API, SMTP relay, and MCP server.Permission to send emails (and read your own send history)
Full Spark accessYou’re building a marketing automation backend — managing campaigns, contacts, templates, and analytics programmatically.Manage Spark campaigns + contacts + templates + send transactional
Spark analytics (read-only)You’re feeding Brixus data into a BI tool, dashboard, or warehouse. Read-only by design — this key cannot send anything.Read campaigns, contacts, templates, send history
Custom (advanced)You want a specific slice of permissions. Tick exact Read / Write checkboxes per resource (Templates / Spark / Contacts).Whatever you tick — least privilege recommended

Most integrations want “Send emails (transactional)”. If you’re just starting, pick this — you can always create additional keys later for specific workflows.

Free plan vs paid plan capability

Some scopes are gated to paid plans:

CapabilityFreePaid (Standard / Enterprise)
Send transactional email via API
Manage contacts and templates via API
Run Spark campaigns from the dashboard
Trigger Spark campaigns programmatically (marketing:* scopes)
Inbox & CRM (coming with WhatsApp/SMS)

If you create a free-tier key with a scope your plan doesn’t allow, the response is 403 SCOPE_NOT_ALLOWED_FOR_TIER and the key isn’t created.


Use your key

Pass your key in the X-API-Key request header on every API call.

Base URL

https://app.brixus365.com/api/v1
Bash
1curl -X POST https://app.brixus365.com/api/v1/emails \
2-H "X-API-Key: bx_live_your_key_here" \
3-H "Content-Type: application/json" \
4-d '{
5  "to": "you@example.com",
6  "starterTemplate": "welcome",
7  "variables": { "name": "Friend", "app_name": "Acme" }
8}'

A successful send returns HTTP 200 with a messageId you can use to look up delivery status. For more languages (PHP, .NET, Java, Go, Rust, Ruby, Elixir, Swift, SMTP) see Code examples.

Don’t use Authorization: Bearer for API keys — that header is reserved for dashboard JWTs. Sending an API key in Authorization returns 401 missing_api_key.


Rotate & revoke

To revoke a key: open Settings → API Keys, find the key, and click the trash icon. The key stops working immediately.

Rotation checklist:

  1. Create a new key with the same preset
  2. Update your application to use the new key (deploy / rotate the env var)
  3. Verify the new key works in production
  4. Revoke the old key

Rotate periodically — especially if a key was ever exposed in logs, error messages, or source control. Revoke immediately if you suspect compromise.