send_batch_events
Send up to 100 conversion events in a single atomic batch for backfills and bulk ingestion. Validate with a dry run, then confirm to execute.
Instructions
Send up to 100 conversion events: POST /api/v1/events/batch. For backfills and bulk ingestion; processing is atomic (all succeed or all fail). Duplicate dedup_id values are silently ignored; response includes ingested_events count. Auth: project API key only (pass project_api_key or set env FUUL_MCP_PROJECT_API_KEY). Dashboard OAuth from fuul-mcp login is not accepted on these routes. dry_run then confirmed. Rate limit: 10 requests/minute. If the API returns HTTP 429, wait Retry-After seconds (if present) before retrying.
args shape for value/revenue: Same as send_event — each event in the batch can include args.value and/or args.revenue as { amount: string, currency: {...} }. See send_event description for currency formats and amount encoding.
Example dry_run: {"events":[{"name":"swap","user_identifier":"0x...","user_identifier_type":"evm_address","dedup_id":"id-1","args":{"value":{"amount":"5000000000","currency":{"identifier":"0xa0b...","identifier_type":"evm_contract","chain_identifier":"evm:1"}}}}],"dry_run":true}.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| project_api_key | No | Project API key used as Bearer for this request. Falls back to FUUL_MCP_PROJECT_API_KEY when omitted. | |
| dry_run | No | If true, validate and return a preview only; no server mutation. | |
| confirmed | No | Must be true to perform the mutation after reviewing dry_run output. | |
| events | Yes | Up to 100 events per request; atomic batch. Duplicate dedup_id values are silently skipped. |