Upcoming Software Update: Enrol and RPL

On Thursday, 4th June 2026, we’ll be rolling out a series of improvements to Enrol and RPL.

Full details of the changes can be found in the release notes below:

Scheduled Downtime: Please note that there will be a brief Eportfolio service interruption between 7:00 and 7:30 AM on the day of the update.

Action required: To avoid any data loss, make sure you're logged out and have saved all work before 7:00am.

Scheduled Maintenance Notice - Thursday, 4 June 2026

Scheduled maintenance will be carried out on Onefile this evening.
When: 21:00 - 21:30

During this time, Onefile will be temporarily unavailable.

What you need to do:
Please make sure you log out before 21:00, as any unsaved work may be lost. You’ll be able to log back in as soon as the maintenance is complete.

Thank you for your understanding. 

If you have any questions or require further information, please contact our Support team.

Submit a ticket Log in

Creating and managing users via the API

This series of guides, will provide information on how to build a data integration with a 3rd party system, using the OneFile API:

  1. Initial data download using API
  2. Creating and managing users via the API
  3. Assigning users to learners via the API
  4. Assigning Framework Templates, Standards and Units via the API


Users can be created by calling the POST /api/v2.1/User endpoint.

The following roles are supported in the API:

User RoleRole ID
Learner1
Trainee Assessor4
Assessor / Tutor5
IV / IQA10
Employer40
Observer45

When creating learners, there are more required fields, than when create any other type of user. The required fields are shown below:

Create User (Learner)

POST /api/v2.1/User
//Mandatory Fields
{
"OrganisationID": {Id}
     "FirstName": {First Name}
     "LastName": {Last Name}      "Email": {Email}
     "Role": 1
     "DefaultAssessorID": {Id}
     "ClassroomID": {Id}
     "PlacementID": {Id}
} //Optional Fields { "MISID": "string", "CreatedOn": "2022-02-23T12:49:33.150Z", "CompanyName": "string", //Displayed on Profile "MobileNumber": "string", "Telephone": "string", "Website": "string", "WorkAddress": "string", "ProviderID": 0, "DefaultEmployerID": 0, "ULN": "string", "NINO": "string", "EpisodeName": "string", "HomeAddress": "string", "CentreRegister": "2022-02-23T12:49:33.150Z", "DOB": "2022-02-23T12:49:33.150Z", "StartOn": "2022-02-23T12:49:33.150Z", //Episode Start Date "PlannedEndDate": "2022-02-23T12:49:33.150Z", "L12": "string", //Ethnicity "L13": "string", //Sex "L14": "string", //Learning Difficulties/Disabilities/Health Problems "L15": "string", //Disability "L16": "string", //Learning Difficulty "SupportFunding": true, "LearnerStatusID": 0 }


Create User (All other User Roles)

POST /api/v2.1/User
//Mandatory Fields
{
     "OrganisationID": {Id}
     "FirstName": {First Name}
     "LastName": {Last Name}      "Email": {Email}
     "Role": {Role} //see table above
} //Additional mandatory field for Employers and Observers
{
"PlacementID": {Id} } //Optional Fields { "MISID": "string", "CreatedOn": "2022-02-23T12:49:33.150Z", "MobileNumber": "string", "Telephone": "string", "Website": "string", "WorkAddress": "string", "HomeAddress": "string", "DOB": "2022-02-23T12:49:33.150Z" }

Login Details

The API will only return a 200 OK status. The account will be added to a new/existing Keychain and the user will receive an email to verify their account.

Response:
{
    "ID": 5740,
    "Name": "Example Organisation - Business",
    "KeychainCreationForNewUserActive": true,
    "KeychainEmailSuppression": false
}

Updating Users

POST /api/v2.1/User/137945

{
     "MISID": "NewMISID"
}

When updating users, only include the fields you want to change in the body of the call. In the example above, UserID 137945 will have their MISID updated to the specified value.

Next Guide - Assigning users to Learners

Did you find it helpful? Yes No

Send feedback
Sorry we couldn't be helpful. Help us improve this article with your feedback.