Logging out update!

From Thursday 7th March 2024, we're making some small changes to how user accounts linked to a keychain log out. More information on logging out can be found here.

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

POST https://wsapibeta.onefile.co.uk/api/v2.1/Organisation/search

Body:
{
"CustomerID": 2070
}
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.