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

Projects: multi-vendor DAGs

A Project is a directed acyclic graph of offerings. Nodes are products or services. Edges describe handoffs (ship, transfer, pass-through) between vendors. Atomic checkout commits the entire graph as one transaction.

Endpoints

POST/v1/projectsCreate a project DAG
GET/v1/projects/{id}Fetch a project
POST/v1/projects/{id}/quoteRe-quote total + per-vendor

Schema

{
  "id": "prj_••••",
  "name": "string",
  "description": "string",
  "units": 100,
  "nodes": [
    { "id": "n_•", "offering_id": "off_•", "qty": 100 }
  ],
  "edges": [
    { "from": "n_a", "to": "n_b", "label": "ship" }
  ]
}

Example: 100-unit t-shirt run

{
  "id": "prj_tshirt_run_100",
  "name": "Custom Printed T-Shirt Run — 100 units",
  "description": "Purchase products & services from multiple vendors in a single transaction. Build them into full workflows like Legos.",
  "units": 100,
  "nodes": [
    {
      "id": "n_design",
      "offering_id": "off_il_design",
      "qty": 1
    },
    {
      "id": "n_blank",
      "offering_id": "off_bc_tee_unisex",
      "qty": 100
    },
    {
      "id": "n_print",
      "offering_id": "off_ls_dtg",
      "qty": 100
    },
    {
      "id": "n_qa",
      "offering_id": "off_tc_inspect",
      "qty": 100
    },
    {
      "id": "n_fold",
      "offering_id": "off_ff_fold",
      "qty": 100
    },
    {
      "id": "n_box",
      "offering_id": "off_bx_mailer",
      "qty": 100
    },
    {
      "id": "n_ship",
      "offering_id": "off_ss_fulfill",
      "qty": 100
    }
  ],
  "edges": [
    {
      "from": "n_design",
      "to": "n_print",
      "label": "design file",
      "mode": "digital",
      "carrier": "Digital",
      "service": "S3 link + email"
    },
    {
      "from": "n_blank",
      "to": "n_print",
      "label": "ship blanks",
      "mode": "ship",
      "carrier": "UPS",
      "service": "Ground",
      "transitHours": 48
    },
    {
      "from": "n_print",
      "to": "n_qa",
      "label": "ship printed",
      "mode": "ship",
      "carrier": "FedEx",
      "service": "2-Day",
      "transitHours": 48
    },
    {
      "from": "n_qa",
      "to": "n_fold",
      "label": "ship approved",
      "mode": "ship",
      "carrier": "FedEx",
      "service": "Ground",
      "transitHours": 72
    },
    {
      "from": "n_fold",
      "to": "n_ship",
      "label": "ship folded",
      "mode": "ship",
      "carrier": "UPS",
      "service": "Ground",
      "transitHours": 24
    },
    {
      "from": "n_box",
      "to": "n_ship",
      "label": "ship boxes",
      "mode": "ship",
      "carrier": "FedEx",
      "service": "Ground",
      "transitHours": 48
    }
  ]
}

Recommendation API

Pass a high-level goal and Atomic returns a recommended DAG of vendors that satisfy it.

const dag = await atomic.projects.recommend({
  goal: "manufacture 100 custom-printed wrapped t-shirts",
  constraints: { max_unit_cost: 12.0, lead_time_hours: 168 },
});
"c">// dag.nodes, dag.edges — ready to POST to /v1/transactions