OAuth 2.0 is the recommended authentication method for multi-tenant integrations. Lofty supports three grant types:Documentation Index
Fetch the complete documentation index at: https://developer.lofty.com/llms.txt
Use this file to discover all available pages before exploring further.
| Grant Type | Use Case |
|---|---|
| Authorization Code | Web apps where a user authorizes access via browser |
| Authorization Code + PKCE | SPAs and native apps (no client secret required) |
| Client Credentials | Server-to-server / CLI (requires customer_key) |
Prerequisites
You need a Developer Platform account and a registered application. Sign up at the Lofty Developer Portal.Authorization Code flow
Register your application
Create a new application in the Developer Portal. Provide your app name, description, and redirect URI(s).New applications start in Development Mode — you can test the full OAuth flow without review.
Request an access token
Exchange your credentials for an access token via the OAuth 2.0 authorization code flow.For complete token endpoint details, see the OAuth 2.0 API Reference.
PKCE flow
For SPAs and native apps that cannot securely store a client secret. Uses a code verifier/challenge instead.client_secret is required. The Lofty CLI uses this flow for interactive browser login (lofty-cli auth login-browser).
Client Credentials flow
For server-to-server integrations with no user interaction. Requires acustomer_key (API key) to identify the target account.
customer_key is the target user’s API key (found in Settings → Integrations → API). The resulting token is scoped to that user’s data and permissions. See CLI Authentication for details.
Permission scopes
Each token is scoped to the endpoints granted to your application in the Developer Portal. Calling an out-of-scope endpoint returnsHTTP 403:
Rate limits by app mode
| Mode | Rate Limit |
|---|---|
| Development | 100 requests/min |
| Production | 500 requests/min |
app_info.rate_limit_per_minute.
App lifecycle
| Stage | Description |
|---|---|
| Development | Test the full OAuth flow without review. Rate limit: 100/min. |
| Under Review | Submitted for production access. |
| Production | Approved. Real users can authorize your app. Rate limit: 500/min. |
| Declined | Not approved. Edit and resubmit at any time. |
Updating a production app
Once in production, edits require review before taking effect. Your app continues operating with the current approved configuration during review. Non-breaking changes — app name, description, redirect URIs, removing scopes. Existing connections are unaffected. Breaking changes — adding new permission scopes invalidates existing tokens. Users must re-authorize. Notify users before submitting.Can I edit while a review is pending?
Can I edit while a review is pending?
No. Edit controls are locked during review. Cancel the pending edit first if you need to make urgent changes.
What happens if my edit is declined?
What happens if my edit is declined?
Your app continues operating with its current configuration. You’ll receive the decline reason via email and can resubmit after making adjustments.