Public beta. Look around, price anything, put your logo on it. Ordering opens soon.What works today?
Developers

Build on Mareco

Mareco is a promotional products store run by AI agents, and everything the store knows is available to your systems and your agents: the curated catalog with live manufacturer pricing, stock and production dates, logo uploads and AI photo previews, quotes, approvals, orders and tracking. There are five ways in. Pick by who is calling.

REST API

For programs. JSON over HTTPS with a Bearer key. Search and read products, price with decoration, check live stock and dates, upload a logo, make a photo preview, save a quote, send it for approval, read orders. OpenAPI 3.1 description included.

Best for: procurement tools, internal portals, scripts, anything that already speaks JSON.

API docs Explorer
MCP server

For AI agents. A Model Context Protocol server exposes the same operations as tools, with written guidance on what an agent may and may not do. Point Claude, or any MCP client, at https://mareco.com/mcp with your key and it can shop, price and quote on your behalf, and stop where a person needs to pay.

Best for: Claude Desktop and Claude Code, agent frameworks, chat assistants inside your own tools.

Connect an agent
Webhooks

For anything that needs to know when things happen. Register an endpoint and we POST signed JSON when an order pays, releases, ships or goes on hold, when a proof is ready, when an approver answers, and more. Retries with backoff; a delivery log you can replay from.

Best for: ERP and accounting sync, Slack or Teams alerts, Zapier and Make, keeping your own records current without polling.

Set up webhooks Payloads
PromoStandards

For the promo industry's own systems. Mareco publishes the same SOAP services its manufacturer does: Product Data, Media Content, Pricing and Configuration, Inventory, Purchase Order, Order Status and Shipment Notification. If your platform already speaks the standard, Mareco is one more supplier in it.

Best for: distributor platforms, ERP connectors and order-management tools built on PromoStandards.

Service directory
Punchout catalogs (cXML and OCI)

For procurement systems. Buyers open Mareco from inside Coupa, Ariba, SAP, Jaggaer or any system that speaks cXML PunchOut or SAP OCI, shop with live pricing and their own logo, and return the cart as a requisition. When the requisition is approved, the system sends the purchase order to Mareco as a cXML OrderRequest and it becomes an order automatically, on net terms straight to production.

cXML setup and order URLhttps://mareco.com/punchout/cxml (also answers ProfileRequest)
OCI entry URLhttps://mareco.com/punchout/oci?HOOK_URL=…&USERNAME=…&PASSWORD=…
CredentialsSender SharedSecret (cXML) or PASSWORD (OCI) = a Mareco API key with the write scope; the identity or username is your account email
Returned linesSupplierPartID = product|part, SupplierPartAuxiliaryID = the saved quote and line, unit price with decoration, one-time setup as its own line, UNSPSC 55121600

Session links expire after six hours. Returned carts are saved as quotes so the later order matches the cart to the cent. Ask us to set up a test buyer if your platform needs one: hello@mareco.com.

Which one?
You want to…Use
Show Mareco products, prices and stock inside your own toolREST API
Let an AI assistant shop, price and quote for your teamMCP server (or the REST API as tools)
Update your ERP, ticketing or Slack when an order movesWebhooks
Source from Mareco in a PromoStandards-based platformPromoStandards services
Buy through Coupa, Ariba, SAP or another procurement systemPunchout
Let people order on their own within a budget, with a manager approvingNo code: a company store
Have an agent draft a priced, photographed proposal for a client from a briefPOST /proposals or the MCP tool draft_proposal; the client answers at a link, no account needed
Get a manager's sign-off on a specific purchaseNo code: an approval link from the cart, or POST /approvals
One key for everything

Create API keys under Account → API. A key carries scopes (read, write, orders) and works as the Bearer token for the REST API and MCP, and as the password field in PromoStandards requests. Keys are shown once and stored hashed. Rate limits: 120 requests a minute and 40 photo previews a day per key.

Webhook payloads

Every delivery is a JSON object with event, at, event_id, data (the event's own fields) and, for order events, an order object: id, status, items, total, and tracking once shipped. Quote and approval events include quote or approval. Headers: X-Mareco-Event, X-Mareco-Delivery, X-Mareco-Timestamp, X-Mareco-Signature (sha256= HMAC of timestamp.body with your signing secret). Respond 2xx; otherwise we retry after 1, 5 and 30 minutes, then 2 and 12 hours.

EventWhen
order.paidAn order was paid (or accepted on terms)
order.releasedThe order desk released the order to production
order.po_sentThe purchase order went to the manufacturer
order.in_productionThe manufacturer confirmed production
order.shippedThe order shipped (tracking in the payload)
order.completeThe order was delivered
order.cancelledThe order was cancelled
order.holdThe order was put on hold (reason in the payload)
order.hold_clearedA hold was cleared
order.refundedA refund was issued
order.po_receivedA PromoStandards purchase order was received
proof.readyA proof is ready for approval
proof.approvedA proof was approved
proof.changes_requestedChanges were requested on a proof
quote.savedA quote was saved
quote.orderedA quote became an order
approval.createdAn approval request was sent
approval.decidedAn approver answered
store.requestA company-store request was submitted
store.request_approvedA company-store request was approved
render.createdA photo preview was created
reorder.note_sentA reorder reminder was sent
order.invoice_paidA net-terms invoice was paid
artwork.cleanedA logo was cleaned up
{
  "event": "order.shipped", "at": "2026-10-09T15:12:44+00:00", "event_id": 4812, "actor": "worker",
  "data": { "carrier": "UPS", "tracking": "1Z…" },
  "order": { "id": "MC-261009-3F2A1", "status": "shipped", "total": 2268.30, "items": [ … ], "tracking": [ { "carrier": "UPS", "number": "1Z…", "url": "https://…" } ], "url": "https://mareco.com/order?id=MC-261009-3F2A1" }
}
What the integrations never do

None of them place or pay for an order. A quote's URL, an approval link or a company-store request is where a person says yes and money moves. That is deliberate: the agents that run Mareco earn autonomy one action at a time, and spending a customer's money is the last rung.

On the list

Things we are considering and would build for a customer who needs them: SSO for company stores; a product feed for internal catalogs; an embeddable company-store widget; and an agent card so agent-to-agent protocols can discover Mareco. Tell us at hello@mareco.com.