Getting started
This page takes you from nothing to a working API call.
1. Create an API key
API keys are created inside the Economydesk application, not through the API.
Sign in, open the company menu and choose API-nycklar, or go directly to:
https://economydesk.econeum.com/app/companies/<company id>/api-keys
Give the key a name, pick a validity period (30, 90, 180 or 365 days), select
the scopes it needs, and confirm with your password. A scope that requires
another, such as customers:write, selects it automatically.
Important
The key is displayed once, at creation. It cannot be recovered. Copy it straight into your configuration or secret store.
A key looks like this:
edk_live_<public_id>.<secret>
A key belongs to exactly one company. If your integration covers several companies, create one key per company.
2. Make a request
Send the key in the standard Authorization header:
curl -H "Authorization: Bearer edk_live_<public_id>.<secret>" \
https://economydesk.econeum.com/edapi/v1/user-companies
The response is a one-element list containing the company the key is bound to.
If you just want to check that you can reach the API at all, /myip needs no
authentication:
curl https://economydesk.econeum.com/edapi/v1/myip
3. Find the company id
Most paths are scoped to a company:
/edapi/v1/user-companies/{company_id}/...
Take company_id from the GET /user-companies response above, and keep
it in your configuration. It does not change.
4. Scope requests to a fiscal year
Accounting data is organised per fiscal year. Fiscal years are integers (1, 2, 3, …), not calendar years:
curl -H "Authorization: Bearer $EDK" \
https://economydesk.econeum.com/edapi/v1/user-companies/42/fiscal-years
Then use that number to scope accounts and verifications:
/user-companies/42/fiscal-years/3/accounts
/user-companies/42/fiscal-years/3/verifications
5. Write something
Creating a verification requires the verifications:write scope. Debits must
equal credits, and there must be at least two entries:
curl -X POST \
-H "Authorization: Bearer $EDK" \
-H "Content-Type: application/json" \
-d '{
"description": "Office supplies",
"series_code": "A",
"date": "2026-03-15",
"booked": false,
"entries": [
{ "account": "1930", "debit": 500.00, "account_name": "Bank" },
{ "account": "6110", "credit": 500.00, "account_name": "Office expenses" }
]
}' \
https://economydesk.econeum.com/edapi/v1/user-companies/42/verifications
See Verifications for the full schema.
Checklist before going live
HTTPS only. The API enforces HTTPS in production.
Content type. Send
Content-Type: application/jsonon POST and PUT.Least privilege. Give the key only the scopes it actually uses.
Handle 429. Respect the
Retry-Afterheader. See Authentication.Handle expiry. Keys expire. Plan for rotation before they do.
Store the key as a secret. Never commit it, never put it in a URL.