Skip to main content

Overview

Monaco’s public API is hosted on api.monaco.com The Monaco Public API uses API key authentication. Every request must include a valid API key in the Authorization header as a bearer token.

Obtaining an API Key

API keys are created through the Monaco application (Settings > API Keys). When you create a key you will receive a plaintext key with the prefix mks_ — this is the only time the plaintext value is shown. Monaco stores a hash of the key value; the original value cannot be retrieved later.
Each API key is scoped to an organization and optionally tied to a specific user. If no user is set, the key operates as the user who created it.

Authenticating Requests

Include the key in the Authorization header on every request as a bearer token:

Header Reference

Error Responses

401 — No Key / Invalid Key

Returned when the Authorization header is missing or the key does not match any active key.

429 — Rate Limited

All endpoints enforce per-org rate limiting. Every org has a limit of 100 requests per minute. When you exceed the limit, the response includes headers to help you back off:

Key Management

  • Deactivation — Keys can be deactivated from Settings. Deactivated keys are immediately rejected.
  • Rotation — Create a new key, migrate your integration, then deactivate the old key. There is no in-place rotation.

Best Practices

  1. Never expose your key in client-side code or version control. Use environment variables or a secrets manager.
  2. Respect rate limits. Read the Retry-After header and implement exponential backoff.
  3. Rotate keys periodically and immediately if you suspect a leak.