---
title: "Approve a checkout"
description: "Create a bounded purchase intent and approve only the checkout digest the user reviewed."
---

> Documentation Index
> Fetch the complete documentation index at: https://help.tooluse.net/llms.txt
> Use this file to discover all available pages before exploring further.

# Approve a checkout

<h2 id="prerequisites">Prerequisites</h2>
<p>Use a management credential with application write access. Do not send personal credentials or payment data.</p>
<p>Create the intent</p><pre><code class="language-bash">curl -X POST https://api.tooluse.net/v1/applications/app_&lt;32-lowercase-hex&gt;/purchases \
  -H "Authorization: Bearer $TOOLUSE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"merchantOrigin":"https://merchant.example","itemDescription":"One blue notebook","maxTotalUsdMicros":50000000,"currency":"USD"}'</code></pre><p>Read current state</p><p><code>GET /v1/applications/{appId}/purchases/{purchaseId}</code> returns <code>purchase</code>, <code>revision</code>, and the next required action.</p><p>Approve the exact snapshot</p><pre><code class="language-bash">curl -X POST https://api.tooluse.net/v1/applications/app_&lt;32-lowercase-hex&gt;/purchases/pur_&lt;32-lowercase-hex&gt;/approve \
  -H "Authorization: Bearer $TOOLUSE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"checkoutDigest":"&lt;64-lowercase-hex&gt;","expectedRevision":&lt;revision&gt;}'</code></pre>
<h2 id="verify">Verify</h2>
<p>The approved digest must equal the currently stored checkout digest. If the checkout or revision changed, the API returns a conflict and requires a fresh review.</p>
<h2 id="next-steps">Next steps</h2>
<ul>
<li><a href="/agentic-purchases/handoffs">Browser handoff leases</a></li>
<li><a href="/agentic-purchases/availability">Availability and boundaries</a></li>
</ul>

Source: https://help.tooluse.net/agentic-purchases/checkout-approval/index.mdx
