Brex ACTION
List Transactions for Primary Card Account
Lists settled card transactions, unfiltered. Despite the action name, Brex returns transactions across all card accounts rather than the primary one alone, and non-admin users only ever see their own purchases, refunds, and chargebacks. Use Search Card Transactions instead to filter by merchant, amount, date, or cardholder and to get each transaction's
expense_id. See the documentation- Action
- Read only
- OAuth
- SDK
- MCP
IMPLEMENTATION
Call this tool
Connect a user's Brex account once, then configure and run List Transactions for Primary Card Account 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: "brex-list-transactions-for-primary-card-account",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
brex: { authProvisionId: "apn_xxxxxxx" },
postedAtStart: "Posted At Start",
max: 10,
},
})
console.log(result)curl -X POST https://api.pipedream.com/v1/connect/{project_id}/actions/run \
-H "Content-Type: application/json" \
-H "X-PD-Environment: production" \
-H "Authorization: Bearer {access_token}" \
-d '{
"external_user_id": "{external_user_id}",
"id": "brex-list-transactions-for-primary-card-account",
"configured_props": {
"brex": { "authProvisionId": "apn_xxxxxxx" },
"postedAtStart": "Posted At Start",
"max": 10
}
}'// accessToken: mint a short-lived token with the Connect SDK — see the MCP guide
const transport = new StreamableHTTPClientTransport(
new URL("https://remote.mcp.pipedream.net/v3"),
{
requestInit: {
headers: {
Authorization: `Bearer ${accessToken}`,
"x-pd-project-id": "{project_id}",
"x-pd-environment": "production",
"x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
"x-pd-app-slug": "brex",
},
},
},
)
const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)
const { tools } = await mcp.listTools()
// listTools() hands your model this tool's input schema, so it can
// fill the arguments itself:
const result = await mcp.callTool({
name: "brex-list-transactions-for-primary-card-account",
arguments: {
postedAtStart: "Posted At Start",
max: 10,
},
})SCHEMA
Inputs
Pipedream supplies the connected account. Your application provides the operation-specific values below. Dynamic inputs are resolved against that user's account.
| Property | Type | Description |
|---|---|---|
postedAtStart Posted At Start | string | Return only transactions posted on or after this date-time, in RFC 3339 notation, e.g. 2022-12-12T23:59:59.999Z. Brex can post transactions with a lag, so when polling repeatedly, overlap this with your previous window by a day or more and de-duplicate results by transaction id rather than advancing it to the exact end of the last poll. Optional |
max Max | integer | The maximum number of records to fetch. Defaults to 100. 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
- brex-list-transactions-for-primary-card-account
- Version
- 0.1.3
- App
- Brex
- Authentication
- OAuth
- Read-only
- Yes
- Destructive
- No
- Open world
- Yes
- Source
- View on GitHub ↗