Skip to content

Get a purchase

GET
/v1/purchases/{id}
curl --request GET \
--url https://app.mondochat.io/v1/purchases/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0 \
--header 'Authorization: Bearer <token>'

Returns a purchase and its current status. Takes a session token. See https://docs.mondochat.io/guides/commerce/.

id
required
Id
string format: uuid

Successful Response

Media typeapplication/json
Purchase

A purchase of an item by a buyer from a seller.

object
buyer_id
required
Buyer Id

The buyer’s id.

string format: uuid
conversation_id
required
Any of:
string format: uuid
created_at
required
Created At

When the purchase was created.

string format: date-time
currency
required
Currency

ISO 4217 currency of the price.

string
external_ref
Any of:
string
id
required
Id

The purchase’s id.

string format: uuid
item
required
PurchaseItem

The item that was bought.

object
description
Any of:
string
<= 2000 characters
id
Any of:
string
kind
Any of:
string
title
required
Title

The item’s name.

string
>= 1 characters <= 200 characters
mode
required
Mode

How it is paid: the app’s commerce.payment_mode, or external for a purchase recorded from your server.

string
Allowed values: server_charge page_callback checkout_url external
price_minor
required
Price Minor

The price in minor units.

integer
seller_id
required
Seller Id

The seller’s id.

string format: uuid
status
required
Status

pending until paid; insufficient when the balance was short.

string
Allowed values: pending paid insufficient failed cancelled

Example

{
"buyer_id": "0199d6a0-1000-7000-8000-000000000002",
"conversation_id": "0199d6a0-2000-7000-8000-000000000001",
"created_at": "2026-11-01T09:30:00Z",
"currency": "EUR",
"external_ref": "order-1042",
"id": "0199d6a0-7000-7000-8000-000000000001",
"item": {
"id": "private-show",
"kind": "show",
"title": "Private show"
},
"mode": "server_charge",
"price_minor": 1500,
"seller_id": "0199d6a0-1000-7000-8000-000000000001",
"status": "paid"
}

Problem

Media typeapplication/problem+json

An RFC 9457 problem: the body of every error answer.

object
code
required

The stable error code to branch on, such as policy_denied.

string
detail

What went wrong this time, when there is more to say.

string | null
errors

For validation, one entry per invalid field.

Array<object>

One invalid field.

object
loc

The path to the field.

array
msg

What is wrong with it.

string
instance

The path of the request.

string
reason

For policy_denied and limit_reached, the rule or limit that refused the request; for forbidden, a short cause such as you_blocked; for banned, temporary when the ban expires.

string
status
required

The HTTP status code.

integer
title
required

A short summary of the problem.

string
type
required

A URL that names the problem, https://app.mondochat.io/problems/<code>.

string

Example

{
"code": "policy_denied",
"detail": null,
"instance": "/v1/conversations/0199d6a0-2000-7000-8000-000000000001",
"reason": "pins",
"status": 403,
"title": "Policy denied",
"type": "https://app.mondochat.io/problems/policy_denied"
}