Overview

All LowerPlane API endpoints under /api/v1/external/ are authenticated with organization API keys. Every request must include your key as a Bearer token in the Authorization header.

Creating an API Key

  1. Log in to the LowerPlane dashboard
  2. Go to Settings > API Keys
  3. Click Create API Key, give it a descriptive name (e.g., “CI/CD Pipeline”), and optionally set an expiration date
  4. Copy the key immediately — it is shown only once
All API keys start with the lp_ prefix. Keys are stored hashed; LowerPlane cannot recover a lost key, so you’ll need to create a new one if it’s misplaced.

Using Your Key

Scope

API keys are scoped to your organization. All resources created, read, updated, or deleted through the API belong to the organization that owns the key. A key cannot access data from any other organization.

Rate Limiting

API requests are rate limited per IP address using a sliding window. When the limit is exceeded, the API responds with 429 Too Many Requests:
Every response includes standard rate limit headers so you can track your usage:

Handling 429 responses

  • Wait until the time indicated by retryAfter (or RateLimit-Reset) before retrying
  • Use exponential backoff with jitter for automated clients
  • Batch or paginate requests instead of polling item-by-item — for example, use GET /external/assets?limit=100 rather than fetching assets one at a time
If you’re building a high-volume integration and consistently hit rate limits, contact [email protected] to discuss limits for your organization.

Error Responses

Security Best Practices

  • Never commit keys to source control. Use environment variables or a secrets manager (e.g., GitHub Actions secrets, AWS Secrets Manager).
  • Set expiration dates on keys used for short-lived projects.
  • Use one key per system so a compromised key can be revoked without breaking other integrations.
  • Revoke unused keys from Settings > API Keys.