Integrations
Integrations link your own Vercel and Render accounts to deplo.ai. Vercel connects via a browser OAuth flow; Render connects with a Personal API key. These endpoints report connection status and manage both — provider tokens and keys are stored encrypted and never returned by any endpoint.
Lists the connection status of every supported provider for the authenticated user. Always returns one entry per provider (VERCEL and RENDER); the metadata fields are null when a provider is not connected.
| Field | Type | Description |
|---|---|---|
| provider | string | VERCEL or RENDER. |
| connected | boolean | Whether the connection is active. |
| accountName | string | null | Account name on the provider. |
| teamName | string | null | Team/workspace name, if the connection is team-scoped. |
| teamId | string | null | Provider team id; null for personal accounts. |
| connectedAt | string | null | ISO timestamp of when the connection was created. |
curl https://www.deplo.in/api/v1/integrations \
-H "Authorization: Bearer $DEPLO_TOKEN"{
"integrations": [
{
"provider": "VERCEL",
"connected": true,
"accountName": "adalovelace",
"teamName": "acme-team",
"teamId": "team_Fx3kP9qLm2Rv8sT1",
"connectedAt": "2026-07-30T11:02:55.000Z"
},
{
"provider": "RENDER",
"connected": false,
"accountName": null,
"teamName": null,
"teamId": null,
"connectedAt": null
}
]
}Returns the URL that starts the Vercel integration install flow for this user. Open the returned URL in a browser — Vercel handles authorization there. The optional returnTo query parameter controls where the browser lands afterwards: pass onboarding to return to onboarding; anything else returns to the integrations page. Returns 503 if the deployment has no public HTTPS URL configured.
| Query param | Type | Description |
|---|---|---|
| returnTo | string | Optional. onboarding or integrations (default). |
curl "https://www.deplo.in/api/v1/integrations/vercel/install-url?returnTo=integrations" \
-H "Authorization: Bearer $DEPLO_TOKEN"{
"url": "https://vercel.com/integrations/deplo-ai/new?state=eyJhbGciOiJIUzI1NiIs…"
}GET /api/v1/integrations/vercel/callback — a public system endpoint that identifies the user via a signed JWT in the state parameter, stores the connection, and redirects back to the dashboard. It is browser-driven and never called directly.Disconnects the user's Vercel integration.
curl -X DELETE https://www.deplo.in/api/v1/integrations/vercel \
-H "Authorization: Bearer $DEPLO_TOKEN"{
"disconnected": true
}Connects Render using a Personal API key (rnd_…). The key is validated live against the Render API before being stored encrypted — invalid keys are rejected and never persisted. The raw key is never logged and never echoed back.
| Field | Type | Description |
|---|---|---|
| apiKey | string | Required. A Render Personal API key — see the Render integration guide. |
curl -X POST https://www.deplo.in/api/v1/integrations/render \
-H "Authorization: Bearer $DEPLO_TOKEN" \
-H "Content-Type: application/json" \
-d '{"apiKey":"rnd_xxxxxxxxxxxxxxxxxxxx"}'{
"connected": true,
"accountName": "ada@example.com",
"teamName": "Ada's Workspace",
"connectedAt": "2026-08-07T09:20:13.000Z"
}{
"error": {
"message": "apiKey is required."
}
}Disconnects the user's Render integration.
curl -X DELETE https://www.deplo.in/api/v1/integrations/render \
-H "Authorization: Bearer $DEPLO_TOKEN"{
"disconnected": true
}A deployment requires whichever providers its detected stack uses — Render for the backend, Vercel for the frontend. A backend-only repository deploys with Render alone. See the Vercel and Render guides for the dashboard flows behind these endpoints.