POST
/trancodes/{id}/deprecateMark a transaction code as deprecated (one-way state transition)
Sets status to deprecated. There is no API path back to active — once deprecated, the transaction code remains in the system for historical reference but is no longer suitable for new transactions. The record itself is never deleted; existing transactions that referenced it stay valid.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string uuid | Transaction Code UUID |
Responses
200Transaction code deprecated
{
"success": true,
"data": {
"id": "01997c1e-4d2a-7c3e-9a1b-2f0e8c6d4b5a",
"ledger_id": "01997c1e-4d2a-7c3e-9a1b-2f0e8c6d4b5a",
"code": "PAYMENT",
"name": "Customer Payment",
"status": "active",
"version": 1,
"entries_template": {
"entries": [
{
"account": "{params.from_account}",
"type": "credit",
"amount": "{params.amount}"
},
{
"account": "{params.to_account}",
"type": "debit",
"amount": "{params.amount}"
}
]
},
"created_at": "2026-01-15T10:30:00Z",
"updated_at": "2026-01-15T10:30:00Z"
}
} 401Unauthenticated
{
"success": false,
"message": "Validation failed",
"code": "VALIDATION_ERROR"
} 403Forbidden
{
"success": false,
"message": "Validation failed",
"code": "VALIDATION_ERROR"
} 404Transaction code not found
{
"success": false,
"message": "Validation failed",
"code": "VALIDATION_ERROR"
} Examples
curl -X POST https://ledga.io/api/v1/trancodes/{id}/deprecate \
-H "Authorization: Bearer sk_xxxxxxxx_your_secret" use Ledga\Api\LedgaClient;
$ledga = new LedgaClient('sk_xxxxxxxx_your_secret');
$ledga->transactionCodes->deprecate('01997c1e-4d2a-7c3e-9a1b-2f0e8c6d4b5a');