Reference
Ramp
Set up Ramp OAuth for corporate card and expense management
Overview
Section titled “Overview”Connect your users to Ramp for corporate card management, expense tracking, transaction data, and spend analytics.
| Property | Value |
|---|---|
| Provider ID | ramp |
| Category | Finance |
| PKCE | Supported |
| Token refresh | Automatic |
| Redirect URI | Shown in Developer Portal |
Step 1: Create a Ramp OAuth App
Section titled “Step 1: Create a Ramp OAuth App”Open the Ramp dashboard
Sign in to the Ramp Dashboard, then go to Company > Developer. Review the Ramp API documentation for OAuth requirements.
Contact Ramp to register the application
Ramp’s OAuth integration requires registration. Follow the instructions in the Ramp API documentation to request API access and register the application.
Configure the redirect URI
Add the Alter callback URL from the Developer Portal to the application’s redirect URI configuration.
Get credentials
Copy the Client ID and Client Secret provided during registration.
Step 2: Add to Alter Vault
Section titled “Step 2: Add to Alter Vault”Open the Developer Portal
Go to portal.alterauth.com and navigate to the application.
Add Ramp provider
Go to OAuth Providers > Add Provider > Ramp.
Enter credentials
- Client ID: Paste your Ramp Client ID
- Client Secret: Paste your Ramp Client Secret
Select scopes
Choose the scopes the application needs.
Save
Click Save. The provider is now active.
Available Scopes
Section titled “Available Scopes”| Scope | Description |
|---|---|
accounting:read | Grant read access to accounting |
accounting:write | Grant write access to accounting |
ai_spend:read | Grant read access to ai_spend |
ai_usage:write | Grant write access to ai_usage |
applications:read | Grant read access to applications |
applications:write | Grant write access to applications |
approval_chains:write | Grant write access to approval_chains |
approvals:read | Grant read access to approvals |
approvals:write | Grant write access to approvals |
audit_logs:read | Grant read access to audit_logs |
bank_accounts:read | Grant read access to bank_accounts |
bank_accounts:write | Grant write access to bank_accounts |
bills:read | Grant read access to bills |
bills:write | Grant write access to bills |
blank_canvas:write | Grant write access to blank_canvas |
budgets:read | Grant read access to budgets |
business:read | Grant read access to business |
cards:read | Grant read access to cards |
cards:write | Grant write access to cards |
cashbacks:read | Grant read access to cashbacks |
comments:write | Grant write access to comments |
custom_forms:read | Grant read access to custom_forms |
custom_records:read | Grant read access to custom_records |
custom_records:write | Grant write access to custom_records |
departments:read | Grant read access to departments |
departments:write | Grant write access to departments |
embedded_cards:write | Grant write access to embedded_cards |
entities:read | Grant read access to entities |
funds:read | Grant read access to funds |
funds:write | Grant write access to funds |
incorporation:read | Grant read access to incorporation |
incorporation:write | Grant write access to incorporation |
item_receipts:read | Grant read access to item_receipts |
item_receipts:write | Grant write access to item_receipts |
limits:write | Grant write access to limits |
locations:read | Grant read access to locations |
locations:write | Grant write access to locations |
memos:read | Grant read access to memos |
memos:write | Grant write access to memos |
merchants:read | Grant read access to merchants |
purchase_orders:read | Grant read access to purchase_orders |
purchase_orders:write | Grant write access to purchase_orders |
receipt_integrations:read | Grant read access to receipt_integrations |
receipt_integrations:write | Grant write access to receipt_integrations |
receipts:read | Grant read access to receipts |
receipts:write | Grant write access to receipts |
reimbursements:read | Grant read access to reimbursements |
reimbursements:write | Grant write access to reimbursements |
repayments:read | Grant read access to repayments |
spend_programs:read | Grant read access to spend_programs |
spend_programs:write | Grant write access to spend_programs |
spend_requests:read | Grant read access to spend_requests |
spend_requests:write | Grant write access to spend_requests |
statements:read | Grant read access to statements |
tasks:read | Grant read access to tasks |
transactions:read | Grant read access to transactions |
transactions:write | Grant write access to transactions |
transfers:read | Grant read access to transfers |
treasury:read | Grant read access to treasury |
trips:read | Grant read access to trips |
unified_requests:read | Grant read access to unified_requests |
unified_requests:write | Grant write access to unified_requests |
users:read | Grant read access to users |
users:write | Grant write access to users |
vendors:read | Grant read access to vendors |
vendors:write | Grant write access to vendors |
users:read is always requested: Alter resolves the connecting user through /developer/v1/users/me.
cards:read_vault is not offered. It returns full card numbers and Ramp grants it only after an additional per-app security review.
Scopes that Ramp’s OpenAPI document declares but that no documented endpoint requires yet (attendee_types:*, bank_feeds:read, external_attendees:*, limits:read, sourcing:*, workflows:read, x402:*) are not offered until an endpoint documents them.
- Every scope requested must also be enabled on the Ramp app in Company > Developer; a scope that is not configured there fails authorization with
invalid_scope. - See the Ramp API authorization documentation for more details.
Policy-cataloged operations
Section titled “Policy-cataloged operations”Alter policy rules can target these attested operations and families for operation-level and parameter-aware controls.
| Operation ID | Families | Method | Provider path |
|---|---|---|---|
get_transactions_canonical_list_with_pagination | read | GET | /developer/v1/transactions |
get_transaction_canonical_resource | read | GET | /developer/v1/transactions/{transaction_id} |
patch_transaction_canonical_update_resource | write | PATCH | /developer/v1/transactions/{transaction_id} |
get_bill_list_with_pagination | read | GET | /developer/v1/bills |
get_bill_resource | read | GET | /developer/v1/bills/{bill_id} |
post_bill_list_with_pagination | payment, write | POST | /developer/v1/bills |
patch_bill_resource | payment, write | PATCH | /developer/v1/bills/{bill_id} |
delete_bill_resource | delete | DELETE | /developer/v1/bills/{bill_id} |
get_draft_bill_list_with_pagination | read | GET | /developer/v1/bills/drafts |
get_draft_bill_resource | read | GET | /developer/v1/bills/drafts/{draft_bill_id} |
post_draft_bill_list_with_pagination | write | POST | /developer/v1/bills/drafts |
patch_draft_bill_resource | write | PATCH | /developer/v1/bills/drafts/{draft_bill_id} |
get_physical_card_list_with_pagination | read | GET | /developer/v1/cards/physical |
get_physical_card_resource | read | GET | /developer/v1/cards/physical/{card_id} |
post_physical_card_list_with_pagination | write | POST | /developer/v1/cards/physical |
patch_physical_card_resource | write | PATCH | /developer/v1/cards/physical/{card_id} |
delete_card_termination_resource | delete | DELETE | /developer/v1/cards/physical/{card_id} |
post_card_suspension_resource | write | POST | /developer/v1/cards/physical/{card_id}/suspension |
delete_card_unsuspension_resource | write | DELETE | /developer/v1/cards/physical/{card_id}/suspension |
get_reimbursement_list_with_pagination | read | GET | /developer/v1/reimbursements |
get_reimbursement_resource | read | GET | /developer/v1/reimbursements/{reimbursement_id} |
post_mileage_reimbursement_resource | payment, write | POST | /developer/v1/reimbursements/mileage |
get_transfer_list_with_pagination | read | GET | /developer/v1/transfers |
get_transfer_resource | read | GET | /developer/v1/transfers/{transfer_id} |
get_user_list_with_pagination | read | GET | /developer/v1/users |
get_user_resource | read | GET | /developer/v1/users/{user_id} |
post_user_creation_deferred_task | admin | POST | /developer/v1/users/deferred |
patch_user_resource | admin | PATCH | /developer/v1/users/{user_id} |
patch_user_deactivation_resource | admin | PATCH | /developer/v1/users/{user_id}/deactivate |
post_outbound_webhook_subscription_resource | admin | POST | /developer/v1/webhooks |