# Transcript API - Examples

Various examples how to call the new Transcript APIs. For demo purposes, we have used the User Id (external Identifier) paul.abbot with some random Learning Object Ids.

# Data (GET)

Description Url
Return the transcript overview /services/api/v1/transcripts/overview?externalId=paul.abbot
Return all completed trainings /services/api/v1/transcripts/overview?externalId=paul.abbot&statusGroups=Completed
Return all trainings which are "not started" or "in progress" /services/api/v1/transcripts/overview?externalId=paul.abbot&statusGroups=NotStarted,InProgress
Return the transcript overview including archived trainings /services/api/v1/transcripts/overview?externalId=paul.abbot&includeArchived=true
Return the transcript overview for "Online Class" /services/api/v1/transcripts/overview?externalId=paul.abbot&trainingType=OnlineClass
Return the transcript overview for "Materials" and "Videos" /services/api/v1/transcripts/overview?externalId=paul.abbot&trainingType=Material,Video
Return all completed "Sessions" /services/api/v1/transcripts/overview?externalId=paul.abbot&statusGroups=Completed&trainingType=Session
Return all completed "Curricula" /services/api/v1/transcripts/overview?externalId=paul.abbot&statusGroups=Completed&trainingType=Curriculum
Return all transcript records with "Pending Approval" /services/api/v1/transcripts/overview?externalId=paul.abbot&status=PendingApproval
Return transcript custom fields /services/api/v1/transcripts/custom-fields?externalId=paul.abbot&learningObjectId=b42d13a5-f7dc-40d1-8a52-5e6b572604df
Return child related details for a curricula transcript record /services/api/v1/transcripts/curriculum-child-lo-data?externalId=paul.abbot&learningObjectId=72be8841-0b7c-4e7a-baed-da906ce99c2b

# Assign a Training (POST)

Assign, approve and register a training.

/services/api/v1/transcripts/assign
{
  "externalId": "paul.abbot",
  "learningObjectId": "7ad38cb9-04e1-47be-8334-09a4484f82ad",
  "assignment": "registered",
}

# In Progress (PATCH)

Change a registered transcript record from "Registered" to "In Progress".

/services/api/v1/transcripts/progress
{
  "externalId": "paul.abbot",
  "learningObjectId": "7ad38cb9-04e1-47be-8334-09a4484f82ad"
}

# Update Due Date (PATCH)

Update Due Date.

/services/api/v1/transcripts/update
{
  "externalId": "paul.abbot",
  "learningObjectId": "b1a4185e-26b5-4b60-8ea7-ce5bc050804a",
  "dueDate": "2023-12-31",
  "comment": "Changed by API" 
}

# Update a Custom Field (PATCH)

Update a (textbox) custom field with the Email Tag name "Transcript Comment".

/services/api/v1/transcripts/update
{
  "externalId": "paul.abbot",
  "learningObjectId": "285a8af7-b7d0-475d-b199-dc88e6966bbf",
  "comment": "Changed by API", 
  "customFields": [
        {
        "name": "Transcript Comment",
        "values" : ["My Comment"]
        }
    ]
}

# Training Completion (PATCH)

Mark a learning object in an active users transcript complete. Ignore any (potential) post pending workflow configuration and right set the transcript record to "Completed".

/services/api/v1/transcripts/complete
{
  "externalId": "paul.abbot",
  "learningObjectId": "285a8af7-b7d0-475d-b199-dc88e6966bbf",
  "ignoreWorkflow": true
}

# Remove Training (PATCH)

Remove a Learning Object (LO) from a users transcript and place it in the 'Removed' tab of the transcript. The 'reason' needs to be a value from pre-defined list of reasons as configured in the portal.

/services/api/v1/transcripts/remove
{
  "externalId": "paul.abbot",
  "learningObjectId": "10e65284-3cdb-4f9f-9329-03823f56647c",
  "action": "remove",
  "reason": "Other",
  "comment": "Removed By API"
}