Every request is authenticated with an API key pair that belongs to your organisation: Send both with HTTP Basic auth: the public key as the username and the secret key as the password.
Most HTTP clients do this for you (curl -u, requests auth=(…), Node fetch with a Basic header).

Keeping keys safe

Never put a secret key in a website, mobile app or anything a user can download. Anyone with the secret key can act as your organisation within its scopes.
  • Keep secret keys in your server’s secret store or environment variables, not in source control.
  • Use one key per integration, with only the scopes it needs, so you can revoke one without breaking the others.
  • Give keys an expiry where you can (30, 90 or 365 days) and rotate them: create a new key, switch your integration over, then revoke the old one.
  • Watch Last used in Settings › API keys for keys nobody uses any more, and revoke them.
EMS stores only a one-way hash of each secret key: nobody at EMS can see it, and it can’t be shown again.

When authentication fails

A missing, malformed, wrong, revoked or expired key, or a key whose organisation is suspended, gets the same response:
Repeated failures from one IP address are limited: see Rate limits.

Revoking a key

In Settings › API keys, choose Revoke next to the key. It stops working immediately.