Skip to main content

Use the OnRamp API to Access and Manage Your Data

The OnRamp API lets you securely access and update data from your OnRamp instance. You can use it to automate onboarding workflows, sync information with external systems like Salesforce or HubSpot, or build your own integrations.

Dylan Main avatar
Written by Dylan Main
Updated this week

Summary / When to Use This

The OnRamp API lets you securely access and update data from your OnRamp instance. You can use it to automate onboarding workflows, sync information with external systems like Salesforce or HubSpot, or build your own integrations.

The API follows modern REST standards, supports JSON for all requests and responses, and uses standard HTTP verbs like GET, POST, PUT, and DELETE.

πŸ”— Always check the latest version:
New endpoints are added regularly. For the most current documentation, visit https://api.onramp.us/docs


Before You Begin

Make sure:

  • The API is enabled for your organization. If it’s not, contact your OnRamp Account Manager.

  • You have generated an authentication token β€” required for every request.

  • You understand basic REST and JSON conventions.


API Overview

The OnRamp API allows you to:

  • Retrieve data about projects, playbooks, customers, and more.

  • Create and update records directly from external systems.

  • Automate repetitive tasks like tagging, completing, or archiving.

  • Listen for events via webhooks for real-time sync.

All responses are UTF-8 encoded JSON objects, and standard HTTP status codes indicate request results.


Rate Limits

To maintain reliability, OnRamp enforces usage limits:

  • Read operations: up to 600 per minute

  • Write operations: up to 200 per minute

If you exceed these limits, you’ll receive a 429 Too Many Requests response.
You may also encounter concurrency limits if too many simultaneous requests are active.

Each API request includes a unique Request ID (X-Request-Id in the response header). If you need support, include this value when contacting support@onramp.us.


URL Structure

OnRamp endpoints follow predictable, RESTful patterns:

Type

Example

Description

/v1/resource

GET https://api.onramp.us/v1/users

List or create resources

/v1/resource/{id}

GET https://api.onramp.us/v1/tasks/{task_id}

Retrieve or update a specific record

/v1/resource/{id}/action

POST https://api.onramp.us/v1/projects/{project_id}/archive

Perform an action on a resource


Common Endpoints

Here’s a quick reference of key API groups and their most common endpoints.

πŸ§‘β€πŸ’Ό Customers

  • GET /v1/customers β€” Get all customers

  • POST /v1/customers β€” Create a new customer

  • GET /v1/customers/{customer_id} β€” Get customer by ID

  • PUT /v1/customers/{customer_id} β€” Update customer

  • POST /v1/customers/{customer_id}/tag/{tag_id} β€” Add a tag

  • DELETE /v1/customers/{customer_id}/tag/{tag_id} β€” Remove a tag

πŸ“… Projects

  • GET /v1/projects β€” Get all projects

  • POST /v1/projects β€” Create a new project

  • GET /v1/projects/{project_id} β€” Get project by ID

  • PUT /v1/projects/{project_id} β€” Update project

  • GET /v1/projects/{project_uuid}/members β€” List project members

  • POST /v1/projects/{project_id}/tag/{tag_id} β€” Add a tag

  • DELETE /v1/projects/{project_id}/tag/{tag_id} β€” Remove a tag

🧩 Modules

  • GET /v1/modules β€” Get all modules

  • GET /v1/modules/{module_id} β€” Get module by ID

  • PUT /v1/modules/{module_id} β€” Update module

πŸͺ„ Playbooks

  • GET /v1/playbooks β€” Get all playbooks

βœ… Tasks

  • GET /v1/tasks β€” Get all tasks

  • POST /v1/tasks β€” Create a new task

  • GET /v1/tasks/{task_id} β€” Get task by ID

  • PUT /v1/tasks/{task_id} β€” Update task

  • POST /v1/tasks/{task_id}/complete β€” Mark task complete

  • POST /v1/tasks/{task_id}/tag/{tag_id} β€” Add a tag

  • DELETE /v1/tasks/{task_id}/tag/{tag_id} β€” Remove a tag

πŸ‘₯ Users & Roles

  • GET /v1/users β€” Get all users

  • POST /v1/users β€” Create a new user

  • GET /v1/users/{user_id} β€” Get user by ID

  • PUT /v1/users/{user_id} β€” Update user

  • GET /v1/user-roles β€” List all user roles

🏷️ Tags & Statuses

  • GET /v1/tags β€” List tags

  • POST /v1/tags β€” Create a tag

  • PUT /v1/tags/{tag_id} β€” Update a tag

  • DELETE /v1/tags/{tag_id} β€” Delete a tag

  • GET /v1/statuses β€” Get all statuses

πŸ”” Webhooks

  • GET /v1/webhooks β€” List webhooks

  • POST /v1/webhooks β€” Create a new webhook

  • GET /v1/webhooks/{webhook_id} β€” Get webhook by ID

πŸ“Š Data Fields & Values

  • GET /v1/datafields β€” Get all data fields

  • PUT /v1/datafields/{datafield_uuid} β€” Update data field

  • GET /v1/datafields/{datafield_uuid}/values β€” Get all values for a data field

  • GET /v1/datafield-values/{datafield_value_uuid} β€” Get datafield value by UUID

  • PUT /v1/datafield-values/{datafield_value_uuid} β€” Update datafield value


Tips & Troubleshooting

πŸ’‘ Best Practices

  • Use pagination and filtering to optimize performance.

  • Cache frequent reads when possible to minimize load.

  • Respect rate limits and retry with exponential backoff.

  • Log and store X-Request-Id values for troubleshooting.

  • Validate webhook signatures for authenticity.

πŸ› οΈ Common Issues

  • 401 Unauthorized: Check your authentication token.

  • 429 Too Many Requests: You’ve exceeded rate limits β€” add retry logic.

  • 404 Not Found: Verify that the resource ID exists and is accessible.

Did this answer your question?