Overview

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.

POST/developer/v1/token

Mint an access token. Send client_id:client_secret base64-encoded in the Authorization header as HTTP Basic Auth.

Authorization
Authorizationstring

Sent as the Authorization header. Your key is used only by your browser for this request — it is never sent to Docsbook or stored.

Body
grant_typestringrequired

One of authorization_code, client_credentials, or refresh_token

scopestring

Space-separated list of scopes to grant the returned token

codestring

Authorization code, for the authorization_code flow

redirect_uristring

The redirect URI used in the authorization request

refresh_tokenstring

The refresh token issued to you, to get a new access token

Example
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"
Response
{
  "access_token": "YOUR_ACCESS_TOKEN",
  "token_type": "Bearer",
  "expires_in": 864000,
  "scope": "transactions:read"
}
GET/developer/v1/transactions

List transactions with filters across merchant, user, amount, date, and sync state. Requires transactions:read.

Authorization
Authorizationstring

Sent as the Authorization header. Your key is used only by your browser for this request — it is never sent to Docsbook or stored.

Query
from_datestring

Transactions with a user_transaction_time after this date

to_datestring

Transactions with a user_transaction_time before this date

merchant_idstring

Filter by merchant

user_idstring

Filter by user

card_idstring

Filter by physical card

spend_program_idstring

Filter by spend program

department_idstring

Filter by department

entity_idstring

Filter by business entity

statestring

Filter by transaction state; ALL includes every state

min_amountnumber

Transactions with an amount larger than this value

max_amountnumber

Transactions with an amount smaller than this value

has_been_approvedboolean

Only approved, or only unapproved, transactions

requires_memoboolean

Transactions that require a memo but do not have one

sync_statusstring

Filter by sync status; supersedes sync_ready when set

include_merchant_databoolean

Include all purchase data provided by the merchant

order_by_date_descboolean

Sort by transaction date, newest first

page_sizeinteger

Results per page

startstring

ID of the last entity on the previous page, used as the cursor

Example
curl "https://api.ramp.com/developer/v1/transactions?page_size=10&order_by_date_desc=true" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
GET/developer/v1/users

List the people on the account. Requires users:read.

Authorization
Authorizationstring

Sent as the Authorization header. Your key is used only by your browser for this request — it is never sent to Docsbook or stored.

Query
emailstring

Filter by email address

statusstring

USER_DRAFT, INVITE_PENDING, USER_ACTIVE, USER_INACTIVE, USER_SUSPENDED

rolestring

Filter by Ramp role

department_idstring

Filter by department

entity_idstring

Filter by business entity

employee_idstring

Filter by your own employee identifier

page_sizeinteger

Results per page

startstring

Pagination cursor

Example
curl "https://api.ramp.com/developer/v1/users?status=USER_ACTIVE&page_size=25" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
GET/developer/v1/bills

List bills with filters across vendor, status, and dates. Requires bills:read.

Authorization
Authorizationstring

Sent as the Authorization header. Your key is used only by your browser for this request — it is never sent to Docsbook or stored.

Query
vendor_idstring

Filter by vendor

entity_idstring

Filter by business entity

invoice_numberstring

Exact invoice number

payment_statusstring

Filter by payment status

approval_statusstring

Bill approval status, separate from payment status

payment_methodstring

Filter by payment method

sync_readyboolean

Only bills ready to sync to the ERP

payment_details_missingboolean

Only bills missing payment details

is_archivedboolean

Show archived bills instead of active ones

from_due_datestring

Bills due on or after this date

to_due_datestring

Bills due on or before this date

min_amountnumber

Bills at or above this amount

max_amountnumber

Bills at or below this amount

page_sizeinteger

Results per page

startstring

Pagination cursor

Example
curl "https://api.ramp.com/developer/v1/bills?sync_ready=true&page_size=50" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Errors
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
  • Conventions — pagination, monetary values, deferred tasks, and error shapes.
  • Authorization — the scope each endpoint requires.
  • Webhooks — event delivery instead of polling these endpoints.