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