Reduced Support Availability: 18th July 2024 from 12pm

Just to let you know, our team is attending the OneFile all company meeting on 18th July  2024 from 12pm, so we won't be as responsive as usual!

You can still access our help guides - just search the Help Centre to find the answers you need. Otherwise, you can submit a ticket and we'll get back to you as soon as possible. If you have an urgent issue, set the priority accordingly.

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.