[Cotlet](https://cotlet.dev/index.md) · [Integrations](https://cotlet.dev/integrations.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Use cases](https://cotlet.dev/use-cases.md) · [Security](https://cotlet.dev/security.md) · [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md) · [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [Contact](https://cotlet.dev/contact.md) · [Pricing](https://cotlet.dev/pricing.md) · [Sign up](https://cotlet.dev/signup)

# Confirm Printful draft orders after a shipping check

> Review Printful draft orders with their shipping rates, then confirm the ones you approve. A guarded way to spend money from an AI agent.

Source: https://cotlet.dev/integrations/printful-api-mcp-server/confirm-draft-orders-after-shipping-check

Orders from your store land as drafts. Before you confirm, you want to see what shipping costs to Canada and how long it takes, because confirming charges your card.

Cotlet does it in your own Printful account with list\_orders, get\_order, get\_shipping\_rates and confirm\_order, called by your AI agent, an n8n workflow or a script.

[Sign up free](https://cotlet.dev/app/signup?app=printful) [All Printful tools](https://cotlet.dev/integrations/printful-api-mcp-server.md)

Hosted · nothing to install or maintain

## Can Printful do this on its own?

A draft is not charged until it is confirmed, and the API has POST /orders/{id}/confirm and POST /shipping/rates (checked 17 Oct 2026). The API does not ask you before it charges the card. The Dashboard confirms one order at a time.

## How you do it in Printful today

1. You open the Printful Dashboard and go to Orders.
2. You open a Draft order and check the items, the recipient and the shipping option.
3. You compare the shipping cost and delivery time that Printful shows for the address.
4. You confirm the order, which submits it for fulfillment and charges your card.
5. You repeat it for every draft, one by one.

## How to confirm Printful draft orders after a shipping check

Prompt

```
Look at my Printful draft orders. For each, check the shipping rate to the recipient and show me the cheapest option and the delivery window. Confirm only the ones I approve.
```

1. 01  
### List the drafts  
list\_orders runs with status draft and pages to the end, so the report covers every draft and not only the first page.
2. 02  
### Read the order  
get\_order returns the items and the recipient. A draft without a country or without items is reported as incomplete and left out.
3. 03  
### Price the shipping  
get\_shipping\_rates runs for each recipient and returns every rate with its delivery window. For the US, Canada and Australia the state is required, so a draft without it is reported, not guessed.
4. 04  
### Show and wait  
The agent shows the order, the cheapest rate and the delivery window, then waits. Your reply decides which orders go on.
5. 05  
### Confirm the approved ones  
confirm\_order runs once per approved order and asks for your OK on each call by default. A card failure comes back as the order status, and the agent reports it.

### What you get back

Example data

```
Drafts checked: 4
Ready to confirm:
- #31911, Anna Berg, Germany, Standard 5.95 EUR, 3 to 6 days
- #31915, Jo Lee, Canada, Standard 9.20 USD, 6 to 12 days
Incomplete, left alone:
- #31918 has no state for a US address
Confirmed after your OK: #31911
```

### Other ways to ask

- Confirm every draft under 3 items to EU countries without asking me again, but switch the OK back on for the rest.
- Show the shipping options for draft #31915 and let me pick one.
- Only list drafts, with the shipping cost, and confirm nothing.

## What Printful allows, and what to know first

- You are only charged for orders that have been confirmed.
- The shipping rates call needs a country code, and a state code for the US, Australia and Canada.
- Rates may differ from the cost estimate unless shipping settings are enabled for the store.
- Once an order is Being Fulfilled, it can no longer be edited or canceled.

confirm\_order asks for your OK by default. To run it daily without you, switch confirmation off for that tool in your dashboard.

Sources: [Printful API documentation: Orders and shipping rates](https://developers.printful.com/docs/) · [Printful Help: How can I check the status of an order?](https://help.printful.com/hc/en-us/articles/360014007400-How-can-I-check-the-status-of-an-order) · [Printful Help: Can I change or cancel an order that is already submitted?](https://help.printful.com/hc/en-us/articles/360014007060-Can-I-change-or-cancel-an-order-that-is-already-submitted)

## Call confirm\_order from a script

curl

```
curl -X POST https://cotlet.dev/api/v1/printful/orders/31911/confirm \
  -H "Authorization: Bearer $COTLET_API_KEY"
```

Example response

```
{
"order_id": 31911,
"status": "waiting_for_fulfillment",
"total": "27.45",
"currency": "EUR"
}
```

MCP: add https://cotlet.dev/mcp/v1 with the same key; the call is printful\_write → confirm\_order. Example data.

[Schedule it in n8n, Make, Zapier or cron](https://cotlet.dev/integrations/printful-api-mcp-server.md#automations)

## Printful tools this automation uses

__Cotlet Printful tools used to confirm Printful draft orders after a shipping check__
| Tool | Parameters |
| -------------------- | --------------------------------- |
| list\_orders | status, limit, cursor |
| get\_order | order\_id |
| get\_shipping\_rates | country\_code, state\_code, items |
| confirm\_order | order\_id |

[All 10 Printful tools with descriptions](https://cotlet.dev/integrations/printful-api-mcp-server.md#tools)

## Frequently asked questions

### Is it safe to connect Printful to Cotlet?

Yes. You sign in to Printful yourself, in your own Cloud Browser in the EU, and we never save your password. Your agents only get Printful once you enable it, every background request is listed, and the browser profile is stored encrypted with AES-256-GCM, the cipher 1Password uses for its vaults. The AI model never sees a login, posts and messages wait for your OK, and Disable for agents cuts access in one click. Independent scanners grade cotlet.dev A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory; live results are on https://cotlet.dev/security.

## More Printful automations

- [Find failed and stuck Printful orders](https://cotlet.dev/integrations/printful-api-mcp-server/find-failed-and-stuck-orders.md)
- [Generate Printful mockups for new designs](https://cotlet.dev/integrations/printful-api-mcp-server/generate-mockups-for-new-designs.md)
- [Printful API and MCP server: every tool](https://cotlet.dev/integrations/printful-api-mcp-server.md)
- [All use cases](https://cotlet.dev/use-cases.md)

## Give your agent access to Printful.

Free 7-day trial with 2,000 credits, no card needed. Cotlet is independent and not affiliated with Printful.

[Sign up free](https://cotlet.dev/app/signup?app=printful)

---

Give your AI agents your signed-in browser.

**Product:** [Integrations](https://cotlet.dev/integrations.md) · [Use cases](https://cotlet.dev/use-cases.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Pricing](https://cotlet.dev/pricing.md) · [Security](https://cotlet.dev/security.md)

**Resources:** [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [GitHub](https://github.com/cotletdev/cotlet)

**Solutions:** [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md)

**Company:** [About](https://cotlet.dev/about.md) · [AI info: company facts](https://cotlet.dev/ai-info.md) · [Contact](https://cotlet.dev/contact.md)

**Legal:** [Terms of service](https://cotlet.dev/terms) · [Privacy policy](https://cotlet.dev/privacy) · [Refund policy](https://cotlet.dev/refunds) · [Acceptable use](https://cotlet.dev/acceptable-use) · [Cookie policy](https://cotlet.dev/cookies) · [DPA](https://cotlet.dev/dpa) · [Subprocessors](https://cotlet.dev/subprocessors)

**Elsewhere:** [Status page](https://status.cotlet.dev) · [Cotlet on GitHub](https://github.com/cotletdev) · [Cotlet on X](https://x.com/cotletdev) · [Cotlet on LinkedIn](https://www.linkedin.com/company/cotletdev) · [Cotlet on Product Hunt](https://www.producthunt.com/products/cotlet) · [Cotlet on Crunchbase](https://www.crunchbase.com/organization/cotlet) · [Cotlet on SaaSHub](https://www.saashub.com/cotlet)

Cotlet is an independent service. It is not affiliated with, endorsed by or sponsored by any of the products listed on this site. Product names are trademarks of their respective owners.

## For AI agents: sign your user up

Is your user asking you to sign them up for Cotlet? You can do it for them, no account or key needed.

1. Read the fields and their allowed values: GET https://cotlet.dev/api/v1/access-requests
2. Ask the user for each value: email, apps, what you will do with them. If they leave the password to you, generate a strong one and show it to them.
3. Show the user what you will send, then POST it as JSON to https://cotlet.dev/api/v1/access-requests.

One call creates the account and sends the access request; we email the user when access is granted.
