---
title: "Release an order checkout"
method: POST
path: "/teams/{slug}/orders/{order_id}/checkout/release"
tags: ["Orders"]
---

# Release an order checkout

`POST /teams/{slug}/orders/{order_id}/checkout/release`

## Request

- Base URL: `https://api.presscart.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.presscart.com/teams/{slug}/orders/{order_id}/checkout/release`
- Auth: HTTP bearer

Ends the order checkout session when the checkout page is left and returns its held credits. A session whose payment has started keeps its hold. With session_id, a session that is no longer the order open current session is left alone; with page_id, a session another page opened or took over is left alone, and an unowned one ends only when it is the given session_id.

## Path parameters

- `slug` string, required
- `order_id` string, uuid, required

## Request body

- object
  - `session_id` string: The session the left page mounted. Alone, only that session is released and only while it is the order's open current session; with page_id, it is released only when no page owns it and it is the order's open current session
  - `page_id` string, uuid: The left checkout page load; when given, the order's open session is released only while that page owns it, or when no page owns it and it is the given session_id

## Response `200`

Released, or nothing to release

- object
  - `released` boolean, required: False when nothing was released or a payment has started

## Other responses

- `400`: The order id is not a uuid, or the order was cancelled
- `401`: Not signed in
- `403`: Not a member of the team, or the team does not exist
- `404`: The order, or the given session, does not belong to the team
- `429`: Too many release requests

---

[API](https://skmtc.dev/presscart/apis/presscart-prod-api.md) · [All operations](https://skmtc.dev/presscart/apis/presscart-prod-api/llms.txt) · [OpenAPI document](https://skmtc.dev/presscart/apis/presscart-prod-api/revisions/2154581d845e?raw)
