Skip to content

Authentication

Every request to Authpipe’s authenticated endpoints requires an API key. Workspaces have two key types:

RolePrefixAccess
Secretsk_Full API access — all endpoints
Publishablepk_Auth session creation only (createAuthSession, createInstallSession)

Use secret keys server-side only. Publishable keys are safe to include in client-side code.

Pass your API key as a Bearer token:

Authorization: Bearer sk_your_secret_key

Or with the SDKs:

const authpipe = new Authpipe({ apiKey: "sk_..." });
const result = await authpipe.createApiKey("Production", "secret");
// result.key — full key, only returned once
// result.id — key ID for management
const keys = await authpipe.listApiKeys();
// Returns metadata only (id, name, role, created_at) — never the key itself
await authpipe.revokeApiKey("key_abc123");

Revoked keys are immediately rejected. Revocation is permanent.

Rate limits vary by workspace tier:

TierRequests per minute
Free60
Pro600
EnterpriseCustom

When rate limited, the API returns 429 Too Many Requests. All SDKs automatically retry with exponential backoff.

Some endpoints don’t require authentication:

EndpointDescription
GET /providersBrowse the provider catalog
GET /providers/{id}Get provider details
GET /providers/categoriesList categories
POST /auth-sessionsCreate OAuth auth session (with publishable key)
POST /install-sessionsCreate install session (with publishable key)
GET /oauth/callbackOAuth callback (Authpipe handles this)
POST /webhooks/{provider}Inbound provider webhooks