curl https://proxy.bundleup.io/user/repos?per_page=10 \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "BU-Connection-Id: conn_abc123"
const response = await client.proxy('conn_abc123').get('/user/repos?per_page=10');
const repos = await response.json();
response = client.proxy("conn_abc123").get("/user/repos", params={"per_page": 10})
repos = response.json()
response = client.proxy('conn_abc123').get('/user/repos?per_page=10')
repos = response.body
[
{
"id": 1296269,
"full_name": "octocat/hello-world",
"private": false
}
]
{ "status": 400, "code": "connection_invalid", "message": "Missing or invalid connection ID" }
{ "status": 429, "code": "rate_limit", "message": "Too many requests" }
Proxy & MCP
Proxy
Forward any request to the connected provider’s API with the user’s credentials.
GET
/
{path}
curl https://proxy.bundleup.io/user/repos?per_page=10 \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "BU-Connection-Id: conn_abc123"
const response = await client.proxy('conn_abc123').get('/user/repos?per_page=10');
const repos = await response.json();
response = client.proxy("conn_abc123").get("/user/repos", params={"per_page": 10})
repos = response.json()
response = client.proxy('conn_abc123').get('/user/repos?per_page=10')
repos = response.body
[
{
"id": 1296269,
"full_name": "octocat/hello-world",
"private": false
}
]
{ "status": 400, "code": "connection_invalid", "message": "Missing or invalid connection ID" }
{ "status": 429, "code": "rate_limit", "message": "Too many requests" }
Sends your request to the provider of the given connection, at
{provider base URL}/{path}, with the user’s access token. Any HTTP method is accepted. The query string, body and other headers are forwarded unchanged, and the provider’s response is returned unchanged.
Guide: Proxy overview.
Path
string
required
The provider API path, relative to the provider’s base URL. For example
user/repos for GitHub’s https://api.github.com/user/repos. Each provider’s base URL is listed on bundleup.io/integrations.Headers
string
required
Bearer YOUR_API_KEY, or Bearer YOUR_API_KEY.CONNECTION_ID. Replaced with the user’s token before forwarding.string
The connection to use. Required unless it’s appended to the API key.
integer
default:"3"
Maximum retries for
GET, HEAD and OPTIONS on 408, 429, 502, 503 or 504. 0 to 5.string
default:"user"
GitHub App connections only:
user or installation.Response
The provider’s response: status, headers and body, unchanged. If BundleUp rejects the request first, see errors.Limits
- 100 requests per 60 seconds per connection.
- 20 s provider timeout on the first attempt, 10 s on retries.
curl https://proxy.bundleup.io/user/repos?per_page=10 \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "BU-Connection-Id: conn_abc123"
const response = await client.proxy('conn_abc123').get('/user/repos?per_page=10');
const repos = await response.json();
response = client.proxy("conn_abc123").get("/user/repos", params={"per_page": 10})
repos = response.json()
response = client.proxy('conn_abc123').get('/user/repos?per_page=10')
repos = response.body
[
{
"id": 1296269,
"full_name": "octocat/hello-world",
"private": false
}
]
{ "status": 400, "code": "connection_invalid", "message": "Missing or invalid connection ID" }
{ "status": 429, "code": "rate_limit", "message": "Too many requests" }
Was this page helpful?

