Skip to main content
If you keep HR records in 1C, your own HR system or another service, you can sync the organization structure with Exode through the API. Your system creates departments and positions, hires, transfers and dismisses employees, and sends absences. Exode applies the same rules to these changes as to changes made in the interface, including automatic course assignment. This page describes what the API can do for business and HR. The technical description of the requests is in the developer documentation. General information about API keys is in API.

Company API key

Keys are created in Company → For developers → API keys.
  • A company can have up to 5 API keys. More are available on request to support: “API keys limit is 5. Contact support”.
  • The key is shown only once, right after it is issued. Save it.
  • Reissue the API key issues a new key, and the old one stops working right away.
  • In a company, a new key gets organization structure permissions (“Staff management” and “Staff browsing”) and does not get sales and refund permissions. You can change the key’s permissions.

What you can do through the API

Organization structure operations work only in a corporate company. They are not available in an online school.

External IDs

To avoid storing Exode IDs on your side, send your own: a personnel number, a department code from 1C and so on. Almost every operation can be performed either by the Exode ID or by your external ID. If the ID is already taken, the operation returns an error, for example “External employment ID is not unique” or “External grade ID is not unique”.

How to sync employees

1

Send the structure

Create departments from the top down: parent ones first, then nested ones. Then create positions and, if needed, grades.
2

Create accounts

Create a user and pass their department, position and grade right away. In a company, a user without a department is not created: “Required employment data is missing”.
3

Send HR events

Send transfers, position changes and dismissals as separate operations by the external ID of the assignment.
4

Send absences

Create vacations, sick leave and business trips per employee and update them by your own ID.
For regular reconciliation, use the “create or update” user operation. Sending the same employee again with the same department and position does not create a duplicate: Exode returns the existing assignment and, if it does not have an external ID yet, links yours.

Rules that also apply in the API

What happens after changes through the API

  • Hiring, transfer, position or grade change: the automatic assignment rules are checked within a minute or two. See Automatic course assignment.
  • Dismissal from the last department: the account gets the “Dismissed” status, and sign-in is closed. Data and progress are kept.
  • Rehiring a dismissed employee: the account becomes active again.
  • Deleting a user: all their assignments are closed.

Webhooks

Webhooks in a company work the same way as in an online school: see Webhooks. Events about payments, refunds and enrollment via payment are not available in a company. Webhooks are in Company → For developers → Webhooks.

Frequently asked questions

No. First create the user and pass the department when you create them: then the account and the assignment appear in one operation.
With one transfer operation: in it you can specify the new department, the new position and the grade. The position is checked for the new department.
The dismissal date cannot be earlier than the start of the assignment. If the date is earlier, you get the “Invalid assignment change date” error.
Yes. The external ID of the assignment moves to the new assignment, so you can send the next operations by the same ID.
Yes, but you cannot change records from Verifix through the API: they are changed only in Verifix. Use the API to manage the records that do not come from Verifix.
The key does not have the “Staff management” or “Staff browsing” permission. Check the key’s permissions in the API keys section.
No. You send HR events to Exode yourself, so they are already in your system. Webhooks report learning and user events, for example a course completion or a certificate being issued.

Updated: 2026-10-15 18:32 UTC