Skip to main content
POST
/
v1
/
oauth
/
token
cURL
curl --request POST \
  --url https://api.pipedream.com/v1/oauth/token \
  --header 'Content-Type: application/json' \
  --data '{
  "grant_type": "client_credentials",
  "client_id": "<string>",
  "client_secret": "<string>",
  "scope": "<string>"
}'
{
  "access_token": "<string>",
  "token_type": "<string>",
  "expires_in": 123
}
If using one of the available SDKs in TypeScript, Python, or Java, the OAuth access token is automatically generated (and refreshed) for you when you initialize the client.
Create an OAuth client to get your client ID and secret:
  1. Visit the API settings for your Pipedream workspace.
  2. Click the New OAuth Client button.
  3. Name your client and click Create.
  4. Copy the client secret. It will not be accessible again. Click Close.
  5. Copy the client ID from the list.
Read more in the Authentication section.

OAuth scopes

You can optionally specify a scope parameter in the request body to limit the access token to specific operations. The scope parameter accepts a space-separated list of scopes. If no scope is specified, the token defaults to * (full access). Example request with scopes:
curl -X POST https://api.pipedream.com/v1/oauth/token \
  -H 'Content-Type: application/json' \
  -d '{
    "grant_type": "client_credentials",
    "client_id": "YOUR_CLIENT_ID",
    "client_secret": "YOUR_CLIENT_SECRET",
    "scope": "connect:accounts:read connect:accounts:write"
  }'
Available scopes:
ScopeDescription
*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:readList and fetch Connect accounts for an external user
connect:accounts:writeCreate or remove Connect accounts
connect:deployed_triggers:readRead deployed triggers and related data like events, pipelines and webhooks
connect:deployed_triggers:writeModify or delete deployed triggers
connect:users:readList and fetch external users
connect:users:writeDelete external users
connect:tokens:createCreate Connect session tokens
connect:proxyInvoke the Connect proxy
connect:workflow:invokeInvoke Connect workflows on behalf of a user

Body

application/json

Request object for creating an OAuth token

grant_type
enum<string>
required
Available options:
client_credentials
client_id
string
required
client_secret
string
required
scope
string

Optional space-separated scopes for the access token. Defaults to '*'.

Response

200 - application/json

token created

Response object for creating an OAuth token

access_token
string
required
token_type
string
required
expires_in
integer
required
I