Register Program Employees

Method registers or unregisters employees for a given program.

Request Information

Scheme

POST https://api.startexam.com/v1/program/employees

URI Parameters

None

Body Parameters

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.

Request Example

Example 1: all scope: register / unregister for all tests at once.
Example 2: 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: 248
Date: Sun, 14 Sep 2025 05:27:51 GMT

{
  "programId": "1045b4fa-3ca2-4249-a3bd-2e30fcf0b21e",
  "programExternalId": null,
  "moduleTestsScope": "all",
  "moduleTests": null,
  "registerEmployees": [
    "10518",
    "10721",
    "10726",
    "10661"
  ],
  "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: 416
Date: Sun, 14 Sep 2025 05:27:51 GMT

{
  "programId": "c4ad4240-a471-4200-bfdb-286a8f38d0d8",
  "programExternalId": null,
  "moduleTestsScope": "selected",
  "moduleTests": [
    "ea43a2ae-588e-4fd5-8441-1b366e02eca6",
    "4d1d9b47-3804-4c6c-a221-2418e0c3c58f",
    "b7ae43ae-5796-40b1-a527-4cffb3b16509",
    "4ae5f9b1-a65a-499c-8baf-ed7a202f5424"
  ],
  "registerEmployees": [
    "10542",
    "10683",
    "10520"
  ],
  "unregisterEmployees": []
}

Date and Authorization headers are constructed in the standard way.

Response Information

HTTP status code

200 OK, 400 Bad Request, etc. according the response processing guide.

Content-Type

Json.

Content

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.

Response Example

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 150

{
  "employeesRegistered": 4,
  "attemptsRegistered": 8,
  "employeesUnregistered": 0,
  "attemptsUnregistered": 0,
  "totalEmployeesInProgram": 100
}

Try Method