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.
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
Can I hire an employee who does not have an account yet?
Can I hire an employee who does not have an account yet?
No. First create the user and pass the department when you create them: then the account and the assignment
appear in one operation.
How do I send a transfer to another department together with a new position?
How do I send a transfer to another department together with a new position?
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.
What happens if I send a backdated dismissal?
What happens if I send a backdated dismissal?
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.
Is the external ID kept after a transfer?
Is the external ID kept after a transfer?
Yes. The external ID of the assignment moves to the new assignment, so you can send the next operations
by the same ID.
Can I use the API and Verifix at the same time?
Can I use the API and Verifix at the same time?
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.
Why do organization structure operations return an access error?
Why do organization structure operations return an access error?
The key does not have the “Staff management” or “Staff browsing” permission. Check the key’s permissions in the
API keys section.
Are there webhooks about hiring and dismissing employees?
Are there webhooks about hiring and dismissing employees?
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