Integrations and API
MASK connects to your software. A payroll, HR, ERP or access-control system can pull time and attendance data from MASK and send data to it on its own, with no manual export or import. Here are the answers to the questions we are asked most often; the technical documentation for developers is in the API documentation.
Is there an API?#
Yes. MASK has an integration REST API over HTTPS that exchanges JSON. Access is granted with an API key: the administrator of your MASK system creates the key on the API Keys page of the web app, decides what it may read or change and for which locations, and hands it to your developer.
Is the API included in the standard licence?#
The API is part of the MASK system and available to every customer. Whether it is included in your package or agreed as an add-on depends on the scope of the integration: how many systems you connect and which data you exchange. We settle that in the offer, so write to us and describe what you want to connect.
Which data can we reach?#
Through the API your system can read:
- Employees and their employment at each location: contract type, hourly rate, start and end dates.
- The employees' RFID cards.
- Clock events: every entry and exit, breaks, business and personal exits, with the exact time, the source (terminal, manual entry, API) and corrections.
- Shifts that MASK computes from the events, with work, break, personal and business time.
- Reports: working days, hours and absences per location over a period, the monthly payroll totals, and one employee's shifts.
- Reference data: locations (institutions in the API) with their time zone, and the event types.
And write:
- Employees and employment: a new employee, changes to their data, ending and reactivating employment. MASK then stays in step with your HR system.
- Clock events from your own system, for example from an access-controlled gate, with corrections and voids.
Every key sees only what it is allowed to: the chosen kinds of data, read only or read and write, and the chosen locations. A key can have an expiry date, an IP allowlist and its own rate limit, and the administrator can change, replace or revoke it at any time.
Can data from the terminals reach our system automatically?#
Yes, in two ways.
Through MASK and the API. Every card scan reaches MASK as soon as the terminal is online; without a connection the terminal keeps the scan and sends it when the network is back. Your system then pulls the new events and shifts through the API on the schedule that suits you, every few minutes or once a night, fully automatically. This is the way we recommend: besides the scans you also get the computed shifts, administrators' corrections and the reports.
Directly from the terminal. A terminal can be set up to send its records straight to your system, with no MASK software in between. That is a custom solution we adapt to your system; contact us for the details.
Is there API documentation or a technical specification?#
Yes, and it is public:
- API documentation: authentication, access rights, errors, limits, recommended sync flows and an example for every request.
- OpenAPI 3 document: a machine-readable description of the whole API, to import into Postman, Insomnia or a client code generator.
The API is versioned. Changes within v1 keep existing integrations working, apart from fixes to security problems; a change that would break them gets a new version, announced in advance (the policy).
The complete system on your own infrastructure#
MASK does not have to run in our cloud. You can also have it as a complete system on your own servers, even entirely inside your internal network with no public address. See the deployment options.
Contact#
- Offers and licensing: prodaja@mask.ba, +387 60 33 84 228
- Technical questions about an integration: dev@mask.ba
If you already use MASK, your administrator creates the key for your system on the API Keys page.