# AX Check: ramp.com
Checked 2026-09-19.

Ramp's pricing is clear, but agent-facing docs are largely missing
Pricing tiers ($0 Free, $15/user Plus, custom Enterprise) are readable with no login. But no llms.txt, quickstart, API reference, or CLI docs were found for agents to act on.

## Onboarding needs a login

## Coding sessions
All three independent sessions (DeepSeek V4 Pro, Kimi K3, Qwen 3.8 Max) completed and found ramp.com's pricing page directly, reporting the same three tiers and flagging caveats like gated data pricing and JS-rendered docs limiting deeper API detail.

### DeepSeek V4 Pro
[View public run](https://agents.withgauge.com/p/runs/2529c108-7e5a-460d-8a0e-03ee5aae22e8) · [Read transcript](https://www.ax-check.com/ramp.com/sessions/deepseek.json)
Pricing section names concrete tiers ($0 Free, $15/user Plus + platform fee, Enterprise contact sales) and explicitly notes assumptions/caveats (API itself is free, Ramp Data pricing is gated/undisclosed, annual-billing discount) sourced from the live pricing page (seq 67).
#### End-to-end onboarding
- **Onboarding needs a login**: Agent never obtained real Ramp credentials. It searched the sandbox for env vars (found none), read docs, and probed live API endpoints unauthenticated, all of which returned 401/404 auth errors. The agent explicitly stopped and asked the user to paste sandbox client_id/client_secret or a Ramp Data API key, correctly identifying that account creation and OAuth/dashboard app creation require human action it cannot perform.
  Event 5:

  ```text
  env | grep -i -E 'ramp|api|key|token|sdk' | sed 's/=.*/=<redacted>/'
  ```
  Event 58:

  ```text
  {"error_v2":{"error_code":"DEVELOPER_7002","message":"Access token with given access_token not found","error_id":"dcc3fd5c","notes":"","additional_info":{}},"error":{"message":"Access token with given access_token not found","details":{}}}
  ```
  Event 84:

  ```text
  I could not produce a **running, verified** example, because every hosted path requires credentials that can only be created by a human with a Ramp account
  ```

#### Hallucinated URLs
None identified in this transcript.

#### Blockers
- **No self-service credential path for the Developer API**: The documented quickstart requires a human with an existing Ramp customer account and admin access to create a developer app in the dashboard (Company to Developer) and copy a Client ID/Secret, or to separately request sandbox access via a form. This is expected product behavior (deliberate security gating), not a bug, but it fully blocked the agent from an unattended run.
  Event 45:

  ```text
  This guide assumes you are a Ramp customer with admin access to your dashboard. Need a test environment for development? Request sandbox access.
  ```
  Event 45:

  ```text
  In your Ramp account, go to Company → Developer (you'll need admin access).
  ```
- **Live API calls fail without credentials, as expected**: Unauthenticated calls to the transactions endpoint and Ramp Data endpoints returned auth errors, confirming there was no way to exercise a real authenticated operation in this session. This is standard API auth behavior, not a defect.
  Event 58:

  ```text
  {"error_v2":{"notes":"","error_id":"4b878155","error_code":"RAMP_DATA_7001","message":"Valid Ramp Data API key required.","additional_info":{}}
  ```
  Event 58:

  ```text
  {"error_v2":{"error_code":"DEVELOPER_7002","message":"Access token with given access_token not found","error_id":"8e09b914","notes":"","additional_info":{}}
  ```

#### Suggested Changes
- **Add a no-login sandbox credential option to the quickstart**: The Quickstart guide requires an existing Ramp customer account with admin access plus a manual sandbox access request form before any API call can be made. Consider an instant self-serve sandbox key so a new developer can validate the client-credentials flow without waiting on human approval. Verify by having a fresh session attempt the quickstart end-to-end and confirm it completes the GET /transactions call without manual account provisioning.
  Event 45:

  ```text
  This guide assumes you are a Ramp customer with admin access to your dashboard. Need a test environment for development? Request sandbox access.
  ```

### Kimi K3
[View public run](https://agents.withgauge.com/p/runs/3208da97-3721-42e9-acb2-81d462cfa740) · [Read transcript](https://www.ax-check.com/ramp.com/sessions/kimi.json)
Pricing fetched live from ramp.com/pricing (seq 53) and reported with explicit tier assumptions: Free $0/mo/user, Plus $15/mo/user + platform fee (20% off annual), Enterprise custom, and noted CLI/API/sandbox are free.
#### End-to-end onboarding
- **Onboarding needs a login**: Agent installed Ramp's official CLI and correctly identified the sandbox environment, but every authenticated call requires OAuth login which needs a browser-based interactive flow (or human-supplied production client credentials). The agent had no browser access and no credentials in the sandbox, so it could only validate requests via --dry_run; the one live attempt to call an authenticated endpoint returned a 401 not-authenticated error. No token was ever obtained, so no authenticated product operation was demonstrated.
  Event 73:

  ```text
  Open this URL in your browser to authenticate:
  
    https://demo.ramp.com/v1/authorize?auth_level=auto&response_type=code&client_id=ramp_id_Q0xnopBQxMjvXzmA04GkhA9LQqbT3XwYdrHoJRTI&redirect_uri=http%3A%2F%2Flocalhost%3A19817%2Fcallback
  ```
  Event 108:

  ```text
  "code": 401,
      "message": "Not authenticated for sandbox \u2014 run: ramp --env sandbox auth login"
  ```
  Event 78:

  ```text
  {"error_v2":{"message":"Access token with given access_token not found","error_code":"DEVELOPER_7002"
  ```

#### Hallucinated URLs
None identified in this transcript.

#### Blockers
- **Browser-based OAuth login required for sandbox access**: Ramp's CLI defaults to browser-based OAuth (PKCE flow) for both sandbox and production, catching the callback on a localhost port. The sandboxed agent had no browser and no credentials, so it could not complete login. This is a normal product security requirement, not a defect: it's an expected human-login step in a headless test environment. The agent correctly identified a production-only alternative (client-credentials via RAMP_CLIENT_ID/RAMP_CLIENT_SECRET) that would allow fully headless auth if the human supplied those secrets.
  Event 73:

  ```text
  Waiting for authentication in browser...
  ```
  Event 108:

  ```text
  "message": "Not authenticated for sandbox \u2014 run: ramp --env sandbox auth login"
  ```

#### Suggested Changes
- **Document a headless sandbox login path in the CLI quickstart**: The README (github.com/ramp-public/ramp-cli) and llms-guides/cli.txt cover 'ramp agent login' with client-credentials only for the production environment; there is no documented non-interactive way to authenticate against the sandbox environment itself. Add a sandbox-compatible client-credentials or token_stdin example to the CLI quickstart so agent/CI workflows can validate against seeded demo data without a browser. Verify by running the documented sandbox command in a headless shell and confirming it returns an authenticated response instead of a 401.
  Event 46:

  ```text
  Standalone agents authenticate without a browser by exchanging OAuth client
  credentials for a production access token with a server-reported lifetime.
  ```
  Event 108:

  ```text
  "message": "Not authenticated for sandbox \u2014 run: ramp --env sandbox auth login"
  ```

### Qwen 3.8 Max
[View public run](https://agents.withgauge.com/p/runs/94a35c9f-9b5c-4991-b495-23a232bd78c5) · [Read transcript](https://www.ax-check.com/ramp.com/sessions/qwen.json)
Final summary states core product free via interchange fees, Ramp Plus ~$15/user/month, Enterprise custom pricing, and flags the assumption/caveat that ramp.dev docs are JS-rendered so tier/API-eligibility should be confirmed at ramp.com/pricing.
#### End-to-end onboarding
- **Onboarding needs a login**: The agent explored Ramp's developer API surface (api.ramp.com/developer/v1) and its OAuth2 token endpoint without ever obtaining real credentials. All authenticated calls were made with fake or absent client_id/client_secret, returning 401/404 errors. The agent explicitly concluded it needed a human to supply RAMP_CLIENT_ID and RAMP_CLIENT_SECRET from a real Ramp dashboard, and stopped there without any successful authenticated operation.
  Event 48:

  ```text
  Not Authorized
  401
  
  ```
  Event 61:

  ```text
  API credentials require a real Ramp company account (Settings → Developers → API). So I can write and syntax-check the example, but I **cannot run or iterate against the live API** without you supplying `RAMP_CLIENT_ID` / `RAMP_CLIENT_SECRET` from your Ramp dashboard.
  ```
  Event 59:

  ```text
  Set RAMP_CLIENT_ID and RAMP_CLIENT_SECRET (from Ramp Dashboard ->
  Settings -> Developers -> API). See module docstring.
  exit=1
  syntax OK
  
  ```

#### Hallucinated URLs
None identified in this transcript.

#### Blockers
- **No public sandbox or demo credentials for Ramp API**: Ramp's developer API only accepts requests from OAuth2 credentials issued via a real company dashboard login. This is expected product behavior (not a bug or agent error) but it fully blocked the agent from running or testing the example end-to-end in a credential-less environment; the agent could only write and syntax-check the script.
  Event 41:

  ```text
  {"error_v2":{"message":"Access token with given access_token not found","error_id":"6848e9cd","error_code":"DEVELOPER_7002","additional_info":{},"notes":""}
  ```
  Event 48:

  ```text
  Not Authorized
  401
  
  ```
  Event 61:

  ```text
  Ramp has **no public sandbox, no anonymous/demo mode, and no official SDK** — unauthenticated calls return `DEVELOPER_7002: Access token not found`, and API credentials require a real Ramp company account
  ```
- **Developer docs at ramp.dev are JS-rendered and unscrapeable via curl**: The agent's attempts to read ramp.dev/developer and related doc pages returned only a client-side redirect stub with no content, and the sitemap listed just a single lander URL. This is a test-environment limitation (no JS execution) rather than a proven product defect, but it prevented the agent from confirming pricing/API details directly from the docs.
  Event 16:

  ```text
  <!doctype html>
  <html lang=en>
  <title>404 Not Found</title>
  <h1>Not Found</h1>
  <p>The requested URL was not found on the server.
  ```
  Event 35:

  ```text
  <!DOCTYPE html><html><head><script>window.onload=function(){window.location.href="/lander"}</script></head></html>
  ---
  
  ```
  Event 29:

  ```text
  https://ramp.dev/lander
  ---
  1
  
  ```

#### Suggested Changes
- **Publish a public sandbox or test-mode credential option for the Ramp developer API**: Because api.ramp.com/developer/v1 rejects all requests without dashboard-issued OAuth2 credentials (confirmed via DEVELOPER_7002 errors on /business, /cards, /transactions, /merchants), a first-time developer cannot exercise any endpoint without first creating a live company account. Verify a fix by confirming an anonymous or sandbox client_credentials flow at the token endpoint succeeds and returns sample data.
  Event 41:

  ```text
  business        404 application/json
  {"error_v2":{"message":"Access token with given access_token not found","error_id":"ce4b750a","error_code":"DEVELOPER_7002"
  ```
- **Make ramp.dev developer docs accessible without JavaScript execution**: Fetching https://ramp.dev/developer and https://ramp.dev/docs pages returned either an empty client-side redirect or a 200 response with zero rendered content, so an automated tool (or any non-JS client) gets no usable text. Serve server-rendered or static HTML for at least the developer quickstart page, and check by curling the page and confirming visible documentation text is present in the raw response.
  Event 35:

  ```text
  <!DOCTYPE html><html><head><script>window.onload=function(){window.location.href="/lander"}</script></head></html>
  ```
  Event 24:

  ```text
  == https://ramp.dev/docs
  200 114
   
  
  ```

### Task given to each agent
Help me build a simple example using Ramp. Tell me how pricing works, and briefly tell me whether this product will be easy for you to manage. Let me know if you get blocked. If this product has no developer workflow you can act on, say so plainly and stop. Stay light: use the hosted product through its SDK or API. Do not start local service stacks or wait for long-running commands; if the quickstart requires either, say so plainly and stop.

No product credentials were supplied and no purchases were authorized.

## Score: C · 64/100 (provisional)
Grades come from completed site checks. Coding sessions and skipped checks do not affect the score.

### Clarity
- **Failed** — llms.txt provides an actionable documentation index

  ```text
  /llms.txt returned HTTP 404, so no documentation index exists.
  ```

- **Pass** — Homepage answers Markdown requests

  ```text
  Homepage returned text/markdown with 200 when requested with Markdown accept header.
  ```

- **Skipped** — llms.txt provides navigation guidance

  ```text
  /llms.txt 404 means no navigation guidance body was available to assess.
  ```

- **Skipped** — llms.txt mentions offered API, MCP, and skills

  ```text
  /llms.txt 404 means no API, MCP, or skills mentions could be assessed.
  ```

- **Skipped** — A compact guide representation exists

  ```text
  No compact agent guide page was fetched; only homepage and signup pages seen.
  ```

- **Skipped** — A focused guide is directly retrievable

  ```text
  No focused guide document was retrieved in this bundle.
  ```

- **Skipped** — Equivalent instructions fit a token budget

  ```text
  No compact guide was fetched, so token budget cannot be judged.
  ```

- **Skipped** — Product-docs links survive format changes

  ```text
  Homepage Markdown is supported, so link preservation across formats is not testable.
  ```

- **Skipped** — The compact guide is independently actionable

  ```text
  No compact agent guide was fetched; only homepage and signup pages, which are not a quickstart.
  ```

- **Pass** — Install and next-step links resolve

  ```text
  Sampled homepage links to docs.ramp.com, support.ramp.com, integrations and pricing all returned 200.
  ```


### Onboarding
- **Skipped** — Docs lead to a relevant quickstart

  ```text
  No docs or quickstart pages were fetched; only signup and llms.txt pages.
  ```

- **Skipped** — Installation commands are extractable

  ```text
  No installation or CLI guide was fetched for Ramp.
  ```

- **Skipped** — Code examples are available without interaction

  ```text
  No documentation or code example pages were fetched.
  ```

- **Skipped** — Prerequisites and auth boundaries are explicit

  ```text
  No docs page describing prerequisites or auth boundaries was fetched.
  ```


### Pricing
- **Pass** — Pricing is readable without interaction

  ```text
  Pricing page renders all three tiers and feature comparison without any interaction.
  ```

- **Pass** — Prices are stated, not gated

  ```text
  Free $0/mo/user and Plus $15/mo/user stated; Enterprise custom, annual billing.
  ```

- **Pass** — Pricing units and limits are explicit

  ```text
  Prices given per user per month; Plus adds platform fee based on team size.
  ```

- **Pass** — Agents identify pricing and its assumptions

  ```text
  3 of 3 sessions were judged on pricing; 0 fell short. DeepSeek V4 Pro: Pricing section names concrete tiers ($0 Free, $15/user Plus + platform fee, Enterprise contact sales) and explicitly notes assumptions/caveats (API itself is free, Ramp Data pricing is gated/undisclosed, annual-billing discount) sourced from the live pricing page (seq 67). Kimi K3: Pricing fetched live from ramp.com/pricing (seq 53) and reported with explicit tier assumptions: Free $0/mo/user, Plus $15/mo/user + platform fee (20% off annual), Enterprise custom, and noted CLI/API/sandbox are free. Qwen 3.8 Max: Final summary states core product free via interchange fees, Ramp Plus ~$15/user/month, Enterprise custom pricing, and flags the assumption/caveat that ramp.dev docs are JS-rendered so tier/API-eligibility should be confirmed at ramp.com/pricing. This behavioural item does not affect the fast grade.
  ```


### Activation
- **Skipped** — An API reference or OpenAPI spec is reachable

  ```text
  No API reference or OpenAPI spec was fetched; sample only covers signup and llms.txt pages.
  ```

- **Skipped** — An MCP server is documented and well-formed

  ```text
  No MCP server documentation appears in any fetched Ramp page.
  ```

- **Skipped** — A CLI install path is documented

  ```text
  No CLI install path is documented in the fetched Ramp pages.
  ```

- **Skipped** — SDK packages resolve on their registries

  ```text
  No SDK or package registry lookup was supplied for Ramp.
  ```

- **Skipped** — Agent skills are published

  ```text
  No agent skills are published in the fetched Ramp pages.
  ```



[Full report data](https://www.ax-check.com/ramp.com/report.json)
