Management API

The Management API is for configuration and organization data. It is not the SDK ingestion endpoint. Create a scoped token from Team, then send it with Authorization: Bearer.

bash
curl https://getonramp.dev/api/v1/whoami \
  -H "Authorization: Bearer $ONRAMP_TOKEN"

Endpoints

MethodEndpointPurpose
GET/api/v1/whoamiInspect the token scope and available projects
GET, POST/api/v1/appsList or create projects
GET, PATCH/api/v1/apps/:appIdRead or rename a project, change digest setting
GET, POST/api/v1/apps/:appId/funnelsList or create/update funnels
GET, POST/api/v1/apps/:appId/segmentsList or create/update saved segments
GET, POST/api/v1/apps/:appId/keysList or create ingestion keys
GET, POST/api/v1/apps/:appId/integrationsList or connect credential-based revenue integrations
GET/api/v1/apps/:appId/teamList organization members
GET/api/v1/apps/:appId/billingRead plan and usage status

Create a funnel

bash
curl -X POST https://getonramp.dev/api/v1/apps/$APP_ID/funnels \
  -H "Authorization: Bearer $ONRAMP_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"Activation","steps":[{"step_name":"signed_up"},{"step_name":"first_project_created"}]}'

Funnels accept one to fifty valid steps. POST is an upsert: sending an existing name updates that funnel.

Connect a revenue provider

The API can connect Stripe, RevenueCat, Paddle, and Lemon Squeezy because each uses credential-based setup. OAuth providers, including Google Ads and Search Console, must be connected in the dashboard.

json
{
  "provider": "stripe",
  "credentials": { "secret_key": "rk_live_..." },
  "config": { "identity_strategy": "email", "sync_frequency_hours": 6 }
}

Use least-privilege tokens. Read access is separate from write access, and management tokens cannot delete resources.