1. Support Center
  2. API Documentation

ApprentiScope API Reference

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 Credentials

 

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

URI

https://api.apprentiscope.com/create-user

Body

user: {

     first_name: "Johnny",

     last_name: "Appleseed",

     email: "johnny.appleseed@apprentiscope.com",

     user_type: "apprentice",

     program_id: occupation_id,

     company_id: company_id,

     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

URI

https://api.apprentiscope.com/create-invitation

Body

item: {

     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

URI

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

URI

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

URI

https://api.apprentiscope.com/update-user/insert_id_here

Body

item: {

     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

URI

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

URI

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

item: {

     title: "ApprentiScope, Inc.",

     type: "employer",

     street: "123 Bowling Avenue",

     city: "Nashville",

     state: "Tennessee",

     zip: "37215"

}

 

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

URI

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

URI

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

URI

https://api.apprentiscope.com/update-partner/partner_id

Body

item: {

     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

URI

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

URI

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

URI

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

URI

https://api.apprentiscope.com/update-occupation/occupation_id

Body

item: {

     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

URI

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

URI

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

item: {

     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",

     outcome: "Pass",
     type: 5,
     comments: "He had a great semester!"

}

 

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",

     outcome: "Pass",
     type: 5,
     comments: "He had a great semester!"

},

{

     title: "Grade 2",

     score_possible: "100",

     score_received: "87",

     outcome: "Pass",
     type: 5,
     comments: ""

}]

 

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",

     outcome: "Pass",
     type: 5,
     comments: "He had a great semester!"

}

 

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.