Documentation Index
Fetch the complete documentation index at: https://guide.cloud.blnkfinance.com/llms.txt
Use this file to discover all available pages before exploring further.
This feature is in private beta. If you want access, please contact Support.
Installation lifecycle
-
Use the install payload as your source of truth
When your app is installed, save the values from the install payload. At minimum, store:
installed_app_idapp_idorganization_idinstance_idapi_keygranted_permissions
-
Handle retries safely
Blnk may send the same install or uninstall event more than once. Use the
idempotency_keyto make sure your app does not create duplicate records or process the same uninstall twice. For example, if an install event arrives again with the same idempotency key, acknowledge it and return success without creating a second install record. - Clean up on uninstall When your app receives an uninstall event, delete or invalidate the stored API key for that installation. You should also mark the installation as uninstalled in your own system so the app no longer makes requests for that instance.
Security and permissions
-
Request the minimum permissions needed
Only request the scopes your app actually needs. If the app only reads ledger data, request
data:readinstead of broader write permissions. Users can also reduce permissions during installation, so your app should not assume it received every scope it requested. Always readgranted_permissionsfrom the install payload and use it to control what the app can do. -
Store API keys securely
The install payload includes an
api_keyfor the selected app installation. Store it securely and never expose it in the browser, logs, portal URLs, or client-side code. Treat the key like any other production secret. If the key is lost, the user must uninstall and reinstall the app to generate a new one. - Prefer Cloud APIs over direct Core access Apps can call a customer’s Core instance directly if they have access, but this bypasses Cloud-level controls. For installed apps, use the Cloud Proxy, Data API, and direct Cloud endpoints where possible. This keeps requests inside Cloud’s permission model and gives the app access to Cloud-managed security, rate limiting, audit logs, and workspace controls.
App launch and portal sessions
-
Generate a fresh portal URL for every launch
When a user launches your app, Blnk calls your
portal_generator_url. Your app should return a freshportal_urlfor that session. Do not return a permanent app URL. Use a short-lived token so the portal link expires after a few minutes. - Keep portal URLs access-controlled Treat portal URLs as sensitive until they expire. A user with access to the URL may be able to open the app session while the token is valid. Your app should validate the token, confirm the installation is still active, and check that the user is allowed to access the app.
-
Make the app embeddable in Cloud
The portal URL loads inside the Blnk Cloud dashboard. Configure your app so Cloud is allowed to embed it.
Reliability and user experience
- Return quickly from callback endpoints Install, uninstall, and portal generation endpoints should return within 10 seconds. Do only the required work before responding. For slower jobs, return a successful response first, then continue the work in the background.
-
Show clear error states
If something goes wrong, show users what happened and what they can do next.
Common cases include:
- The app is missing a required permission.
- The selected instance is unavailable.
- The app was uninstalled.
- The portal session expired.
- The app cannot reach an external provider.
-
Design for one organization and instance at a time
Apps are installed into a specific organization and instance. Do not assume the app has access to every instance in the workspace.
Always use the
organization_idandinstance_idfrom the install payload or portal request to scope what the app shows and does.
Design and layout
-
Keep the app readable inside Cloud
Your app does not have to match Blnk Cloud’s exact visual style. It can use its own brand or product interface.
When designing the app, make sure it feels comfortable inside the Cloud dashboard:
- Use clear spacing and readable text.
- Avoid layouts that feel cramped inside an embedded view.
- Make buttons, forms, and error states easy to understand.
- Keep important actions visible without requiring too much scrolling.