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/json on POST and PUT.

  • Least privilege. Give the key only the scopes it actually uses.

  • Handle 429. Respect the Retry-After header. 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.