Stacklink

Connect an end-user account

Run a tenant through the hosted connect flow and reuse the account.

To act on a provider on behalf of your end-user, that user authorizes their account once through Stacklink's hosted connect flow. You never see or store the credential.

Enable the provider for your project

Providers are enabled at the project level. Do this once (dashboard or API).

curl -X PUT http://localhost:4100/v1/projects/<project-id>/providers/zoho_books \
  -H "content-type: application/json" \
  -H "x-stacklink-registration-key: $STACKLINK_REGISTRATION_KEY" \
  -d '{"status":"enabled","enabledBy":"stacklink-admin"}'

Start the connection from a session

const request = await session.authorize('zoho_books', {
  callbackUrl: 'https://app.example.com/connected',
});
return redirect(request.redirectUrl); // send your user here
curl -X POST http://localhost:4100/v1/sessions/<sessionId>/connections/authorize \
  -H "authorization: Bearer $STACKLINK_API_KEY" \
  -H "content-type: application/json" \
  -d '{"providerKey":"zoho_books","callbackUrl":"https://app.example.com/connected"}'

The user completes auth

At redirectUrl the user sees your-branded page and authorizes (OAuth) or submits API credentials. Stacklink validates and encrypts them, then creates the connected account.

Wait for completion

const account = await request.waitForConnection();
// account.id, account.status === 'connected'
curl http://localhost:4100/v1/connection-requests/<requestId> \
  -H "authorization: Bearer $STACKLINK_API_KEY"

Reuse it forever

Future sessions reference the account by id or alias; tool execution resolves it automatically. No re-auth until the credential actually expires — and Stacklink tells you when that happens.

Credential-backed modes available today

sandbox, whatsapp_business, and razorpay support API-key and webhook-secret connections. OAuth2 providers are represented in the contract; provider-specific authorization adapters are rolling out per provider.

✦ Free plan

Run this flow end-to-end, free

The whole connect flow — authorize, redirect, poll, execute — runs on the free plan's 20,000 monthly standard ops, hard-capped.

Get your API key todayNo credit card or UPI mandate required

On this page