Skip to main content

Base URL

All API requests should be made to:
https://kube.acho.io/service/general-ledger

Authentication

All API requests require a valid JWT token in the Authorization header.
curl -X GET https://kube.acho.io/service/general-ledger/accounts \
  -H "Authorization: jwt YOUR_TOKEN"

Request Format

Headers

HeaderValueRequired
Authorizationjwt YOUR_TOKENYes
Content-Typeapplication/jsonYes (for POST/PUT)
X-Idempotency-KeyUnique identifierRecommended for mutations

Idempotency

For critical operations like approvals and payments, include an idempotency key to prevent duplicate processing:
curl -X POST https://kube.acho.io/service/general-ledger/bills/{bill_id}/approve \
  -H "Authorization: jwt YOUR_TOKEN" \
  -H "X-Idempotency-Key: unique-request-id-123"

Response Format

Success Response

{
  "account_id": "1000",
  "account_name": "Cash",
  "account_type": "Asset",
  "created_at": "2024-01-15T10:00:00Z"
}

Error Response

{
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "Account ID already exists",
    "details": {
      "field": "account_id",
      "value": "1000"
    }
  }
}

Pagination

List endpoints support pagination:
ParameterDescriptionDefault
limitNumber of results per page20
offsetNumber of results to skip0
GET /service/general-ledger/accounts?limit=50&offset=100

Date Formats

All dates use ISO 8601 format:
  • Date only: YYYY-MM-DD (e.g., 2024-01-15)
  • Date and time: YYYY-MM-DDTHH:mm:ssZ (e.g., 2024-01-15T10:30:00Z)

Multi-Currency Support

Aden supports multi-currency operations:
  • Amounts are represented as numbers with up to 2 decimal places
  • Currency codes follow ISO 4217 (e.g., USD, EUR, GBP)
  • Exchange rates are stored with up to 6 decimal places
  • Multi-entity consolidation handles currency conversion automatically

Multi-Entity Support

Aden’s API supports multi-entity operations for organizations with multiple legal entities:
  • Each API call operates within the context of a specific entity
  • Consolidated reporting aggregates data across entities
  • Inter-company transactions are tracked automatically

Rate Limiting

The API implements rate limiting to ensure fair usage:
  • Standard limit: 1000 requests per minute
  • Burst limit: 100 requests per second
When rate limited, you’ll receive a 429 Too Many Requests response.

Error Codes

CodeDescription
400Bad Request - Invalid input
401Unauthorized - Invalid or missing token
403Forbidden - Insufficient permissions
404Not Found - Resource doesn’t exist
409Conflict - Resource already exists or state conflict
422Unprocessable Entity - Business rule violation
429Too Many Requests - Rate limit exceeded
500Internal Server Error

Best Practices

Always include idempotency keys for POST requests that modify data, especially for approvals and payments. This prevents duplicate transactions if a request is retried.
When fetching lists, always implement pagination handling. Don’t assume all results fit in one response.
Use the /applicable endpoint to check which approval rules will apply before submitting documents for approval.
Before performing workflow actions, always check the document’s current status to ensure the action is valid.
Implement robust error handling for all API calls. Check for specific error codes to provide appropriate user feedback.

Integration

Aden integrates seamlessly with your existing tools and workflows. Contact your Aden administrator for information about available integrations.

Support

For API support: