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.
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.