Method registers or unregisters employees for a given program.
POST https://api.startexam.com/v1/program/employees
None
Json with a RegisterProgramEmployeesQuery:
ProgramId
- Program identifier, guid from StartExam.
ProgramExternalId
- Program external identifier. Pass your own string ID from integrated system rather than guid from StartExam for easier integration (optional).
ModuleTestsScope
- pass all to apply action for all tests in a program,
or pass selected to apply action only for selected tests in a program.
ModuleTests
- identifiers of specific module tests, guids from StartExam.
Used only for ModuleTestsScope = selected and manual program mode.
RegisterEmployees
- Identifiers of employees to register. One request must not contain more than 500 employees to register.
UnregisterEmployees
- Identifiers of employees to unregister. One request must not contain more than 500 employees to unregister.
all scope: register / unregister for all tests at once.selected scope: register / unregister for specified tests.POST https://api.startexam.com/v1/program/employees HTTP/1.1
Host: api.startexam.com
Accept: application/json; charset=utf-8
Authorization: SharedKey 99:f52JP7GQd0xqrBzMO1NWTNVGzLENymgdUXu/Ie++NX4=
Content-Type: application/json; charset=utf-8
Content-Length: 274
Date: Sun, 25 Jan 2026 11:38:21 GMT
{
"programId": "df2a57c1-b6eb-48c0-a755-a9d211bc3499",
"programExternalId": null,
"moduleTestsScope": "all",
"moduleTests": null,
"registerEmployees": [
"10847",
"10919",
"10879",
"10677",
"10630",
"10827"
],
"unregisterEmployees": []
}
POST https://api.startexam.com/v1/program/employees HTTP/1.1
Host: api.startexam.com
Accept: application/json; charset=utf-8
Authorization: SharedKey 99:f52JP7GQd0xqrBzMO1NWTNVGzLENymgdUXu/Ie++NX4=
Content-Type: application/json; charset=utf-8
Content-Length: 426
Date: Sun, 25 Jan 2026 11:38:21 GMT
{
"programId": "65619544-6d7f-494a-873e-02df9f664db1",
"programExternalId": null,
"moduleTestsScope": "selected",
"moduleTests": [
"d22bbfef-c56b-4d89-be9b-9a8375464d97",
"67dbcda5-3f29-43a6-804b-5935603bcdab",
"fcb185e5-78ef-4353-b24d-ef0a29611816"
],
"registerEmployees": [
"10575",
"10609",
"10573"
],
"unregisterEmployees": [
"11907",
"11926",
"11561",
"11623"
]
}
Date and Authorization headers are constructed in the standard way.
200 OK, 400 Bad Request, etc. according the response processing guide.
Json.
Method returns operation results:
EmployeesRegistered - number of new employees added to the program.
AttemptsRegistered - number of attempts created.
EmployeesUnregistered - number of employees removed from the program.
AttemptsUnregistered - number of attempts removed.
TotalEmployeesInProgram - total number of employees in the program after operation.
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 151
{
"employeesRegistered": 6,
"attemptsRegistered": 24,
"employeesUnregistered": 0,
"attemptsUnregistered": 0,
"totalEmployeesInProgram": 100
}