View as Markdown
Ramp (Sandbox Version) icon

Ramp (Sandbox Version) ACTION

Issue Virtual Card

Issue a new Ramp Sandbox virtual card (spend limit) for a user. Requires a Virtual Card Name and the user's ID (run List Users to find it). Works two ways: (1) link to an existing spend program — set Link to Existing Spend Program on and pass a Spend Program ID (run List Spend Programs), and the program governs the card's restrictions; or (2) set a custom limit — leave linking off and pass a Total Limit per Interval (e.g. $500) and an Interval (e.g. MONTHLY), optionally a per-transaction cap, allowed/blocked categories, and whether the physical card (Primary Card Enabled) and Reimbursements Enabled apply. Example: issue a $500/month card by passing a Virtual Card Name (e.g. Marketing SaaS), the user's ID, $500, and MONTHLY. See the documentation
  • Action
  • Writes data
  • OAuth
  • SDK
  • MCP

IMPLEMENTATION

Call this tool

Connect a user's Ramp (Sandbox Version) account once, then configure and run Issue Virtual Card from your backend or agent.

import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const result = await pd.actions.run({
  id: "ramp_sandbox-issue-virtual-card",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    ramp_sandbox: { authProvisionId: "apn_xxxxxxx" },
    displayName: "Virtual Card Name",
    userId: "User ID",
  },
})

console.log(result)

SCHEMA

Inputs

Pipedream supplies the connected account. Your application provides the operation-specific values below. Dynamic inputs are resolved against that user's account.

Issue Virtual Card inputs
Property Type Description
displayName Virtual Card Name string
A name for the virtual card, e.g. Marketing SaaS.
Required
userId User ID string
The ID of a user — a Ramp UUID, e.g. bcc1e4ca-d38a-4cc9-98fc-e6c2066ad0ae. Run the List Users action to find valid IDs.
Required
linkToSpendProgram Link to Existing Spend Program boolean
Set to true to link this card to an existing spend program (then provide a Spend Program ID below). Leave off to set a custom limit instead.
Optional
spendProgramId Spend Program ID string
The spend program to link the card to — a Ramp UUID, e.g. e9d30f12-c73a-463b-bc5f-b200396359d2. Run the List Spend Programs action to find valid IDs. Required when Link to Existing Spend Program is on; leave empty to set a custom limit.
Optional
limit Total Limit per Interval (USD) string
Total amount allowed per interval, in USD (e.g. $500). Required for a custom limit (when not linking to a spend program); ignored when a Spend Program ID is set.
Optional
interval Interval string
Reset interval for the custom limit (e.g. MONTHLY). Required for a custom limit.
Optional
transactionAmountLimit Maximum Spend per Transaction (USD) string
Maximum amount per single transaction, in USD (e.g. $100). Optional; applies to a custom limit.
Optional
allowedCategories Allowed Categories integer[]
List of Ramp category codes allowed for the limit
Optional
blockedCategories Blocked Categories integer[]
List of Ramp category codes blocked for the limit
Optional
primaryCardEnabled Primary Card Enabled boolean
Whether the user's physical card can be linked to this limit. Applies to a custom limit.
Optional
reimbursementsEnabled Reimbursements Enabled boolean
Whether reimbursements can be submitted against this limit. Applies to a custom limit.
Optional
isShareable Is Shareable boolean
Whether the spend limit is shareable among multiple users.
Optional

REFERENCE

Tool details

Behavior hints are published with the component in the Pipedream registry and surface as MCP tool annotations, so an agent can reason about a tool before it calls it.

Registry key
ramp_sandbox-issue-virtual-card
Version
0.1.1
App
Ramp (Sandbox Version)
Authentication
OAuth
Read-only
No
Destructive
No
Open world
Yes