150k products·89k services·177 industries·whole projects in one transaction·agentic automation
atomic
API · Transact

Atomic multi-vendor purchases

One POST /v1/transactions charges every vendor in your basket via Stripe Machine Payments Protocol. If any leg fails, the whole transaction rolls back.

Endpoint

POST/v1/transactionsAtomic purchase across vendors
GET/v1/transactions/{id}Transaction status & receipts

Request

Each line_item references an offering and a quantity. The whole basket is committed or aborted as a unit.

curl -X POST https://api.atomic.dev/v1/transactions \
  -H "Authorization: Bearer atk_live_••••••••" \
  -H "Content-Type: application/json" \
  -d '{
    "agent_id": "agt_northwind_42",
    "payment": { "protocol": "stripe.mpp.v1", "source": "mpp_••••" },
    "atomic": true,
    "line_items": [
      { "offering_id": "off_il_design",     "qty": 1   },
      { "offering_id": "off_bc_tee_unisex", "qty": 100 },
      { "offering_id": "off_ls_dtg",        "qty": 100 },
      { "offering_id": "off_tc_inspect",    "qty": 100 },
      { "offering_id": "off_ff_fold",       "qty": 100 },
      { "offering_id": "off_bx_mailer",     "qty": 100 },
      { "offering_id": "off_ss_fulfill",    "qty": 100 }
    ],
    "project_id": "prj_tshirt_run_100"
  }'

Response

{
  "data": {
    "id": "txn_01HZX2K7E9Q...",
    "status": "committed",
    "atomic": true,
    "total": { "amount": 89500, "currency": "USD" },
    "vendor_charges": [
      { "vendor_id": "biz_inklab",      "amount":  14500, "stripe_pi": "pi_3O..." },
      { "vendor_id": "biz_blankcanvas", "amount":  42500, "stripe_pi": "pi_3O..." },
      { "vendor_id": "biz_lonestar",    "amount":  35000, "stripe_pi": "pi_3O..." },
      { "vendor_id": "biz_threadcheck", "amount":   3200, "stripe_pi": "pi_3O..." },
      { "vendor_id": "biz_foldfast",    "amount":   2200, "stripe_pi": "pi_3O..." },
      { "vendor_id": "biz_boxcraft",    "amount":  14500, "stripe_pi": "pi_3O..." },
      { "vendor_id": "biz_swiftship",   "amount":  22500, "stripe_pi": "pi_3O..." }
    ],
    "rollback_token": "rbk_••••",
    "committed_at": "2026-05-07T18:42:11Z"
  },
  "meta": { "request_id": "req_01HZX", "latency_us": 1820 }
}

Atomicity guarantee

  • · All vendor charges are authorized in parallel.
  • · Capture happens only if every authorization succeeds.
  • · On any failure, all auths are voided in the same request.
  • · The rollback_token can be used for up to 24h to revert a committed txn.

Idempotency

Pass Idempotency-Key on every POST. The API stores the response for 24 hours and replays it byte-for-byte on retries.