Authentication
The production API ishttps://api.lupin.sh. Agent registration is public and returns a new workspace key after an idempotent creation request. Other resource operations require a bearer key:
Key scopes
- A workspace key covers its workspace, subject to permissions and resource policies.
POST /v0/projects/:project_id/api-keyscreates a project-scoped key.POST /v0/emails/inboxes/:inbox_id/api-keyscreates an inbox-scoped key.
DELETE /v0/api-keys/:api_key_id or its scoped endpoint. Replaying registration never restores a revoked key.
Permissions and resource policy
POST /v0/api-keys accepts a name and permission map, such as { "name": "reader", "permissions": { "message_send": false } }. Permission flags cover inboxes, messages, drafts, domains, lists, webhooks, labels, metrics, projects and keys. Use the live OpenAPI schema and key response for the complete map.
Permissions alone do not override verification, spending caps, provider availability or plan limits. A full key for one workspace never grants global administrator access. Denied reads on protected labels behave as 404; a denied permission generally returns 403 missing_permission.