CONNECT APP
Build with Universal API
Developer Tools
- OAuth
MCP
Give your agent Universal API tools
Every Universal API action is exposed as an MCP tool on Pipedream's remote server. Point a client at it with your end user's ID and Connect resolves that user's Universal API account for each tool call — you store no tokens.
// accessToken: mint a short-lived token with the Connect SDK — see the MCP guide
const transport = new StreamableHTTPClientTransport(
new URL("https://remote.mcp.pipedream.net/v3"),
{
requestInit: {
headers: {
Authorization: `Bearer ${accessToken}`,
"x-pd-project-id": "{project_id}",
"x-pd-environment": "production",
"x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
"x-pd-app-slug": "universal_api",
},
},
},
)
const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)
const { tools } = await mcp.listTools()
// e.g. run Create Consumer:
const result = await mcp.callTool({
name: "universal_api-create-consumer",
arguments: {
name: "Name",
},
})# access_token: mint a short-lived token with the Connect SDK — see the MCP guide
headers = {
"Authorization": f"Bearer {access_token}",
"x-pd-project-id": "{project_id}",
"x-pd-environment": "production",
"x-pd-external-user-id": "{external_user_id}", # any stable ID for this user in your system
"x-pd-app-slug": "universal_api",
}
async with streamablehttp_client("https://remote.mcp.pipedream.net/v3", headers=headers) as (read, write, _):
async with ClientSession(read, write) as session:
await session.initialize()
tools = await session.list_tools()
# e.g. run Create Consumer:
result = await session.call_tool("universal_api-create-consumer", {
"name": "Name",
})API PROXY
Call the Universal API API directly
For an endpoint with no pre-built tool, the Connect proxy forwards your request to the Universal API API with the connected user's credentials attached. You store no tokens and write no refresh logic.
const resp = await pd.proxy.get({
externalUserId: "{external_user_id}", // any stable ID for this user in your system
accountId: "apn_xxxxxxx",
url: "https://api.example.com/v1/me",
})
// Any allowed Universal API endpoint works here. Pipedream attaches the
// connected account's credentials to the outgoing request.# The path segment is the target URL, URL-safe base64 encoded:
# https://api.example.com/v1/me
curl "https://api.pipedream.com/v1/connect/{project_id}/proxy/aHR0cHM6Ly9hcGkuZXhhbXBsZS5jb20vdjEvbWU?external_user_id={external_user_id}&account_id=apn_xxxxxxx" \
-H "Authorization: Bearer {access_token}" \
-H "x-pd-environment: production"SDK
Run Universal API actions from your backend
Connect a user's Universal API account once, then run Create Consumer on their behalf from your own code — TypeScript, Python, or plain HTTP.
import { PipedreamClient } from "@pipedream/sdk"
const pd = new PipedreamClient({
projectId: process.env.PIPEDREAM_PROJECT_ID!,
clientId: process.env.PIPEDREAM_CLIENT_ID!,
clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
projectEnvironment: "production",
})
const result = await pd.actions.run({
id: "universal_api-create-consumer",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
universal_api: { authProvisionId: "apn_xxxxxxx" },
name: "Name",
},
})from pipedream import Pipedream
pd = Pipedream(
client_id="{oauth_client_id}",
client_secret="{oauth_client_secret}",
project_id="{project_id}",
project_environment="production",
)
result = pd.actions.run(
id="universal_api-create-consumer",
external_user_id="{external_user_id}", # any stable ID for this user in your system
configured_props={
"universal_api": {"authProvisionId": "apn_xxxxxxx"},
"name": "Name",
},
)curl -X POST https://api.pipedream.com/v1/connect/{project_id}/actions/run \
-H "Content-Type: application/json" \
-H "X-PD-Environment: production" \
-H "Authorization: Bearer {access_token}" \
-d '{
"external_user_id": "{external_user_id}",
"id": "universal_api-create-consumer",
"configured_props": {
"universal_api": { "authProvisionId": "apn_xxxxxxx" },
"name": "Name"
}
}'TOOLS
Universal API actions
On-demand operations your product or agent can configure and run on behalf of a connected user.
-
Create Consumer
actionCreate a new consumer via the Platform API on Universal API. See the documentation.Writev0.0.1 -
Create Distributor Order
actionCreate a new order via the Distributors API on Universal API. Use List Distributor Products to discover valid product identifiers for the order items. See the documentation.Writev0.0.2 -
Delete Connection
actionPermanently delete a connection identified byuniversalApiandserviceIdvia the Platform API on Universal API. This is irreversible. Run List Connections first to find the correctserviceId. See the documentation.Writev0.0.2 -
Delete Consumer
actionPermanently delete a consumer via the Platform API on Universal API. This is irreversible. Run List Consumers first to find the consumer ID. See the documentation.Writev0.0.2 -
Get Connection
actionRetrieve a single connection identified byuniversalApiandserviceIdfrom the Platform API on Universal API. Run List Connections first to find the correctserviceId. See the documentation.Read-onlyv0.0.2 -
Get Distributor Order
actionRetrieve a single distributor order by ID from Universal API. Run List Distributor Orders first to discover valid IDs. See the documentation.Read-onlyv0.0.2 -
Get Distributor Product
actionRetrieve a single distributor product by ID from Universal API. Run List Distributor Products first to discover valid IDs. See the documentation.Read-onlyv0.0.2 -
Get HRIS Employee
actionRetrieve a single HRIS employee by ID from Universal API. Run List HRIS Employees first to discover valid employee IDs. See the documentation.Read-onlyv0.0.2 -
Get MDM APN Certificate
actionRetrieve the APN certificate from the MDM API on Universal API. See the documentation.Read-onlyv0.0.1 -
Get MDM DEP Token
actionRetrieve a single DEP token by ID from the MDM API on Universal API. Run List MDM DEP Tokens first to discover valid IDs. See the documentation.Read-onlyv0.0.2 -
Get MDM VPP Token
actionRetrieve a single VPP token by ID from the MDM API on Universal API. Run List MDM VPP Tokens first to discover valid IDs. See the documentation.Read-onlyv0.0.2 -
List Asset Management Budgets
actionList budgets from the Asset Management (AM) API on Universal API. Returns an array of budget objects. See the documentation.Read-onlyv0.0.1 -
List Asset Management Employees
actionList employees from the Asset Management (AM) API on Universal API. Returns an array of AM employee objects (paginated internally, up tomaxResults). This hits a different endpoint than List HRIS Employees. See the documentation.Read-onlyv0.0.2 -
List Asset Management Equipment Items
actionList equipment items from the Asset Management (AM) API on Universal API. Returns an array of equipment item objects (paginated internally, up tomaxResults). See the documentation.Read-onlyv0.0.1 -
List Asset Management Orders
actionList orders from the Asset Management (AM) API on Universal API. Returns an array of AM order objects. This hits a different endpoint than List Distributor Orders. See the documentationRead-onlyv0.0.2 -
List Connections
actionList connections from the Platform API on Universal API. Returns an array; use the returned IDs with Get Connection, Update Connection, or Delete Connection. See the documentation.Read-onlyv0.0.2 -
List Consumers
actionList consumers from the Platform API on Universal API. Returns an array (paginated internally, up tomaxResults); use the returned IDs with Delete Consumer. See the documentation.Read-onlyv0.0.2 -
List Distributor Orders
actionList orders from the Distributors API on Universal API. Returns an array; use the returned IDs with Get Distributor Order. This hits a different endpoint than List Asset Management Orders. See the documentation.Read-onlyv0.0.2 -
List Distributor Products
actionList products from the Distributors API on Universal API. See the documentation.Read-onlyv0.0.1 -
List HRIS Employees
actionList employees from the connected HRIS integration on Universal API. Returns an array of employee objects (paginated internally, up tomaxResults); use the returned IDs with Get HRIS Employee. ProvideserviceIdonly when the consumer has multiple active HRIS integrations. See the documentation.Read-onlyv0.0.2 -
List MDM APN Certificates
actionList APN (Apple Push Notification) certificates from the MDM API on Universal API. See the documentation.Read-onlyv0.0.1 -
List MDM DEP Tokens
actionList DEP (Device Enrollment Program) tokens from the MDM API on Universal API. Returns an array; use the returned IDs with Get MDM DEP Token. See the documentation.Read-onlyv0.0.2 -
List MDM Device Apps
actionList device apps from the MDM API on Universal API. Returns an array of device-app objects. See the documentation.Read-onlyv0.0.2 -
List MDM Devices
actionList devices from the MDM API on Universal API. Returns an array of device objects. See the documentation.Read-onlyv0.0.1 -
List MDM VPP Tokens
actionList VPP (Volume Purchase Program) tokens from the MDM API on Universal API. Returns an array; use the returned IDs with Get MDM VPP Token. See the documentation.Read-onlyv0.0.2 -
Track Shipment
actionRetrieve tracking statuses for a shipment by tracking ID from the Shipment API on Universal API. ProvideserviceIdto pick the carrier when a consumer has multiple active shipment integrations. See the documentation.Read-onlyv0.0.2 -
Update Connection
actionUpdate a connection identified byuniversalApiandserviceIdvia the Platform API on Universal API (PATCH; only supplied fields are changed). Run List Connections first to find the correctserviceId. See the documentation.Writev0.0.2
EVENTS
Universal API triggers
Event sources your backend can deploy for users and receive through a webhook.
No Universal API triggers are available yet.
- App slug
- universal_api
- Authentication
- OAuth
- Categories
- Developer Tools
- Actions
- 27
- Triggers
- 0
- API proxy
- Available