Connect an app through its owner’s hosted authorization
Discover an enabled app, preserve the connection attempt and verify active ownership after hosted authorization.
Search the enabled catalog, interpret readiness and paginate instead of assuming every provider integration is available.
Composio offers a broad toolkit inventory, but Lupin exposes only apps the operator has configured. That difference is intentional: an app name without a usable authentication blueprint cannot complete a reliable owner authorization flow. Use the Lupin catalog as the operational source for your workspace rather than copying a list from a provider website. When a user requests a particular service, search its name and inspect the returned app identifier and status. Do not manufacture an integration merely because the external provider recognizes a similarly named toolkit.
GET /v0/connections/catalog accepts search and limit parameters. The worked request searches github without changing any account. Use the exact returned app identifier in later setup rather than a guessed display name. Catalog responses deliberately omit auth-config IDs and customer account references. That safe metadata boundary lets an application explain available capabilities without exposing the operator’s provider configuration. Connection access still requires an organization credential with the relevant read permission; the catalog is not an invitation to distribute a broad owner key to every agent worker.
curl --fail-with-body --get "https://api.lupin.sh/v0/connections/catalog" \
-H "Authorization: Bearer $LUPIN_API_KEY" \
--data-urlencode "search=github" --data-urlencode "limit=25" \
--data-urlencode "include_unavailable=true"The catalog is searchable and paginated because provider inventory can exceed what fits in one response. Pass the returned next_cursor as cursor for the next request and stop when no next cursor remains. Capabilities includes only the first hundred configured apps plus total and cursor metadata, so it is a compact discovery surface rather than an exhaustive inventory. Keep the search and other filters steady while paging. If an app is missing from a small capabilities response, check the searchable catalog before concluding that the workspace does not support it.
Finding an enabled app establishes setup readiness, not authorization to access a particular person’s data. The owner still needs to review the account and requested permissions in hosted authorization, and the result must become active before tool discovery. Save the selected app with the workflow’s intended account purpose, such as engineering issue triage. A useful acceptance milestone is a complete catalog search and clear readiness result. It should not create a connection, consume a pending slot or execute a tool merely to demonstrate that the app is discoverable.
Search an app that the operator has intentionally disabled and include unavailable entries. The expected result is a clear readiness explanation with no authorization link and no account creation. This fixture verifies the catalog boundary directly, rather than using a failed live OAuth attempt to discover that setup was incomplete.
Reviewed against current checked-in Lupin routes, shared contracts and official provider references. No live calls, OAuth authorizations, app actions or purchases were performed.
Prepared with AI assistance by Lupin editorial. How we research and maintain these guides.