Alladdin

Work in progress

Site en construction

الموقع قيد الإنشاء

Alladdin
GET

List business plan goals vs actuals

Scope: accounting:cashflow.read https://api.alladdin.com/api/v2/business-plan/goals

Returns Business Plan goals for the authenticated account, one row per accounting account, broken down by month. Each month carries both the goal (the target the account set for itself) and the actual (what really happened, from the ledger) for the same period, so goal and reality can be compared without a second call.
Use when the user wants to compare a client's Business Plan targets against what actually happened, e.g. to prepare a monthly review.
Only tree=profit_and_loss is supported today; Cashflow goals are not available through this endpoint yet.
start_date must not be after end_date, and the range between them must not exceed 36 months.
Returns an empty list, not an error, when the account has no Business Plan configured or no goals exist in the requested range.

Parameters

Query parameters

start_date string<date> required

Start of the reporting range (inclusive, snapped to the first day of its month)

end_date string<date> required

End of the reporting range (inclusive — any day within the last desired month)

tree string required

Goal tree to query. Only "profit_and_loss" is supported today.

"profit_and_loss" scenario_id string optional

Business Plan scenario to query — see GET /api/v2/business-plan/scenarios. Defaults to the account's main scenario.

accounting_account_id string optional

Restrict the response to a single accounting account. Omit to return every account in the tree.

only_with_goals boolean optional = false

When true, excludes accounting accounts with no goal set anywhere in the requested range. Without it, a chart of accounts with few goals mostly returns rows with goal: null — this filters those out before pagination, so pages are not spent on empty accounts.

cursor string optional

Opaque cursor for pagination

limit integer optional = 50

Maximum number of accounting accounts to return per page. Defaults to 50, maximum 200.

Request

python
import requests

url = "https://api.alladdin.com/api/v2/business-plan/goals?start_date=2026-01-01&end_date=2026-12-31&tree=profit_and_loss"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}

response = requests.get(url, headers=headers)
print(response.json())

Responses

Response

json
{
  "items": [
    {
      "accounting_account_id": "507f1f77bcf86cd799439011",
      "accounting_account_number": 70500001,
      "accounting_account_name": "Ventas",
      "months": [
        {
          "month": "...",
          "goal": "...",
          "actual": "..."
        }
      ]
    }
  ],
  "cursor": "string",
  "has_more": true
}

Success responses

200 List of business plan goals vs actuals, by accounting account application/json object items[] object[] accounting_account_id string

Identifier of the accounting account

accounting_account_number integer

Chart of accounts number

accounting_account_name string

Name of the accounting account

months[] object[]

One entry per month in the requested range, always present even when both goal and actual are empty for that month

cursor string | null

Opaque cursor pointing to the next page. Pass as cursor in the next request. Null when there is no next page.

has_more boolean

Whether more pages are available after this one

Error responses

400 Invalid tree, date range or identifier application/json 401 Invalid or missing API key application/json 403 Insufficient permissions application/json 404 Scenario or accounting account not found application/json 429 Rate limit exceeded application/json

Next →List business plan scenarios →