---
title: "Generate a hosted checkout link for an order"
method: POST
path: "/shop/orders/{orderId}/checkout-link"
tags: ["Orders"]
---

# Generate a hosted checkout link for an order

`POST /shop/orders/{orderId}/checkout-link`

Generate a signed, short-lived URL that drops a customer into the
site's hosted checkout flow with this order pre-loaded. Used when
an operator builds an order on the customer's behalf — for example
a concierge booking by phone — and wants to hand the final payment
step over to the customer via email or SMS.

The link is valid for 15 minutes from issue. Each call mints a
fresh URL; older links continue to work until their own expiry.

Returns `400 Bad Request` if the order is in a state that no
longer accepts updates (settled, cancelled, etc.).

## Response `200`

A short-lived hosted-checkout URL for the order.

- object
  - `url` string, uri, required — The signed checkout URL. Valid for 15 minutes from issue. Share with the customer via email or SMS to hand off the payment step.

## Other responses

- `400` — The request failed.
- `401` — The user is unauthenticated
- `403` — The authenticated user does not have permission.
- `404` — The resource couldn't be found

---

[API](https://skmtc.dev/try/apis/trybe-api.md) · [All operations](https://skmtc.dev/try/apis/trybe-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/try/trybe-api/revisions/f37f92702da5/schema)
