Off-The-Job changes in line with the ESFA Funding Rules 2022/23

Click here to see our planned changes to support the new funding rules. Get involved by upvoting, commenting and following the topic to receive updates!

Scheduled Maintenance: Saturday 8th October 2022 - 07:00-07:30am

On Saturday morning, we're carrying out server maintenance. 

Please ensure you have saved any work and have logged out prior to 7:00am to avoid any potential loss of data.

Help centre

Submit a ticket Log in

Initial data download using 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


When developing an integration with the OneFile API, once authenticated via the API, you may want to download the existing data from OneFile.

To do this, follow the guidance below:

Get CustomerID

GET https://wsapibeta.onefile.co.uk/api/v2.1/Customer
Response:
{
"ID": 2070,
"Name": "Example Beta Customer"
}

Get Organisations linked to the Customer

GET https://wsapibeta.onefile.co.uk/api/v2.1/Organisation/search
Response:
[
{
"ID": 5740,
"Name": "Example Organisation - Business",
"KeychainCreationForNewUserActive": false,
"KeychainEmailSuppression": false
},
{
"ID": 5741,
"Name": "Example Organisation - Care",
"KeychainCreationForNewUserActive": false,
"KeychainEmailSuppression": false
}
]

Multiple Organisations

Most customers will only have one organisation linked to their customer record. However, some may have multiple centres, where they require complete separation of data and access.

Get Assessors in an Organisation

POST https://wsapibeta.onefile.co.uk/api/v2.1/User/Search/1/10

Body:
{
"OrganisationID": 5740
"Role": 5,
}
Response:
[
{
"ID": 122762,
"FirstName": "James",
"LastName": "Fayre"
"MISID": "JFAYE51P"
},
{
"ID": 132757,
"FirstName": "Kate",
"LastName": "Anderson"
"MISID": "KANDREWS142"
}
]

Get Classes in an Organisation

POST https://wsapibeta.onefile.co.uk/api/v2.1/Classroom/Search

Body:
{
"OrganisationID": 5740
}
Response:
[
{
"ID": 15379,
"Name": "Business Admin L2",
"MISID": "BAD1"
},
{
"ID": 15381,
"Name": "Business Admin L3",
"MISID": "BAD2"
},
]

Get Placements in an Organisation

POST https://wsapibeta.onefile.co.uk/api/v2.1/Placement/Search

Body:
{
"OrganisationID": 5740
}
Response:
[
{
"ID": 18928,
"Name": "BT - Manchester"
"MISID": "BT54810A"
},
{
"ID": 18929,
"Name": "Vodaphone - Salford",
"MISID": "VP0491045X"
}
]

Get Learners in an Organisation

POST https://wsapibeta.onefile.co.uk/api/v2.1/User/Search

Body:
{
"OrganisationID": 5740
"Role": 1
}
Response:
[
{
"ID": 137945,
"FirstName": "Gemma"
"LastName": "Hall"
"MISID": "GHALL391"
},
{
"ID": 137946,
"FirstName": "Chloe"
"LastName": "Henshall"
"MISID": "CHENSHALL194"
},
]

When you have this base data, you can use this to identify existing records that exist in both systems. It may be beneficial to used the paged searches to get additional information, for example, with the paged user search, this will return the ULN, NINO, email and other fields, if they contain data in OneFile for each learner. For these records, it may be worth adding or updating the MISIDs, so they match the IDs in the other system, by calling the "Update" endpoints

Next Guide - Creating/Managing Users

Did you find it helpful? Yes No

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