Skip to main content
Creating a Ramp developer app requires a Ramp Admin or Business Owner. Create the app in your sandbox business for sandbox testing and a separate app in production — the steps and UI are identical; only the environment differs.

Create a Ramp developer app

Ramp uses OAuth 2.0 (Authorization Code). Register a developer app in the Ramp dashboard, add the StackOne redirect URI, enable the Authorization code grant, enable the scopes your integration needs, then copy the Client ID and Client secret.

1

Sign in to Ramp

Sign in to the Ramp dashboard for the environment you are connecting, as an Admin or Business Owner:

2

Open the Developer Apps page

In the left sidebar, open Company and select Developer, then open the Apps tab and click Create new app.

  • Tip: press ⌘ K (Search for anything) and search for Developer to jump straight to this page.
Ramp Developer Apps page with the Create new app button
3

Create a new app

In the Create a new app dialog, enter an App name, check I understand and agree to Ramp’s Developer Terms of Service, then click Create app.

  • Ramp may ask you to verify it’s you with a code emailed to your account — enter the code to continue.
Create a new app dialog with App name field and terms checkbox
4

Add the redirect URI

On the app page, under Redirect URIs, click Add new URI, paste the Callback URL from your Connector Profile, then click Add.

Add new URI dialog with the StackOne callback URL entered
5

Enable the Authorization code grant

Under Grant types, make sure Authorization code is enabled, and keep Refresh token enabled so StackOne can refresh the access token automatically.

App settings showing Grant types with Authorization code enabled
6

Configure allowed scopes

Enables actions: Create A Department, Create A Location, Create A New Custom Accounting Field, Create A New Vendor, Create A Physical Card, Create A Spend Program, Create A User, Delete A Custom Accounting Field Option, Delete A General Ledger Account, Delete A Vendor, Fetch A Bill, Fetch A Custom Accounting Field, Fetch A Department, Fetch A Fund, Fetch A General Ledger Account, Fetch A Location, Fetch A Physical Card, Fetch A Receipt, Fetch A Reimbursement, Fetch A Spend Program, Fetch A Transaction, Fetch A Transaction Memo, Fetch A Transfer Payment, Fetch A Trip, Fetch A User, Fetch A Vendor, Fetch A Virtual Card, Fetch An Accounting Connection By ID, Fetch The Company Balance Information, Fetch The Company Information, Fetch User Creation Task Status, Get A Business Entity, List Accounting Connections, List All Trips For The Business, List Bills, List Business Entities, List Custom Accounting Fields, List Departments, List Funds, List General Ledger Accounts, List Locations, List Memos, List Merchants, List Options For A Given Custom Accounting Field, List Physical Cards, List Purchase Orders, List Receipts, List Reimbursements, List Repayments, List Spend Programs, List Transactions, List Transfer Payments, List Users, List Vendors, List Virtual Cards, Manage A User’s Invite Lifecycle, Post Accounting Coding Selections To An Object, Post Ready To Sync Status, Post Sync Status, Register A New API Based Accounting Connection, Update A Custom Accounting Field Option, Update A Department, Update A General Ledger Account, Update A Location, Update A Physical Card, Update A Transaction, Update A User, Update A Vendor, Upload A New Memo For A Transaction, Upload A Receipt, Upload General Ledger Accounts, Upload New Options, Upload Vendors

Under Scopes, click Configure allowed scopes. In the Set scopes dialog, enable the scopes your integration needs — click Read only to grant every read scope at once, or enable individual scopes — then click Set.

  • Enable every scope the connector requests — they are shown in the StackOne scope selector below. Enable all is the quickest way to be sure.
  • If you enable fewer, put that same subset in the optional Scopes field when connecting. Ramp rejects the whole authorization if it is asked for a scope the app does not allow.
Set scopes dialog with Enable all, Read only and Set actions
7

Copy your credentials into StackOne

Back on the app page, copy these values and paste them into the matching StackOne fields:

  • Environment — first select the Environment (Production or Sandbox) in the StackOne Connector Profile form. This must match the environment you created the app in, and it reveals the Client ID, Client Secret, and Scopes fields.
  • Client ID — the public identifier of your Ramp app. Under Client ID, click Copy.
  • Client Secret — under Client secret, click Show secret and Copy (or Rotate client secret to generate a new one). It is shown in full only when the app is created or rotated, so copy it immediately.
  • Scopes (optional) — a list of scopes to request, separated by spaces. Leave it blank to request the connector’s full scope set, or enter a subset of the scopes you enabled above. Commas are accepted and normalised. Do not add a scope your app does not allow — Ramp rejects the whole authorization with an unavailable scope error.
App settings showing the Client ID and Client secret to copy

Creating the StackOne Connector Profile

To create the Connector Profile in StackOne for Ramp:
1

Open the connector

Log in to StackOne, open Connectors, and select Ramp.
2

Choose actions and events

  • Click Add Profile.
  • If the connector offers more than one authentication method, set the Auth Method filter to OAuth 2.0.
  • Select the actions, and any events, to enable for this Connector Profile.
  • Click Continue.
3

Set up authentication

  • Select Authentication Type as OAuth 2.0.
  • Fill out the fields using details retrieved from your provider:
    • Client ID
    • Client Secret
    • Scopes (Optional)
  • Click Create Profile.
Congratulations! The new Connector Profile now shows up on the connector page. If you created it as a project member rather than an admin, it starts disabled until a project admin enables it. You can now continue to Link Accounts for Ramp.