Inject synthetic transactions (sandbox only)

Injects synthetic transactions into a sandbox-linked institution via Plaid's sandbox/transactions/create, then (by default) enqueues a transaction sync so they flow through the real ingestion pipeline — transformer, Spidr category mapping, and round-up processing — exactly like organic transactions. This endpoint is for sandbox/non-production environments only.

Flow:

  1. Link an institution with session/createsession/simulate-link (with dynamicTransactions: true — Plaid only materializes created transactions on user_transactions_dynamic items; on the default canned user they are accepted but never appear) → session/complete
  2. Call this endpoint with up to 10 transactions
  3. The enqueued sync ingests them; they appear in GET :linkedInstitutionId/transactions with Spidr categories

Category control: Plaid derives personal_finance_category from the description, so pick merchant-like descriptions ("Starbucks" → Food & Dining/Coffee Shops, "Uber" → Transportation/Rideshare & Taxi, "Netflix.com" → Entertainment, "Shell Oil" → Transportation/Gas & Fuel). Exact category assignment is Plaid's call — assert on the mapped Spidr category after sync rather than assuming.

Note: This endpoint will fail in production environments or when configured with a non-sandbox Plaid URL.

Path Params
string
required

Pass in the linked institution ID

Body Params

POST /v1/linked-institution/:linkedInstitutionId/simulate-transactions Request body

transactions
array of objects
required
length between 1 and 10

Transactions to inject (Plaid caps sandbox/transactions/create at 10 per call).

transactions*
string
required
length between 1 and 200

Merchant-style description. Plaid's categorizer derives personal_finance_category from this (e.g. "Starbucks" → Food & Dining/Coffee Shops, "Uber" → Rideshare, "Shell Oil" → Gas & Fuel), which then maps into the Spidr category schema at sync.

double
required
-1.7976931348623157e+308 to 1.7976931348623157e+308

Plaid sign convention: positive = outflow/debit (a purchase), negative = inflow/credit (a refund).

string

Authorization date (YYYY-MM-DD). Defaults to today. Plaid sandbox allows today or up to 14 days in the past — never future dates.

string

Settlement date (YYYY-MM-DD). Defaults to dateTransacted (or today). Same 14-day-past Plaid constraint.

string
Defaults to USD
boolean
Defaults to true

When true (default), enqueues a transaction sync job so the injected transactions flow through the real ingestion pipeline immediately instead of waiting for Plaid's webhook.

Responses

Language
Credentials
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json