You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -24,8 +25,9 @@ Before getting started with the Connect proxy, make sure you've already gone thr
24
25
25
26
## Getting started
26
27
27
-
You can send requests to the Connect proxy using the [Pipedream SDK](#using-the-pipedream-sdk) with a fetch-style interface, or directly to the [Pipedream REST API](#using-the-rest-api).
28
+
You can send requests to the Connect proxy using the Pipedream SDK with a fetch-style interface, or directly to the Pipedream REST API.
28
29
30
+
**Prerequisites:**
29
31
- A [Pipedream OAuth client](/rest-api/auth/#oauth) to make authenticated requests to Pipedream's API
30
32
- Connect [environment](/connect/managed-auth/environments/) (ex, `production` or `development`)
31
33
- The [external user ID](/connect/api/#external-users) for your end user (ex, `abc-123`)
@@ -41,14 +43,17 @@ Since Pipedream has {process.env.PUBLIC_APPS}+ integrated apps, we know how the
41
43
42
44
### Sending requests
43
45
46
+
When making requests through the Connect proxy, you'll need to provide the following:
47
+
48
+
#### Request parameters
49
+
44
50
**URL**
45
51
46
52
- The URL of the API you want to call (ex, `https://slack.com/api/chat.postMessage`)
47
53
- When using the REST API, this should be a URL-safe Base64 encoded string (ex, `aHR0cHM6Ly9zbGFjay5jb20vYXBpL2NoYXQucG9zdE1lc3NhZ2U`)
48
54
49
55
<Callouttype="info">
50
-
- Some APIs like Zendesk, Zoho, and others use dynamic base domains that are account-specific (e.g, `https://foo.zendesk.com`). For any of these apps, you should pass a relative path as the `url` in your proxy request, like `/api/v2/chat/chats` for example.
51
-
- Those dynamic fields are typically defined by the end user during the account connection flow, so the domain value will be stored as part of their connected account credentials in Pipedream.
56
+
**For apps with dynamic domains** (like Zendesk, Zoho, GitLab), you should use relative paths in your proxy requests. Pipedream automatically resolves the correct domain based on the user's connected account. See [When to use relative vs full URLs](#when-to-use-relative-vs-full-urls) for details.
52
57
</Callout>
53
58
54
59
**HTTP method**
@@ -64,10 +69,10 @@ Since Pipedream has {process.env.PUBLIC_APPS}+ integrated apps, we know how the
64
69
- If using the REST API, include the `Authorization` header with your Pipedream OAuth access token (`Bearer {access_token}`)
65
70
- Headers that contain the prefix `x-pd-proxy` will get forwarded to the upstream API
66
71
67
-
#### Using the Pipedream SDK
68
-
69
-
You can use the [Pipedream SDK](https://www.npmjs.com/package/@pipedream/sdk) to send a fetch-style request:
You can also use the Connect REST API directly. If using the REST API, send your Pipedream OAuth access token in the `Authorization` header:
113
-
114
+
</Tabs.Tab>
115
+
<Tabs.Tab>
114
116
```bash
115
117
# First, obtain an OAuth access token to authenticate to the Pipedream API
116
118
@@ -134,10 +136,104 @@ curl -X POST "https://api.pipedream.com/v1/connect/{your_project_id}/proxy/{url_
134
136
135
137
# Parse and return the data you need
136
138
```
139
+
</Tabs.Tab>
140
+
</Tabs>
141
+
142
+
## Allowed domains
143
+
144
+
The vast majority of apps in Pipedream work with the Connect Proxy. To check if an app is supported and what domains are allowed, use `pd.getApps()` or the [`/apps` REST API](/rest-api/#list-apps).
145
+
146
+
### Understanding the Connect object
147
+
148
+
Each app in the `/apps` API response includes a `connect` object:
Filter the response for apps where `connect.proxy_enabled` is `true`.
231
+
</Tabs.Tab>
232
+
</Tabs>
137
233
138
234
## Limits
139
235
140
236
The Connect proxy limits API requests to,
141
-
-100 requests per minute per project. Requests that surpass this limit will receive a `429` response.
237
+
- 1,000 requests per 5 minutes per project. Requests that surpass this limit will receive a `429` response.
142
238
- A maximum timeout of 30 seconds. Requests that take longer than 30 seconds will be terminated, and Pipedream will return a `504` error to the caller.
143
239
- Please [let us know](https://pipedream.com/support) if you need higher limits.
0 commit comments