API reference OpenAPI 3.1
POST /transactions/{id}:release

Release transaction

Bearer API key or staff session application/json operation releaseTransaction

Parameters

NameInTypeRequiredDescription
id path string Yes —

Request

Content type: application/json · required

FieldTypeRequiredDescription
reason string Yes —
approved_by string Yes Required; must differ from the acting principal (HOLD moves money)
curl -X POST "$MONICHEK_API/transactions/{id}:release" \
  -H "Authorization: Bearer $MONICHEK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "reason": "Customer requested review",
  "approved_by": "string"
}'
const res = await fetch(`${MONICHEK_API}/transactions/{id}:release`, {
  method: "POST",
  headers: {
    Authorization: `Bearer ${MONICHEK_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "reason": "Customer requested review",
    "approved_by": "string"
  }),
});

const data = await res.json();
import os
import requests

res = requests.post(
    f"{os.environ['MONICHEK_API']}/transactions/{id}:release",
    headers={"Authorization": f"Bearer {os.environ['MONICHEK_API_KEY']}"},
    json={
      "reason": "Customer requested review",
      "approved_by": "string"
    },
)
print(res.json())
$ch = curl_init(getenv('MONICHEK_API') . '/transactions/{id}:release');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer ' . getenv('MONICHEK_API_KEY'),
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => json_encode([
        'reason' => 'Customer requested review',
        'approved_by' => 'string',
    ]),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Replace {id} with the resource id.

Responses

200 OK released application/json
{
  "object": "released",
  "id": "txn_01M3R..."
}

Error responses

StatusMeaningBody
409 Conflict RFC 9457 problem

Errors use the RFC 9457 problem format with a stable code.