Reduced Support Availability – 9th October 2025

Just a quick heads-up! On 9th October 2025, our support team will be attending the OneFile All Company Meeting, so our response times may be a little slower than usual. 

But don’t worry — you can still find answers quickly by searching our Help Centre for guides and FAQs. If you need further assistance, feel free to submit a ticket. and we’ll get back to you as soon as we can.

If your issue is urgent, please make sure to set the priority accordingly when submitting your request.

Thanks for your understanding!

Welcome to the new Help Centre! ✨

You may have spotted our new and shiny company website - and that’s not all that’s changed! We now have dedicated Help Centres for each of our products to make it easier for you to find the right support. For a quick guide to what’s new and where to go, click here.

Upcoming System Update: Enrol

On Tuesday 7th October 2025, we’ll be rolling out a series of enhancements to Enrol.

Full details of the changes can be found in the Release Notes

Downtime: Please note that there will be no service interruption.

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

When the centre setting below is disabled, the API will return the user's UserID, username and password in the body of the response.

When the centre setting below is enabled, 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.

  Centre Setting

When creating new accounts, automatically create a new Keychain or attach to an existing Keychain when an email is supplied

You can also call the "Organisation Search" endpoint to see whether the setting is enabled, or not, as shown below.

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.