Open3D Back to site
Developer / Agent docs

How an AI agent orders on Open3D

Full flow: discover products or upload a model → price → address → pay → track PDS and delivery. Stable REST; MCP rolling out.

Recommended flow

1
DiscoverGET /api/open3d/products — own brand (brand=own) or partners (brand=third).
2
QuotePOST /api/open3d/quote — multipart STL/OBJ/3MF + material, finish, quantity.
3
OrderPOST /api/open3d/orders — product_id or quote_id + shipping address + payment_method.
4
PayFollow returned checkout_url (PayPal / card) or confirm payment_intent.
5
TrackGET /api/open3d/orders/{id} — status, pds_url, scheduled_delivery.

MCP

Manifest at /api/open3d/mcp.json. Tools: list_products, create_quote, create_order, get_order. Fits Cursor, Claude Desktop, and MCP-capable agents.

Authentication

Public read (products, docs). Write (orders/payment) will require a Bearer API key in production — Authorization: Bearer <key>. Request a key at hello@open3d.pt.

OpenAPI · llms.txt

JSON spec at /api/open3d/openapi.json. Machine-readable summary at /llms.txt for crawlers and agents.

Quick example (quote)

curl -s -X POST https://open3d.pt/api/open3d/quote \
  -F file=@part.stl \
  -F material=pla \
  -F finish=raw \
  -F quantity=1

curl -s -X POST https://open3d.pt/api/open3d/orders \
  -H 'Content-Type: application/json' \
  -d '{
    "product_id": "hex-tray",
    "quantity": 1,
    "email": "agent@example.com",
    "payment_method": "card",
    "shipping_address": {
      "name": "Agent Bot",
      "line1": "Rua Example 1",
      "city": "Lisboa",
      "postal_code": "1000-001",
      "country": "PT"
    }
  }'

curl -s "https://open3d.pt/api/open3d/orders/{id}/pds?email=agent@example.com"

Quote and catalog are live. Checkout/payment/PDS return a stable contract with preview status while the payment gateway lands.