Skip to main content

API Keys

Use API keys when a backend service (not a logged-in user) needs to call the Orqio REST API.

API keys are:

  • Scoped to a workspace (create separate keys for staging and prod)
  • Shown only once at creation time (copy it immediately)
  • Revocable (a revoked key stops working immediately)

Before you create a key

  • Confirm which workspace the integration should use (staging first, then prod)
  • Decide key ownership (team/service name) and naming convention
  • Prepare a secret manager location where the key will be stored

Create an API key (Orqio UI)

  1. Switch to the target workspace (start with staging).
  2. Open API Keys in the left navigation.
  3. Click Create API Key.
  4. Give the key a descriptive name (example: staging-crm-sync).
  5. Copy the key from the one-time reveal dialog and store it in a secret manager.
Treat API keys as secrets

Never commit API keys into Git or paste them into tickets. Rotate and revoke keys regularly.

Use a consistent format:

{workspace}-{integration}-{purpose}

Examples:

  • staging-salesforce-sync-read
  • prod-support-webhook-write

Use an API key in requests

Orqio accepts API keys in either of these forms:

  • x-api-key: pk_...
  • Authorization: Bearer pk_...

Example: list contacts (API key supported)

curl -sS "https://app.orqio.io/public/api/v1/orgs/$ORG_ID/workspaces/$WORKSPACE_ID/contacts" \
-H "x-api-key: $ORQIO_API_KEY"
Endpoint support

The customer-facing API on app.orqio.io/public/api is API-key-first and currently includes contacts, contact custom attributes, and trigger webhook invocation endpoints.

Operational best practices

  • Create keys per service, not shared across unrelated systems
  • Keep separate keys for staging and production
  • Rotate keys regularly (for example, every 60–90 days)
  • Revoke keys immediately when ownership changes or exposure is suspected

Troubleshooting checklist

  • Invalid format: API keys use a public.secret composite format (typically starting with pk_).
  • 401 Unauthorized: header missing or malformed.
  • 403 revoked/expired: create a new key and revoke the old one.
  • Wrong workspace: keys are workspace-scoped; ensure key and URL target the same workspace.