Learn how to develop new experiences with our APIs.
Overview
ApprentiScope's developer platform is a core part of our mission to empower organizations to scale Apprenticeships and Work-Based Learning. Our APIs are designed to enable teams of any shape or size to build robust integrations and new experiences with our products.
All ApprentiScope APIs are built using REST conventions and designed to have a predictable URL structure. They use many standard HTTP features, including methods (POST, GET, PUT, DELETE) and error response codes.
All API reference docs include an overview section and an endpoint section. The API overview includes a brief summary of its functionality, use cases, and any special considerations for creating an integration. The endpoints section lists each endpoint, its parameters, and request examples. Once you’ve received your API Credentials from ApprentiScope, you can use Postman or make test calls right from an endpoint reference page.
Locating your API Credentials
Once your API Access Request has been approved, you'll be able to access your credentials from the API Credentials section of your Profile page, as shown below.
API Reference
Notes
1. The base URI for all API calls is https://api.apprentiscope.com
2. All responses return standard JSON.
3. If you need additional functionality, let us know by submitting a Feature Request.
1. User Management
Create Managed User
Create a new user. Returns the user's ID upon completion.
Endpoint
POST
/create-user/
Headers
Authorization: YOUR_AUTH_TOKEN
Example
https://api.apprentiscope.com/create-user
Body:
{
first_name: "Johnny",
last_name: "Appleseed",
email: "johnny.appleseed@apprentiscope.com",
user_type: "apprentice",
program_id: occupation_id, //apprentices, applicants & mentors only
company_id: company_id,
//optional
phone: "8022272728",
middle_name: "B",
suffix: "Mr."
View all fields here: https://support.apprentiscope.com/rapids-validation-rules
}
Create Invitation
Send an invitation via email for account creation. Returns the Invitation ID upon completion.
Endpoint
POST
/create-invitation/
Headers
Authorization: YOUR_AUTH_TOKEN
Example
https://api.apprentiscope.com/create-invitation
Body:
{
first_name: "Johnny",
last_name: "Appleseed",
email: "johnny.appleseed@apprentiscope.com",
user_type: "apprentice",
program_id: occupation_id, //apprentices, applicants & mentors only
company_id: company_id
}
Read Users
Returns a list of all users in your ApprentiScope account across all user types.
Endpoint
GET
/read-users/:user_type?filters
Param Options
user_type: applicant, apprentice, mentor, supervisor, admin, sponsor..., all
filters: any field on user objects using formatting: filter=value&filter_2=value...
Headers
Authorization: YOUR_AUTH_TOKEN
Example
https://api.apprentiscope.com/read-users/apprentice?apprentice_status=Active
Read User by ID
Returns a user under a specified identifier.
Endpoint
GET
/read-user/:id
Param Options
id: unique identifier of the user for whom you want to retrieve profile information
Headers
Authorization: YOUR_AUTH_TOKEN
Example
https://api.apprentiscope.com/read-user/insert_id_here
Update User by ID
Update fields for an individual user by ID.
Endpoint
PUT
/update-user/:id
Param Options
id: unique identifier of the user for whom you want to update profile information
Headers
Authorization: YOUR_AUTH_TOKEN
Example
https://api.apprentiscope.com/update-user/insert_id_here
Body:
{
first_name: "Johnny",
last_name: "Appleseed"
}
Delete User by ID
Remove a user from your account using their ID.
Endpoint
DELETE
/delete-user/:id
Param Options
id: unique identifier of the user for whom you want to delete
Headers
Authorization: YOUR_AUTH_TOKEN
Example
https://api.apprentiscope.com/delete-user/insert_id_here
Read User Progress by ID
Returns program progress for a user under a specified identifier.
Endpoint
GET
/read-progress/:id/:type
Param Options
id: unique identifier of the user for whom you want to retrieve progress
type: 1 (OJT Competencies), 3 (RTI Courses), all (both OJT & RTI)
Headers
Authorization: YOUR_AUTH_TOKEN
Example
https://api.apprentiscope.com/read-progress/insert_id_here/all
2. Partner Management
Create Partner
Create a new Partner. Returns the partner's ID upon completion.
Endpoint
POST
/create-partner/
Headers
Authorization: YOUR_AUTH_TOKEN
Example
URI
https://api.apprentiscope.com/create-partner
Body
{
title: "ApprentiScope, Inc.",
type: "employer",
street: "123 Bowling Avenue",
city: "Nashville",
state: "Tennessee",
}
Read Partners by Type
Returns a list of partners in your ApprentiScope account for a given type.
Endpoint
GET
/read-partners/:type
Param Options
employer, sponsor, education_provider
Headers
Authorization: YOUR_AUTH_TOKEN
Example
https://api.apprentiscope.com/read-partners/employer
Read Partner by ID
Returns a partner under a specified identifier.
Endpoint
GET
/read-partner/:id
Headers
Authorization: YOUR_AUTH_TOKEN
Example
https://api.apprentiscope.com/read-partner/partner_id
Update Partner by ID
Update fields for a partner by ID.
Endpoint
PUT
/update-partner/:id
Headers
Authorization: YOUR_AUTH_TOKEN
Example
https://api.apprentiscope.com/update-partner/partner_id
Body:
{
title: "ApprentiScope",
contact_name: "Johnny Appleseed"
}
Delete Partner by ID
Remove a partner from your account using their ID.
Endpoint
DELETE
/delete-partner/:id
Headers
Authorization: YOUR_AUTH_TOKEN
Example
https://api.apprentiscope.com/delete-partner/partner_id
3. Occupation Management
Read Occupations
Returns a list of occupations in your ApprentiScope account.
Endpoint
GET
/read-occupations
Headers
Authorization: YOUR_AUTH_TOKEN
Example
https://api.apprentiscope.com/read-occupations
Read Occupation by ID
Returns an occupation under a specified identifier.
Endpoint
GET
/read-occupation/:id
Headers
Authorization: YOUR_AUTH_TOKEN
Example
https://api.apprentiscope.com/read-occupation/occupation_id
Update Occupation by ID
Update fields for an occupation by ID.
Endpoint
PUT
/update-occupation/:id
Headers
Authorization: YOUR_AUTH_TOKEN
Example
https://api.apprentiscope.com/update-occupation/occupation_id
Body:
{
title: "Application Developer"
}
Delete Occupation by ID
Remove an occupation from your account using their ID.
Endpoint
DELETE
/delete-occupation/:id
Headers
Authorization: YOUR_AUTH_TOKEN
Example
https://api.apprentiscope.com/delete-occupation/occupation_id
4. Program Management
Read Time Submissions
Returns an array of submission for a given type and date range.
Endpoint
GET
/read-submissions/:type?start_date=null&end_date=null
Param Options
type: 1 (OJT Submission), 2 (RTI Submissions)
start_date: start of date range (YYYYMMDD format, optional)
end_date: end of date range (YYYYMMDD format, optional)
Headers
Authorization: YOUR_AUTH_TOKEN
Example
https://api.apprentiscope.com/read-submissions/1?start_date=20240801&end_date=20240831
Submit Hours
Submit OJT or RTI hours on behalf of a user.
Endpoint
POST
/submit-hours/:id/:type
Param Options
id: unique identifier of the user for whom you want to submit hours
type: 1 (OJT Hours), 2 (RTI Hours)
Headers
Authorization: YOUR_AUTH_TOKEN
Example
Submit OJT hours for an apprentice.
URI
https://api.apprentiscope.com/submit-hours/insert_id_here/1
Body
{
date_obj: JS DATE
competencies: [
{ id: competency_id, hours_worked: 3 },
{ id: competency_id_2, hours_worked: 3 },
etc...
]
}
Create File
Add files to an Apprentices' profile.
Endpoint
POST
/create-file
Param Options
id: unique identifier of the user for whom you want to upload a file
Headers
Authorization: YOUR_AUTH_TOKEN
Example
Submit a file called Fall Semester Transcript to an apprentice's profile.
URI
https://api.apprentiscope.com/create-file/insert_id_here
Body
{
uid: insert_id_here,
filename: "Fall Semester Transcript",
category: "Transcript",
url: file_url
}
Create Grade
Add grade to an Apprentices' profile.
Endpoint
POST
/create-grade/:id
Param Options
id: unique identifier of the user for whom you want to create a grade
Headers
Authorization: YOUR_AUTH_TOKEN
Example
Create a grade called Final Exam to an apprentice's profile.
URI
https://api.apprentiscope.com/create-grade/insert_id_here
Body
{
title: "Final Exam",
score_possible: "100",
score_received: "89",
}
Read Grades by User
Get grades for a specific Apprentice.
Endpoint
GET
/read-grades/:id
Param Options
id: unique identifier of the user for whom you want to retrieve grade information
Headers
Authorization: YOUR_AUTH_TOKEN
Example
Get grades associated with an apprentice.
URI
https://api.apprentiscope.com/read-grades/insert_id_here
Response
[{
title: "Grade 1",
score_possible: "100",
score_received: "89",
},
{
title: "Grade 2",
score_possible: "100",
score_received: "87",
}]
Read Grade by ID
Get a grade by ID.
Endpoint
GET
/read-grade/:id
Param Options
id: grade_id
Headers
Authorization: YOUR_AUTH_TOKEN
Example
Get a specific grade.
URI
https://api.apprentiscope.com/read-grade/grade_id
Response
{
id: grade_id
title: "Grade 1",
score_possible: "100",
score_received: "89",
}
Update Grade by ID
Update a grade by ID.
Endpoint
POST
/read-grade/:id
Param Options
id: grade_id
Headers
Authorization: YOUR_AUTH_TOKEN
Example
Update information for a specific grade.
URI
https://api.apprentiscope.com/read-grade/grade_id
BODY
{
score_received: "91"
}
Delete Grade by ID
Delete a grade by ID.
Endpoint
POST
/delete-grade/:id
Param Options
id: grade_id
Headers
Authorization: YOUR_AUTH_TOKEN
Example
Delete a specific grade from an apprentice's profile.
URI
https://api.apprentiscope.com/delete-grade/grade_id
Don't see the endpoint you're looking for? Let us know how we can improve our APIs by submitting a Feature Request.