Prepare stable identifiers
The backend guide requires assignment and student objects. Use stable external_id values for the exam and participant. The guide states that reusing the same assignment.external_id and student.external_id updates the existing record rather than creating another one.
Assemble the request
Set assignment.external_id, assignment.name and assignment.settings.
Set student.external_id and student.name; student.email is recommended where appropriate.
Specify application as browser, desktop or tray for the required delivery mode.
Use session_data.external_id when you need your own identifier for the specific attempt.
Include the agreed proctoring_settings and optional webhook settings under assignment.settings.
Handle the response
Pass external_session.token to the frontend SDK. Keep report_url for authorised access from your manager or instructor interface. Match responses to the correct assignment and participant before continuing.
Before production use
Confirm the authenticated endpoint and credential scope for your deployment with the technical team. Keep API credentials out of client code and public logs. Test repeated requests and the mapping of attempt identifiers; do not assume assignment-level reuse means an attempt has already been completed.