Reporting API
Last updated 17 October 2026
The Chronaro API lets another system — accounting, invoicing, BI — fetch the same reports a company administrator can download on the Reports page. It is read-only: it can’t change anything in Chronaro. The API is part of the paid plan.
1. Get an API key
A company administrator creates keys under Reports → API access. API access opens once the company pays by card, or when its first invoice has been sent if it pays by invoice; it isn’t available during the free week. Creating a key needs two-factor sign-in on the administrator’s account. The key is shown once; store it like a password. Each key reads only its own company’s data and can be revoked at any time.
A key stops working for good if the administrator who created it loses admin rights, is deactivated or leaves the company. For a long-lived integration, have it created by an administrator who will stay.
2. Make a request
Send the key in the Authorization header and choose a date range (both days included, at most 366 days).
curl -H "Authorization: Bearer chr_YOUR_KEY" \ "https://chronaro.com/api/v1/report/entries?from=2026-10-01&to=2026-10-31"
/summary– one row per person and client, with combined descriptions, hours and shares of the person, team and company totals. The same as the Summary download./entries– every entry on its own row: date, start time, person, team, group, client, description, billing and hours, plus the identifiersEntryId,PersonId,ClientIdandGroupIdfor matching records in your own system.
3. Options
from,to– required,YYYY-MM-DD.format–json(default) orcsv.timezone– how days are cut and times shown; defaultEurope/Helsinki. Any IANA name, e.g.UTC.
Only completed entries are included, as in the Reports page. Entries of people who have deleted their account appear as “Former user” with an empty PersonId.
In CSV, text that starts with =, +, -, @ or a tab gets a leading ', so spreadsheet programs show it as text instead of running it as a formula. JSON gives the text as it is.
4. Response
{
"report": "entries",
"from": "2026-10-01",
"to": "2026-10-31",
"timezone": "Europe/Helsinki",
"count": 1,
"rows": [
{
"Date": "2026-10-02", "Start": "09:00", "Person": "Matti Virtanen",
"Team": "Design", "Group": "Acme Oy", "Client": "Logo design",
"Description": "First drafts", "Billing": "Billable", "Hours": 1.5,
"EntryId": "…", "PersonId": "…", "ClientId": "…", "GroupId": "…"
}
]
}5. Limits and errors
- Per company, all keys together: at most 10 requests per minute, 200 requests per day and 50 MB of data per day (days in UTC).
- Per request: at most 10,000 entries and 5 MB — use shorter ranges for more.
400invalid parameters or too much data ·401missing, invalid or revoked key ·402no paid plan ·403company access suspended ·429a limit was reached (wait and retry, seeRetry-After). Errors come as{"error": "…"}.- Call the API from your server, never from a web page: anyone who sees the key can read your company’s reports.
6. Help
Questions: admin@chronaro.com.