API Reference
Send live requests against the Ramp Developer API from this page. Paste a bearer token into the Authorization field, fill in the parameters you want, and read the real response.
The canonical schema is the OpenAPI specification, covering 170 endpoints. The endpoints below are the ones most integrations start with.
Base URLs: https://api.ramp.com for production, https://demo-api.ramp.com for sandbox. Need a token first? See the Quickstart.
/developer/v1/tokenMint an access token. Send client_id:client_secret base64-encoded in the Authorization header as HTTP Basic Auth.
Sent as the Authorization header. Your key is used only by your browser for this request — it is never sent to Docsbook or stored.
One of authorization_code, client_credentials, or refresh_token
Space-separated list of scopes to grant the returned token
Authorization code, for the authorization_code flow
The redirect URI used in the authorization request
The refresh token issued to you, to get a new access token
curl -X POST https://api.ramp.com/developer/v1/token \
-H "Authorization: Basic $(echo -n 'YOUR_CLIENT_ID:YOUR_CLIENT_SECRET' | base64)" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials" \
-d "scope=transactions:read"{
"access_token": "YOUR_ACCESS_TOKEN",
"token_type": "Bearer",
"expires_in": 864000,
"scope": "transactions:read"
}/developer/v1/transactionsList transactions with filters across merchant, user, amount, date, and sync state. Requires transactions:read.
Sent as the Authorization header. Your key is used only by your browser for this request — it is never sent to Docsbook or stored.
Transactions with a user_transaction_time after this date
Transactions with a user_transaction_time before this date
Filter by merchant
Filter by user
Filter by physical card
Filter by spend program
Filter by department
Filter by business entity
Filter by transaction state; ALL includes every state
Transactions with an amount larger than this value
Transactions with an amount smaller than this value
Only approved, or only unapproved, transactions
Transactions that require a memo but do not have one
Filter by sync status; supersedes sync_ready when set
Include all purchase data provided by the merchant
Sort by transaction date, newest first
Results per page
ID of the last entity on the previous page, used as the cursor
curl "https://api.ramp.com/developer/v1/transactions?page_size=10&order_by_date_desc=true" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"/developer/v1/usersList the people on the account. Requires users:read.
Sent as the Authorization header. Your key is used only by your browser for this request — it is never sent to Docsbook or stored.
Filter by email address
USER_DRAFT, INVITE_PENDING, USER_ACTIVE, USER_INACTIVE, USER_SUSPENDED
Filter by Ramp role
Filter by department
Filter by business entity
Filter by your own employee identifier
Results per page
Pagination cursor
curl "https://api.ramp.com/developer/v1/users?status=USER_ACTIVE&page_size=25" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"/developer/v1/billsList bills with filters across vendor, status, and dates. Requires bills:read.
Sent as the Authorization header. Your key is used only by your browser for this request — it is never sent to Docsbook or stored.
Filter by vendor
Filter by business entity
Exact invoice number
Filter by payment status
Bill approval status, separate from payment status
Filter by payment method
Only bills ready to sync to the ERP
Only bills missing payment details
Show archived bills instead of active ones
Bills due on or after this date
Bills due on or before this date
Bills at or above this amount
Bills at or below this amount
Results per page
Pagination cursor
curl "https://api.ramp.com/developer/v1/bills?sync_ready=true&page_size=50" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"| Status | Meaning |
|---|---|
401 |
Missing, expired, or wrong-environment token |
403 |
The token's scopes do not cover this endpoint |
429 |
Rate limit exceeded — 200 requests per 10-second window |
504 |
Request exceeded the 60-second timeout; paginate into smaller pages |
Related#
- Conventions — pagination, monetary values, deferred tasks, and error shapes.
- Authorization — the scope each endpoint requires.
- Webhooks — event delivery instead of polling these endpoints.