Ledga
PUT/journals/{journalId}

Update a journal

Update the specified journal.

Parameters

NameInTypeDescription
journalIdrequired path string
uuid
Journal UUID

Request bodyrequired

FieldTypeDescription
code string
name string
description string
nullable
status string
enum: active | closed
metadata object
nullable

Responses

200Journal updated
{
  "success": true,
  "data": {
    "id": "01997c1e-4d2a-7c3e-9a1b-2f0e8c6d4b5a",
    "ledger_id": "01997c1e-4d2a-7c3e-9a1b-2f0e8c6d4b5a",
    "code": "SALES",
    "name": "Sales Journal",
    "status": "active",
    "created_at": "2026-01-15T10:30:00Z",
    "updated_at": "2026-01-15T10:30:00Z"
  }
}
401Unauthenticated
{
  "success": false,
  "message": "Validation failed",
  "code": "VALIDATION_ERROR"
}
403Forbidden (cannot rename DEFAULT journal)
{
  "success": false,
  "message": "Validation failed",
  "code": "VALIDATION_ERROR"
}
404Journal not found
{
  "success": false,
  "message": "Validation failed",
  "code": "VALIDATION_ERROR"
}
409Journal code already exists
{
  "success": false,
  "message": "Validation failed",
  "code": "VALIDATION_ERROR"
}
422Validation error
{
  "success": false,
  "message": "Validation failed",
  "code": "VALIDATION_ERROR"
}

Examples

curl -X PUT https://ledga.io/api/v1/journals/{journalId} \
  -H "Authorization: Bearer sk_xxxxxxxx_your_secret" \
  -H "Content-Type: application/json" \
  -d '{
  "code": "string",
  "name": "string",
  "status": "active"
}'

← All endpoints