For Agents
Read and write activities, employees, mileage entries, project activities, and project customers in a Visma e-conomic agreement so apps can sync expenses, time, and costing data into the books.
Use for: I want to create a new mileage entry for an employee, Approve a batch of mileage entries before they hit the books, List all employees in a specific employee group, Add a new project activity to bill against
Not supported: Does not handle invoicing, payment processing, or VAT filing - use for activity, employee, mileage, and project costing data inside an e-conomic agreement only.
Visma e-conomic is a Nordic cloud accounting platform whose v20 REST API exposes activities, activity groups, cost types, employees and employee groups, mileage entries and prices, project activities, and project customers. Built for ISVs integrating expense, project costing, and time-tracking flows into e-conomic books, the API is paginated by /paged endpoints and authenticated with a per-agreement grant token plus an app secret token. Visma publishes its own OpenAPI document for this Projects surface and that document is canonical; it is linked in the FAQ below. This page describes a curated, agent-optimized Jentic specification of the same 98 operations, kept validated so agents can discover and execute them through the Jentic API Directory.
Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Visma e-conomic OpenAPI, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fe-conomic.com%2Fe-conomic" | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fe-conomic.com%2Fe-conomic" | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Visma e-conomic OpenAPI API.
List, retrieve, create, and update activities used to categorise project work
Query allowed activities for a context and count or page through activities
Retrieve cost types and cost type groups for use on time and expense entries
Manage employees and employee groups, including create, update, delete, count, and paged list
GET STARTED
Create, update, delete, approve, count, and page through mileage entries
Look up mileage entry prices and individual mileage price records
Manage project activities and read project customers with paged retrieval
Patterns agents use Visma e-conomic OpenAPI API for, with concrete tasks.
★ Mileage Expense Sync from a Mobile App
A field-services mobile app captures driver trips and posts them to e-conomic via POST /mileages with the employee number, date, and distance. Once a manager reviews the batch, POST /mileages/approve marks them approved so the postings flow into the agreement's books without manual re-entry.
POST /mileages with employee number, distance, and date for each captured trip, then POST /mileages/approve with the list of mileage IDs
Employee Master Data Sync from HR
An HR system pushes new hires and group changes into e-conomic via POST /employees and PUT /employees, and uses /employeegroups to keep the group taxonomy aligned. /employees/paged gives the HR sync job a stable cursor for the reverse direction so pulled records can reconcile against the source.
POST /employees with the new hire's number, name, and employee group, then GET /employees/paged on the next sync to verify the record exists
Project Cost Tracking
A project management app creates project activities via POST /project-activities and reads project customers via /project-customers/paged so timesheets in the source app map onto e-conomic's project structure. Activity groups and cost types pulled from /activitygroups and /costtypes drive the dropdowns the user sees when classifying time entries.
GET /activitygroups and /costtypes to build the classification list, then POST /project-activities to register new billable activities for a project
Agent-Driven Bookkeeping via Jentic
An AI assistant for a Nordic SMB asks Jentic to 'create a mileage entry in e-conomic' and gets the POST /mileages operation. It supplies the driver's employee number and distance, and the entry lands in the agreement's books - the agreement grant token and app secret token never enter the agent context.
Use Jentic to search 'create a mileage entry in e-conomic', load the POST /mileages operation, and execute it with the employee number and trip distance
98 endpoints — visma e-conomic is a nordic cloud accounting platform whose v20 rest api exposes activities, activity groups, cost types, employees and employee groups, mileage entries and prices, project activities, and project customers.
METHOD
PATH
DESCRIPTION
/mileages
Create a single mileage entry
/mileages/approve
Approve a list of mileage entries
/employees
Create an employee
/employeegroups
Create an employee group
/project-activities
Create a project activity
/activities/allowed
Retrieve allowed activities
/employees/paged
Retrieve a page of employees
/project-customers/paged
Retrieve a page of project customers
/mileages
Create a single mileage entry
/mileages/approve
Approve a list of mileage entries
/employees
Create an employee
/employeegroups
Create an employee group
/project-activities
Create a project activity
/activities/allowed
Retrieve allowed activities
/employees/paged
Retrieve a page of employees
/project-customers/paged
Retrieve a page of project customers
What agents get from Jentic-routed access to this vendor.
Setup
Wiring Visma e-conomic by hand means sending both the X-AppSecretToken and X-AgreementGrantToken headers on every call and coding its paged reads yourself. Through Jentic you install once, import e-conomic from the API Directory, store both tokens once, and your agent calls it.
Permission scoping
e-conomic carries the agreement and record targets in headers and request bodies rather than the URL path, so scope your agent to the operations it needs, such as listing paged employees or creating a mileage entry. Actions like approving a mileage or creating an employee group stay out of the allowed set unless you add them.
Credential isolation
Your e-conomic X-AppSecretToken and X-AgreementGrantToken are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
Intent-based discovery
Agents search Jentic by intent such as 'create a mileage entry' or 'list project customers', and Jentic returns the matching e-conomic operation with its input schema and pagination shape so the agent calls the right endpoint without browsing the reference docs.
Alternatives and complements available in the Jentic catalogue.
Specific to using Visma e-conomic OpenAPI API through Jentic.
Which OpenAPI specification does this Visma e-conomic OpenAPI page describe?
A curated, agent-optimized Jentic specification covering 98 Visma e-conomic operations across 70 paths. Visma publishes its own OpenAPI document for the same Projects surface in the e-conomic API documentation index at https://apis.e-conomic.com/, which serves the Projects document at https://apis.e-conomic.com/projectsapi/openapi-projects.json. That official document is version 1.1.0, dated November 2024 in its own changelog, adds an optional booking-date property to the time-entry approval operation, and points at a newer per-API base path, so treat it as canonical. The Jentic variant tracks the earlier v20.0.0 publication of the same 70 paths and 98 operations, normalized for agent tooling, and lower-cases the path segments the official document capitalizes. Get started with Jentic One, the self-hosted execution layer.
What authentication does the Visma e-conomic OpenAPI use?
Every request requires two API keys passed as headers: 'X-AppSecretToken' identifies the integration and 'X-AgreementGrantToken' identifies the e-conomic agreement (tenant) the call acts on. Through Jentic, both are stored encrypted in the vault and injected per-call rather than handed to the agent.
Can I create mileage entries with the Visma e-conomic API?
Yes. POST /mileages creates a mileage entry, PUT /mileages updates one, DELETE /mileages/{number} removes it, and POST /mileages/approve marks a batch approved. Pricing for the entries is read from /mileageprices and /mileageprices/{number}.
What are the rate limits for the Visma e-conomic OpenAPI?
The OpenAPI spec does not declare numeric rate limits. Visma e-conomic applies tenant-level fair-use throttling - high-volume integrations should use the /paged endpoints (e.g. /employees/paged, /mileages/paged) rather than repeatedly calling the unpaged list.
How do I post a mileage entry through Jentic?
Run pip install jentic, search for 'create a mileage entry in e-conomic', load the operation for POST /mileages, then execute it with the employee number, date, and distance. Jentic injects both the X-AppSecretToken and X-AgreementGrantToken headers automatically.
Can I page through employees instead of pulling them all at once?
Yes. GET /employees/paged returns a page-based response and GET /employees/count returns the total count, so a sync job can iterate pages rather than fetching the unpaged /employees list. The same paged + count pattern applies to mileages, activities, project activities, and project customers.
Can I limit what my agent is allowed to do with the Visma e-conomic API?
Yes. Because you run Jentic One yourself, your own rules decide exactly which e-conomic operations the agent may call, so you can allow read-only work like GET /employees/paged or GET /project-customers/paged while withholding write actions. If the agent only needs to create mileage entries, grant POST /mileages and leave riskier operations such as POST /mileages/approve, POST /employees, or POST /employeegroups out of the allowed set. Since the API targets the agreement and records through the X-AppSecretToken and X-AgreementGrantToken headers and request bodies rather than the URL path, you scope by choosing operations rather than by editing paths. The two tokens are stored by your own instance and injected at execution time, so the agent never sees them.