- OAuth access tokens: Server-side authentication using client credentials
- Connect tokens: Client-side authentication using short-lived tokens scoped to individual end users
OAuth Access Tokens
OAuth access tokens are used for server-side API requests. They’re generated using the client credentials flow and expire after 1 hour. Why OAuth? ✅ OAuth clients are tied to the Pipedream workspace and administered by workspace admins✅ Tokens are short-lived
✅ OAuth access tokens support scopes, limiting access to specific operations
Since API requests are meant to be made server-side, and since grants are not tied to individual end users, all OAuth clients are Client Credentials applications.
Creating an OAuth client
- Visit the API settings for your Pipedream workspace
- Click the New OAuth Client button
- Name your client and click Create
- Copy the client ID and secret (the secret will not be accessible again)
How to get an access token
In the client credentials model, you exchange your OAuth client ID and secret for an access token. Then you use the access token to make API requests. Pipedream offers TypeScript, Python, and Java SDKs, which abstract the process of generating and refreshing fresh access tokens./oauth/token API endpoint:
scope parameter is optional and accepts a space-separated list of scopes. If omitted, the token defaults to * (full access).
Access tokens expire after 1 hour. Store access tokens securely in your server.
OAuth scopes
OAuth access tokens support scopes to limit access to specific operations. When creating an access token, you can optionally specify a space-separated list of scopes. If no scope is specified, the token defaults to* (full access).
Available scopes:
| Scope | Description |
|---|---|
* | Full access to every OAuth-protected endpoint |
connect:* | Full access to all Connect API endpoints (components, projects, triggers, accounts, etc.) |
connect:actions:* | Full access to Connect actions |
connect:triggers:* | Full access to Connect triggers |
connect:accounts:read | List and fetch Connect accounts for an external user |
connect:accounts:write | Create or remove Connect accounts |
connect:deployed_triggers:read | Read deployed triggers and related data like events, pipelines and webhooks |
connect:deployed_triggers:write | Modify or delete deployed triggers |
connect:usage:read | List Connect usage records for a time window |
connect:users:read | List and fetch external users |
connect:users:write | Delete external users |
connect:tokens:create | Create Connect session tokens |
connect:proxy | Invoke the Connect proxy |
connect:workflow:invoke | Invoke Connect workflows on behalf of a user |
Revoking a client secret
- Visit your workspace’s API settings
- Click the … button to the right of the OAuth client whose secret you want to revoke, then click Rotate client secret
- Copy the new client secret (it will not be accessible again)
OAuth security
See the OAuth section of the security docs for more information on how Pipedream secures OAuth credentials.Connect Tokens
Connect tokens are short-lived tokens that enable you to securely make client-side requests on behalf of end users. They’re created server-side and passed to your frontend to authenticate requests.Creating a Connect token
Use the Create Connect token endpoint to generate a token for an external user:Connect token TTL
Connect tokens have a customizable time-to-live (TTL):- Minimum: 1 second
- Maximum: 14,400 seconds (4 hours)
- Default: 14,400 seconds (4 hours)
expires_in parameter (in seconds) when creating a token.
Connect token scopes
Connect tokens support the same scopes as OAuth access tokens. When creating a Connect token, you can optionally specify a space-separated list of scopes. If no scope is specified, the token defaults toconnect:* (full access to all Connect API endpoints).
Available scopes:
| Scope | Description |
|---|---|
connect:* | Full access to all Connect API endpoints (components, projects, triggers, accounts, etc.) |
connect:actions:* | Full access to Connect actions |
connect:triggers:* | Full access to Connect triggers |
connect:accounts:read | List and fetch Connect accounts for an external user |
connect:accounts:write | Create or remove Connect accounts |
connect:deployed_triggers:read | Read deployed triggers and related data like events, pipelines and webhooks |
connect:deployed_triggers:write | Modify or delete deployed triggers |
connect:usage:read | List Connect usage records for a time window |
connect:users:read | List and fetch external users |
connect:users:write | Delete external users |
connect:tokens:create | Create Connect session tokens |
connect:proxy | Invoke the Connect proxy |
connect:workflow:invoke | Invoke Connect workflows on behalf of a user |
Connect tokens cannot be granted the
* scope. The maximum scope available is connect:*.