Ledga
POST/trancodes

Create a transaction code template

Store a newly created tranCode.

Request bodyrequired

FieldTypeDescription
coderequired string Unique code for this template (immutable after creation; uppercase letters, numbers, hyphen, underscore)
namerequired string
description string
nullable
status string
enum: active | deprecated · default: "active"
params_schema one of: ParamsSchema
nullable
entries_templaterequired EntriesTemplate Double-entry template stored on a transaction code. At least 2 entries are required; once parameters are substituted, debits and credits must balance.
entries_template.entriesrequired EntryTemplate[]
min items: 2
attributes_template one of: AttributesTemplate
nullable
validation_rules object
nullable
metadata object
nullable

Responses

201Transaction code created
{
  "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"
  }
}
400Validation error
{
  "success": false,
  "message": "Validation failed",
  "code": "VALIDATION_ERROR"
}
401Unauthenticated
{
  "success": false,
  "message": "Validation failed",
  "code": "VALIDATION_ERROR"
}
403Forbidden
{
  "success": false,
  "message": "Validation failed",
  "code": "VALIDATION_ERROR"
}

Examples

curl -X POST https://ledga.io/api/v1/trancodes \
  -H "Authorization: Bearer sk_xxxxxxxx_your_secret" \
  -H "Content-Type: application/json" \
  -d '{
  "code": "PAYMENT",
  "name": "Customer Payment",
  "status": "active",
  "entries_template": {
    "entries": [
      {
        "account": "{params.from_account}",
        "type": "credit",
        "amount": "{params.amount}"
      },
      {
        "account": "{params.to_account}",
        "type": "debit",
        "amount": "{params.amount}"
      }
    ]
  }
}'

← All endpoints