Ledga
POST/journals

Create a new journal

Store a newly created journal.

Request bodyrequired

FieldTypeDescription
coderequired string Unique code within ledger
namerequired string
description string
nullable
status string
enum: active | closed · default: "active"
metadata object
nullable

Responses

201Journal created
{
  "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
{
  "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 POST https://ledga.io/api/v1/journals \
  -H "Authorization: Bearer sk_xxxxxxxx_your_secret" \
  -H "Content-Type: application/json" \
  -d '{
  "code": "SALES",
  "name": "Sales Journal",
  "status": "active"
}'

← All endpoints