API Reference
Retrieve a student portfolio by its UUID
Student Portfolio UUID
Student portfolio retrieved successfully
No student portfolio found.
GET /v1/student-portfolios/{uuid} HTTP/1.1
Host:
Accept: */*
{
"teacherPortfolio": {
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"userId": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"description": "text",
"coverImageUrl": "text",
"courseIds": [
1
],
"skills": [
{
"name": "text",
"status": "not_completed",
"mentionCount": 1
}
],
"sections": {
"defaultSection": {
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"requirements": [
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"userId": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"description": "text",
"reflectionQuestions": [
"text"
],
"order": 1,
"createdAt": "2025-10-13T22:01:39.903Z",
"updatedAt": "2025-10-13T22:01:39.903Z",
"skills": [
{
"name": "text",
"status": "not_completed",
"mentionCount": 1
}
],
"type": "project",
"canvasAssignmentId": 1,
"courseId": 1,
"courseName": "text",
"gradingType": "text",
"htmlUrl": "text",
"pointsPossible": 1,
"submissionTypes": [
"text"
]
}
],
"order": 1
},
"userSections": [
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"requirements": [
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"userId": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"description": "text",
"reflectionQuestions": [
"text"
],
"order": 1,
"createdAt": "2025-10-13T22:01:39.903Z",
"updatedAt": "2025-10-13T22:01:39.903Z",
"skills": [
{
"name": "text",
"status": "not_completed",
"mentionCount": 1
}
],
"type": "project",
"canvasAssignmentId": 1,
"courseId": 1,
"courseName": "text",
"gradingType": "text",
"htmlUrl": "text",
"pointsPossible": 1,
"submissionTypes": [
"text"
]
}
],
"order": 1
}
]
},
"teacherPortfolioState": "draft"
},
"studentPortfolio": {
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"canvasStudentId": 1,
"status": "not_started",
"evidences": [
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"requirementId": "123e4567-e89b-12d3-a456-426614174000",
"status": "not_submitted",
"description": "text",
"reflection": "text",
"links": [
"text"
],
"attachments": [
{
"url": "text",
"mimeType": "text",
"fileSize": 1,
"fileName": "text"
}
],
"teammateCanvasIds": [
1
],
"commentCount": 1,
"skillCount": 1
}
],
"assignmentSubmissions": [
{
"assignmentId": 1,
"assignmentName": "text",
"assignmentDescription": "text",
"courseId": 1,
"courseName": "text",
"htmlUrl": "text",
"submissionType": "text",
"submissionLink": "text",
"body": "text",
"pointsPossible": 1,
"gradingType": "text",
"score": 1,
"commentCount": 1,
"status": "unsubmitted",
"createdAt": "2025-10-13T22:01:39.903Z"
}
],
"createdAt": "2025-10-13T22:01:39.903Z",
"updatedAt": "2025-10-13T22:01:39.903Z"
}
}
Get teammates for a student portfolio
Page number (must be greater than 0)
1
Number of items per page (must be between 1 and 100)
20
Field to sort by
Sort order
Search query
Students retrieved successfully
GET /v1/student-portfolios/{portfolioId}/teammates HTTP/1.1
Host:
Accept: */*
Students retrieved successfully
{
"data": [
{
"canvasUserId": 1,
"name": "text",
"sortableName": "text",
"email": "text",
"avatarUrl": "text"
}
],
"meta": {
"total": 1,
"page": 1,
"lastPage": 1,
"hasNextPage": true,
"hasPreviousPage": true
}
}
Create a new evidence for a student portfolio
Student Portfolio UUID
Evidence created successfully
POST /v1/student-portfolios/{portfolioId}/evidences HTTP/1.1
Host:
Content-Type: application/json
Accept: */*
Content-Length: 243
{
"requirementId": "123e4567-e89b-12d3-a456-426614174000",
"description": "text",
"reflection": "text",
"links": [
"text"
],
"attachments": [
{
"url": "text",
"mimeType": "text",
"fileSize": 1,
"fileName": "text"
}
],
"teammateCanvasIds": [
1
],
"status": "not_submitted"
}
Evidence created successfully
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"requirementId": "123e4567-e89b-12d3-a456-426614174000",
"status": "not_submitted",
"description": "text",
"reflection": "text",
"links": [
"text"
],
"attachments": [
{
"url": "text",
"mimeType": "text",
"fileSize": 1,
"fileName": "text"
}
],
"teammateCanvasIds": [
1
],
"commentCount": 1,
"skillCount": 1
}
Update an existing evidence for a student portfolio
Evidence UUID
Student Portfolio UUID
Evidence updated successfully
PATCH /v1/student-portfolios/{portfolioId}/evidences/{uuid} HTTP/1.1
Host:
Content-Type: application/json
Accept: */*
Content-Length: 188
{
"status": "not_submitted",
"description": "text",
"reflection": "text",
"links": [
"text"
],
"attachments": [
{
"url": "text",
"mimeType": "text",
"fileSize": 1,
"fileName": "text"
}
],
"teammateCanvasIds": [
1
]
}
Evidence updated successfully
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"requirementId": "123e4567-e89b-12d3-a456-426614174000",
"status": "not_submitted",
"description": "text",
"reflection": "text",
"links": [
"text"
],
"attachments": [
{
"url": "text",
"mimeType": "text",
"fileSize": 1,
"fileName": "text"
}
],
"teammateCanvasIds": [
1
],
"commentCount": 1,
"skillCount": 1
}
Get a specific evidence by its UUID
Evidence UUID
Student Portfolio UUID
Evidence retrieved successfully
User is not authorized to access this evidence.
Evidence not found.
GET /v1/student-portfolios/{portfolioId}/evidences/{uuid} HTTP/1.1
Host:
Accept: */*
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"requirementId": "123e4567-e89b-12d3-a456-426614174000",
"status": "not_submitted",
"description": "text",
"reflection": "text",
"links": [
"text"
],
"attachments": [
{
"url": "text",
"mimeType": "text",
"fileSize": 1,
"fileName": "text"
}
],
"teammateCanvasIds": [
1
],
"commentCount": 1,
"skillCount": 1
}
Delete a specific evidence by its UUID
Evidence UUID
Student Portfolio UUID
Evidence deleted successfully
No content
DELETE /v1/student-portfolios/{portfolioId}/evidences/{uuid} HTTP/1.1
Host:
Accept: */*
Evidence deleted successfully
No content
Retrieve teammates associated with a specific evidence
Evidence UUID
Student Portfolio UUID
Teammates retrieved successfully
User is not authorized to access this evidence.
Evidence not found.
GET /v1/student-portfolios/{portfolioId}/evidences/{uuid}/teammates HTTP/1.1
Host:
Accept: */*
[
{
"canvasUserId": 1,
"name": "text",
"email": "text",
"avatarUrl": "text"
}
]
Add a new requirement section to a teacher portfolio
Teacher Portfolio UUID
The section has been successfully added.
Bad Request.
Not authorized to make changes.
Teacher portfolio not found.
POST /v1/teacher-portfolios/{uuid}/sections HTTP/1.1
Host:
Content-Type: application/json
Accept: */*
Content-Length: 39
{
"title": "text",
"evidenceIds": [
"text"
]
}
{
"defaultSection": {
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"requirements": [
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"userId": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"description": "text",
"reflectionQuestions": [
"text"
],
"order": 1,
"createdAt": "2025-10-13T22:01:39.903Z",
"updatedAt": "2025-10-13T22:01:39.903Z",
"skills": [
{
"name": "text",
"status": "not_completed",
"mentionCount": 1
}
],
"type": "project",
"canvasAssignmentId": 1,
"courseId": 1,
"courseName": "text",
"gradingType": "text",
"htmlUrl": "text",
"pointsPossible": 1,
"submissionTypes": [
"text"
]
}
],
"order": 1
},
"userSections": [
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"requirements": [
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"userId": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"description": "text",
"reflectionQuestions": [
"text"
],
"order": 1,
"createdAt": "2025-10-13T22:01:39.903Z",
"updatedAt": "2025-10-13T22:01:39.903Z",
"skills": [
{
"name": "text",
"status": "not_completed",
"mentionCount": 1
}
],
"type": "project",
"canvasAssignmentId": 1,
"courseId": 1,
"courseName": "text",
"gradingType": "text",
"htmlUrl": "text",
"pointsPossible": 1,
"submissionTypes": [
"text"
]
}
],
"order": 1
}
]
}
Add a new requirement to a teacher portfolio
Teacher Portfolio UUID
Successfully added requirement
POST /v1/teacher-portfolios/{portfolioId}/requirements HTTP/1.1
Host:
Content-Type: application/json
Accept: */*
Content-Length: 112
{
"type": "project",
"title": "text",
"description": "text",
"reflectionQuestions": [
"text"
],
"skills": [
{
"name": "text"
}
]
}
Successfully added requirement
{
"defaultSection": {
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"requirements": [
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"userId": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"description": "text",
"reflectionQuestions": [
"text"
],
"order": 1,
"createdAt": "2025-10-13T22:01:39.903Z",
"updatedAt": "2025-10-13T22:01:39.903Z",
"skills": [
{
"name": "text",
"status": "not_completed",
"mentionCount": 1
}
],
"type": "project",
"canvasAssignmentId": 1,
"courseId": 1,
"courseName": "text",
"gradingType": "text",
"htmlUrl": "text",
"pointsPossible": 1,
"submissionTypes": [
"text"
]
}
],
"order": 1
},
"userSections": [
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"requirements": [
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"userId": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"description": "text",
"reflectionQuestions": [
"text"
],
"order": 1,
"createdAt": "2025-10-13T22:01:39.903Z",
"updatedAt": "2025-10-13T22:01:39.903Z",
"skills": [
{
"name": "text",
"status": "not_completed",
"mentionCount": 1
}
],
"type": "project",
"canvasAssignmentId": 1,
"courseId": 1,
"courseName": "text",
"gradingType": "text",
"htmlUrl": "text",
"pointsPossible": 1,
"submissionTypes": [
"text"
]
}
],
"order": 1
}
]
}
Add one or more assignments to the specified teacher portfolio.
Array of Canvas assignment IDs to add to the teacher portfolio
Successfully added assignments to the teacher portfolio
POST /v1/teacher-portfolios/{portfolioId}/assignments HTTP/1.1
Host:
Content-Type: application/json
Accept: */*
Content-Length: 21
{
"assignmentIds": [
1
]
}
Successfully added assignments to the teacher portfolio
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"userId": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"description": "text",
"coverImageUrl": "text",
"courseIds": [
1
],
"skills": [
{
"name": "text",
"status": "not_completed",
"mentionCount": 1
}
],
"sections": {
"defaultSection": {
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"requirements": [
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"userId": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"description": "text",
"reflectionQuestions": [
"text"
],
"order": 1,
"createdAt": "2025-10-13T22:01:39.903Z",
"updatedAt": "2025-10-13T22:01:39.903Z",
"skills": [
{
"name": "text",
"status": "not_completed",
"mentionCount": 1
}
],
"type": "project",
"canvasAssignmentId": 1,
"courseId": 1,
"courseName": "text",
"gradingType": "text",
"htmlUrl": "text",
"pointsPossible": 1,
"submissionTypes": [
"text"
]
}
],
"order": 1
},
"userSections": [
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"requirements": [
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"userId": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"description": "text",
"reflectionQuestions": [
"text"
],
"order": 1,
"createdAt": "2025-10-13T22:01:39.903Z",
"updatedAt": "2025-10-13T22:01:39.903Z",
"skills": [
{
"name": "text",
"status": "not_completed",
"mentionCount": 1
}
],
"type": "project",
"canvasAssignmentId": 1,
"courseId": 1,
"courseName": "text",
"gradingType": "text",
"htmlUrl": "text",
"pointsPossible": 1,
"submissionTypes": [
"text"
]
}
],
"order": 1
}
]
},
"teacherPortfolioState": "draft"
}
Add a new comment to evidence feedback
Student Portfolio UUID
Evidence UUID
Comment added successfully
POST /v1/student-portfolios/{portfolioId}/evidences/{evidenceId}/feedback/comments HTTP/1.1
Host:
Content-Type: application/json
Accept: */*
Content-Length: 18
{
"message": "text"
}
Comment added successfully
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"profile": {
"canvasUserId": 1,
"name": "text",
"sortableName": "text",
"email": "text",
"avatarUrl": "text"
},
"message": "text",
"createdAt": "2025-10-13T22:01:39.903Z"
}
Retrieve comments for a specific evidence
Student Portfolio UUID
Evidence UUID
Comments retrieved successfully
GET /v1/student-portfolios/{portfolioId}/evidences/{evidenceId}/feedback/comments HTTP/1.1
Host:
Accept: */*
Comments retrieved successfully
[
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"profile": {
"canvasUserId": 1,
"name": "text",
"sortableName": "text",
"email": "text",
"avatarUrl": "text"
},
"message": "text",
"createdAt": "2025-10-13T22:01:39.903Z"
}
]
Add feedback with comment and grade
Student Portfolio UUID
Evidence UUID
Feedback added successfully
POST /v1/student-portfolios/{portfolioId}/evidences/{evidenceId}/feedback HTTP/1.1
Host:
Content-Type: application/json
Accept: */*
Content-Length: 33
{
"comment": "text",
"grade": "pass"
}
Feedback added successfully
{
"comment": {
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"profile": {
"canvasUserId": 1,
"name": "text",
"sortableName": "text",
"email": "text",
"avatarUrl": "text"
},
"message": "text",
"createdAt": "2025-10-13T22:01:39.903Z"
},
"grade": "pass"
}
studentPortfolioId of the student portfolio to export
The HTML representation of the student portfolio
Not authorized to access this student portfolio
Student portfolio not found
GET /v1/export/studentPortfolio/{studentPortfolioId} HTTP/1.1
Host:
Accept: */*
binary
showcasePortfolioId of the showcase portfolio to export
The HTML representation of the showcase portfolio
Not authorized to access this showcase portfolio
Showcase portfolio not found
GET /v1/export/showcasePortfolio/{showcasePortfolioId} HTTP/1.1
Host:
Accept: */*
binary
Create a new evidence for a showcase portfolio
Showcase Portfolio UUID
Title of the evidence.
Description of the evidence.
Personal reflection on the evidence.
Associated links for the evidence.
Tags for the evidence.
Showcase Evidence created successfully
Invalid request data
User is not authorized to add evidence to this portfolio
Portfolio not found
Internal server error
POST /v1/showcase-portfolios/{showcasePortfolioId}/showcase-evidences HTTP/1.1
Host:
Content-Type: application/json
Accept: */*
Content-Length: 187
{
"title": "text",
"description": "text",
"reflection": "text",
"type": "project",
"attachments": [
{
"url": "text",
"mimeType": "text",
"fileSize": 1,
"fileName": "text"
}
],
"links": [
"text"
],
"tags": [
"text"
]
}
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"userId": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"description": "text",
"order": 1,
"reflection": "text",
"links": [
"text"
],
"attachments": [
{
"url": "text",
"mimeType": "text",
"fileSize": 1,
"fileName": "text"
}
],
"tags": [
"text"
],
"createdAt": "2025-10-13T22:01:39.903Z",
"updatedAt": "2025-10-13T22:01:39.903Z",
"type": "project",
"canvasAssignmentId": 1,
"courseId": 1,
"courseName": "text",
"gradingType": "text",
"htmlUrl": "text",
"pointsPossible": 1,
"submissionTypes": [
"text"
],
"assignmentSubmissionBody": "text"
}
Update an existing evidence for a showcase portfolio
Showcase Evidence UUID
Showcase Portfolio UUID
The UUID of the evidence to be updated.
The new title for the evidence.
The new description for the evidence.
The new personal reflection on the evidence.
The updated list of associated links for the evidence. This typically replaces the existing list.
The updated list of tags for the evidence. This typically replaces the existing list.
The updated order of the evidence
Showcase Evidence updated successfully
Invalid request data
User is not authorized to update this evidence
Evidence or portfolio not found
Internal server error
PATCH /v1/showcase-portfolios/{showcasePortfolioId}/showcase-evidences/{showcaseEvidenceId} HTTP/1.1
Host:
Content-Type: application/json
Accept: */*
Content-Length: 243
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"description": "text",
"reflection": "text",
"attachments": [
{
"url": "text",
"mimeType": "text",
"fileSize": 1,
"fileName": "text"
}
],
"links": [
"text"
],
"tags": [
"text"
],
"order": 1,
"type": "project"
}
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"userId": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"description": "text",
"order": 1,
"reflection": "text",
"links": [
"text"
],
"attachments": [
{
"url": "text",
"mimeType": "text",
"fileSize": 1,
"fileName": "text"
}
],
"tags": [
"text"
],
"createdAt": "2025-10-13T22:01:39.903Z",
"updatedAt": "2025-10-13T22:01:39.903Z",
"type": "project",
"canvasAssignmentId": 1,
"courseId": 1,
"courseName": "text",
"gradingType": "text",
"htmlUrl": "text",
"pointsPossible": 1,
"submissionTypes": [
"text"
],
"assignmentSubmissionBody": "text"
}
Retrieve a specific evidence by its UUID
Showcase Evidence UUID
Showcase Portfolio UUID
Showcase Evidence retrieved successfully
User is not authorized to view this evidence
Evidence not found
Internal server error
GET /v1/showcase-portfolios/{showcasePortfolioId}/showcase-evidences/{showcaseEvidenceId} HTTP/1.1
Host:
Accept: */*
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"userId": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"description": "text",
"order": 1,
"reflection": "text",
"links": [
"text"
],
"attachments": [
{
"url": "text",
"mimeType": "text",
"fileSize": 1,
"fileName": "text"
}
],
"tags": [
"text"
],
"createdAt": "2025-10-13T22:01:39.903Z",
"updatedAt": "2025-10-13T22:01:39.903Z",
"type": "project",
"canvasAssignmentId": 1,
"courseId": 1,
"courseName": "text",
"gradingType": "text",
"htmlUrl": "text",
"pointsPossible": 1,
"submissionTypes": [
"text"
],
"assignmentSubmissionBody": "text"
}
Delete a specific evidence by its UUID
Showcase Evidence UUID
Showcase Portfolio UUID
Showcase Evidence deleted successfully
No content
Evidence does not belong to the specified portfolio
User is not authorized to delete this evidence
Evidence not found
Internal server error
DELETE /v1/showcase-portfolios/{showcasePortfolioId}/showcase-evidences/{showcaseEvidenceId} HTTP/1.1
Host:
Accept: */*
No content
Showcase Portfolio UUID
The new title for the showcase portfolio.
The new description for the showcase portfolio.
New URL for the cover image. Send an empty string or null to remove the existing image.
The new status for the showcase portfolio.
The sections and their evidences for the showcase portfolio.
The showcase portfolio has been successfully updated.
Bad Request.
Not authorized to make changes.
Showcase portfolio not found.
PATCH /v1/showcase-portfolios/{uuid} HTTP/1.1
Host:
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 786
{
"title": "text",
"description": "text",
"coverImageUrl": "text",
"status": "DRAFT",
"sections": {
"defaultSection": {
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"order": 1,
"evidences": [
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"description": "text",
"reflection": "text",
"attachments": [
{
"url": "text",
"mimeType": "text",
"fileSize": 1,
"fileName": "text"
}
],
"links": [
"text"
],
"tags": [
"text"
],
"order": 1,
"type": "project"
}
]
},
"userSections": [
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"order": 1,
"evidences": [
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"description": "text",
"reflection": "text",
"attachments": [
{
"url": "text",
"mimeType": "text",
"fileSize": 1,
"fileName": "text"
}
],
"links": [
"text"
],
"tags": [
"text"
],
"order": 1,
"type": "project"
}
]
}
]
}
}
{
"uuid": "text",
"title": "text",
"description": "text",
"coverImageUrl": "text",
"status": "DRAFT",
"sections": {
"defaultSection": {
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"order": 1,
"evidences": [
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"userId": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"description": "text",
"order": 1,
"reflection": "text",
"links": [
"text"
],
"attachments": [
{
"url": "text",
"mimeType": "text",
"fileSize": 1,
"fileName": "text"
}
],
"tags": [
"text"
],
"createdAt": "2025-10-13T22:01:39.903Z",
"updatedAt": "2025-10-13T22:01:39.903Z",
"type": "project",
"canvasAssignmentId": 1,
"courseId": 1,
"courseName": "text",
"gradingType": "text",
"htmlUrl": "text",
"pointsPossible": 1,
"submissionTypes": [
"text"
],
"assignmentSubmissionBody": "text"
}
]
},
"userSections": [
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"order": 1,
"evidences": [
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"userId": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"description": "text",
"order": 1,
"reflection": "text",
"links": [
"text"
],
"attachments": [
{
"url": "text",
"mimeType": "text",
"fileSize": 1,
"fileName": "text"
}
],
"tags": [
"text"
],
"createdAt": "2025-10-13T22:01:39.903Z",
"updatedAt": "2025-10-13T22:01:39.903Z",
"type": "project",
"canvasAssignmentId": 1,
"courseId": 1,
"courseName": "text",
"gradingType": "text",
"htmlUrl": "text",
"pointsPossible": 1,
"submissionTypes": [
"text"
],
"assignmentSubmissionBody": "text"
}
]
}
]
},
"tags": [
"text"
]
}
Showcase Portfolio UUID
Showcase Portfolio retrieved successfully
User is not authorized to view this portfolio
Portfolio not found
Internal server error
GET /v1/showcase-portfolios/{portfolioId} HTTP/1.1
Host:
Accept: */*
{
"uuid": "text",
"title": "text",
"description": "text",
"coverImageUrl": "text",
"status": "DRAFT",
"sections": {
"defaultSection": {
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"order": 1,
"evidences": [
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"userId": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"description": "text",
"order": 1,
"reflection": "text",
"links": [
"text"
],
"attachments": [
{
"url": "text",
"mimeType": "text",
"fileSize": 1,
"fileName": "text"
}
],
"tags": [
"text"
],
"createdAt": "2025-10-13T22:01:39.903Z",
"updatedAt": "2025-10-13T22:01:39.903Z",
"type": "project",
"canvasAssignmentId": 1,
"courseId": 1,
"courseName": "text",
"gradingType": "text",
"htmlUrl": "text",
"pointsPossible": 1,
"submissionTypes": [
"text"
],
"assignmentSubmissionBody": "text"
}
]
},
"userSections": [
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"order": 1,
"evidences": [
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"userId": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"description": "text",
"order": 1,
"reflection": "text",
"links": [
"text"
],
"attachments": [
{
"url": "text",
"mimeType": "text",
"fileSize": 1,
"fileName": "text"
}
],
"tags": [
"text"
],
"createdAt": "2025-10-13T22:01:39.903Z",
"updatedAt": "2025-10-13T22:01:39.903Z",
"type": "project",
"canvasAssignmentId": 1,
"courseId": 1,
"courseName": "text",
"gradingType": "text",
"htmlUrl": "text",
"pointsPossible": 1,
"submissionTypes": [
"text"
],
"assignmentSubmissionBody": "text"
}
]
}
]
},
"tags": [
"text"
]
}
The title of the showcase portfolio.
A description for the showcase portfolio.
URL for the cover image of the portfolio.
https://example.com/images/portfolio-cover.jpg
The initial status of the showcase portfolio.
DRAFT
Possible values: Showcase Portfolio created successfully
Invalid request data
User is not authorized to create a portfolio
Internal server error
POST /v1/showcase-portfolios HTTP/1.1
Host:
Content-Type: application/json
Accept: */*
Content-Length: 900
{
"title": "text",
"description": "text",
"coverImageUrl": "https://example.com/images/portfolio-cover.jpg",
"status": "DRAFT",
"sections": {
"defaultSection": {
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"evidences": [
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"order": 1,
"description": "text",
"reflection": "text",
"type": "project",
"attachments": [
{
"url": "text",
"mimeType": "text",
"fileSize": 1,
"fileName": "text"
}
],
"links": [
"text"
],
"tags": [
"text"
],
"canvasAssignmentId": 1,
"courseId": 1
}
],
"order": 1
},
"userSections": [
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"evidences": [
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"order": 1,
"description": "text",
"reflection": "text",
"type": "project",
"attachments": [
{
"url": "text",
"mimeType": "text",
"fileSize": 1,
"fileName": "text"
}
],
"links": [
"text"
],
"tags": [
"text"
],
"canvasAssignmentId": 1,
"courseId": 1
}
],
"order": 1
}
]
}
}
{
"uuid": "text",
"title": "text",
"description": "text",
"coverImageUrl": "text",
"status": "DRAFT",
"sections": {
"defaultSection": {
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"order": 1,
"evidences": [
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"userId": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"description": "text",
"order": 1,
"reflection": "text",
"links": [
"text"
],
"attachments": [
{
"url": "text",
"mimeType": "text",
"fileSize": 1,
"fileName": "text"
}
],
"tags": [
"text"
],
"createdAt": "2025-10-13T22:01:39.903Z",
"updatedAt": "2025-10-13T22:01:39.903Z",
"type": "project",
"canvasAssignmentId": 1,
"courseId": 1,
"courseName": "text",
"gradingType": "text",
"htmlUrl": "text",
"pointsPossible": 1,
"submissionTypes": [
"text"
],
"assignmentSubmissionBody": "text"
}
]
},
"userSections": [
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"order": 1,
"evidences": [
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"userId": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"description": "text",
"order": 1,
"reflection": "text",
"links": [
"text"
],
"attachments": [
{
"url": "text",
"mimeType": "text",
"fileSize": 1,
"fileName": "text"
}
],
"tags": [
"text"
],
"createdAt": "2025-10-13T22:01:39.903Z",
"updatedAt": "2025-10-13T22:01:39.903Z",
"type": "project",
"canvasAssignmentId": 1,
"courseId": 1,
"courseName": "text",
"gradingType": "text",
"htmlUrl": "text",
"pointsPossible": 1,
"submissionTypes": [
"text"
],
"assignmentSubmissionBody": "text"
}
]
}
]
},
"tags": [
"text"
]
}
Showcase Portfolio UUID
Showcase Portfolio Section added successfully
Invalid request data
User is not authorized to add a Showcase Portfolio Section
Internal server error
POST /v1/showcase-portfolios/{showcasePortfolioId}/sections HTTP/1.1
Host:
Content-Type: application/json
Accept: */*
Content-Length: 39
{
"title": "text",
"evidenceIds": [
"text"
]
}
{
"defaultSection": {
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"order": 1,
"evidences": [
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"userId": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"description": "text",
"order": 1,
"reflection": "text",
"links": [
"text"
],
"attachments": [
{
"url": "text",
"mimeType": "text",
"fileSize": 1,
"fileName": "text"
}
],
"tags": [
"text"
],
"createdAt": "2025-10-13T22:01:39.903Z",
"updatedAt": "2025-10-13T22:01:39.903Z",
"type": "project",
"canvasAssignmentId": 1,
"courseId": 1,
"courseName": "text",
"gradingType": "text",
"htmlUrl": "text",
"pointsPossible": 1,
"submissionTypes": [
"text"
],
"assignmentSubmissionBody": "text"
}
]
},
"userSections": [
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"order": 1,
"evidences": [
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"userId": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"description": "text",
"order": 1,
"reflection": "text",
"links": [
"text"
],
"attachments": [
{
"url": "text",
"mimeType": "text",
"fileSize": 1,
"fileName": "text"
}
],
"tags": [
"text"
],
"createdAt": "2025-10-13T22:01:39.903Z",
"updatedAt": "2025-10-13T22:01:39.903Z",
"type": "project",
"canvasAssignmentId": 1,
"courseId": 1,
"courseName": "text",
"gradingType": "text",
"htmlUrl": "text",
"pointsPossible": 1,
"submissionTypes": [
"text"
],
"assignmentSubmissionBody": "text"
}
]
}
]
}
Showcase Portfolio UUID
Array of Canvas assignment IDs to add to the section
Assignment Submission added successfully
Invalid request data
User is not authorized to add an Assignment Submission
Internal server error
POST /v1/showcase-portfolios/{showcasePortfolioId}/assignment-submissions HTTP/1.1
Host:
Content-Type: application/json
Accept: */*
Content-Length: 21
{
"assignmentIds": [
1
]
}
{
"assignmentId": 1,
"assignmentName": "text",
"assignmentDescription": "text",
"courseId": 1,
"courseName": "text",
"htmlUrl": "text",
"submissionType": "text",
"submissionLink": "text",
"body": "text",
"pointsPossible": 1,
"gradingType": "text",
"score": 1,
"commentCount": 1,
"status": "unsubmitted",
"createdAt": "2025-10-13T22:01:39.903Z"
}
Creates a complete duplicate of an existing showcase portfolio, including all sections, evidence, and attachments. All S3 attachments are duplicated with new keys to ensure data isolation.
Showcase Portfolio UUID
Title for the duplicated portfolio. If not provided, will use Copy of original title
Description for the duplicated portfolio. If not provided, will use original description
Showcase Portfolio duplicated successfully
Invalid request data
User is not authorized to duplicate this portfolio
Original portfolio not found
Internal server error during duplication
POST /v1/showcase-portfolios/{showcasePortfolioId}/duplicate HTTP/1.1
Host:
Content-Type: application/json
Accept: */*
Content-Length: 37
{
"title": "text",
"description": "text"
}
{
"uuid": "text",
"title": "text",
"description": "text",
"coverImageUrl": "text",
"status": "DRAFT",
"sections": {
"defaultSection": {
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"order": 1,
"evidences": [
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"userId": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"description": "text",
"order": 1,
"reflection": "text",
"links": [
"text"
],
"attachments": [
{
"url": "text",
"mimeType": "text",
"fileSize": 1,
"fileName": "text"
}
],
"tags": [
"text"
],
"createdAt": "2025-10-13T22:01:39.903Z",
"updatedAt": "2025-10-13T22:01:39.903Z",
"type": "project",
"canvasAssignmentId": 1,
"courseId": 1,
"courseName": "text",
"gradingType": "text",
"htmlUrl": "text",
"pointsPossible": 1,
"submissionTypes": [
"text"
],
"assignmentSubmissionBody": "text"
}
]
},
"userSections": [
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"order": 1,
"evidences": [
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"userId": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"description": "text",
"order": 1,
"reflection": "text",
"links": [
"text"
],
"attachments": [
{
"url": "text",
"mimeType": "text",
"fileSize": 1,
"fileName": "text"
}
],
"tags": [
"text"
],
"createdAt": "2025-10-13T22:01:39.903Z",
"updatedAt": "2025-10-13T22:01:39.903Z",
"type": "project",
"canvasAssignmentId": 1,
"courseId": 1,
"courseName": "text",
"gradingType": "text",
"htmlUrl": "text",
"pointsPossible": 1,
"submissionTypes": [
"text"
],
"assignmentSubmissionBody": "text"
}
]
}
]
},
"tags": [
"text"
]
}
Showcase Portfolio UUID
The showcase portfolio has been successfully deleted.
No content
Bad Request.
Not authorized to make changes.
Showcase portfolio not found.
DELETE /v1/showcase-portfolios/{showcasePortfolioId} HTTP/1.1
Host:
Accept: */*
No content
Teacher Portfolio UUID
Teacher Portfolio retrieved successfully
GET /v1/teacher-portfolios/{uuid} HTTP/1.1
Host:
Accept: */*
Teacher Portfolio retrieved successfully
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"userId": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"description": "text",
"coverImageUrl": "text",
"courseIds": [
1
],
"skills": [
{
"name": "text",
"status": "not_completed",
"mentionCount": 1
}
],
"sections": {
"defaultSection": {
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"requirements": [
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"userId": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"description": "text",
"reflectionQuestions": [
"text"
],
"order": 1,
"createdAt": "2025-10-13T22:01:39.903Z",
"updatedAt": "2025-10-13T22:01:39.903Z",
"skills": [
{
"name": "text",
"status": "not_completed",
"mentionCount": 1
}
],
"type": "project",
"canvasAssignmentId": 1,
"courseId": 1,
"courseName": "text",
"gradingType": "text",
"htmlUrl": "text",
"pointsPossible": 1,
"submissionTypes": [
"text"
]
}
],
"order": 1
},
"userSections": [
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"requirements": [
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"userId": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"description": "text",
"reflectionQuestions": [
"text"
],
"order": 1,
"createdAt": "2025-10-13T22:01:39.903Z",
"updatedAt": "2025-10-13T22:01:39.903Z",
"skills": [
{
"name": "text",
"status": "not_completed",
"mentionCount": 1
}
],
"type": "project",
"canvasAssignmentId": 1,
"courseId": 1,
"courseName": "text",
"gradingType": "text",
"htmlUrl": "text",
"pointsPossible": 1,
"submissionTypes": [
"text"
]
}
],
"order": 1
}
]
},
"teacherPortfolioState": "draft"
}
Teacher Portfolio UUID
The teacher portfolio has been successfully updated.
Bad Request.
Not authorized to make changes.
Teacher portfolio not found.
PATCH /v1/teacher-portfolios/{uuid} HTTP/1.1
Host:
Content-Type: application/json
Accept: */*
Content-Length: 1077
{
"title": "text",
"description": "text",
"coverImageUrl": "text",
"courseIds": [
1
],
"teacherPortfolioState": "draft",
"sections": {
"defaultSection": {
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"requirements": [
{
"uuid": "text",
"userId": "text",
"title": "text",
"description": "text",
"reflectionQuestions": [
"text"
],
"order": 1,
"createdAt": "2025-10-13T22:01:39.903Z",
"updatedAt": "2025-10-13T22:01:39.903Z",
"skills": [
{
"name": "text"
}
],
"type": "project",
"canvasAssignmentId": 1,
"courseId": 1,
"courseName": "text",
"gradingType": "text",
"htmlUrl": "text",
"pointsPossible": 1,
"submissionTypes": [
"text"
]
}
],
"order": 1
},
"userSections": [
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"requirements": [
{
"uuid": "text",
"userId": "text",
"title": "text",
"description": "text",
"reflectionQuestions": [
"text"
],
"order": 1,
"createdAt": "2025-10-13T22:01:39.903Z",
"updatedAt": "2025-10-13T22:01:39.903Z",
"skills": [
{
"name": "text"
}
],
"type": "project",
"canvasAssignmentId": 1,
"courseId": 1,
"courseName": "text",
"gradingType": "text",
"htmlUrl": "text",
"pointsPossible": 1,
"submissionTypes": [
"text"
]
}
],
"order": 1
}
]
}
}
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"userId": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"description": "text",
"coverImageUrl": "text",
"courseIds": [
1
],
"skills": [
{
"name": "text",
"status": "not_completed",
"mentionCount": 1
}
],
"sections": {
"defaultSection": {
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"requirements": [
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"userId": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"description": "text",
"reflectionQuestions": [
"text"
],
"order": 1,
"createdAt": "2025-10-13T22:01:39.903Z",
"updatedAt": "2025-10-13T22:01:39.903Z",
"skills": [
{
"name": "text",
"status": "not_completed",
"mentionCount": 1
}
],
"type": "project",
"canvasAssignmentId": 1,
"courseId": 1,
"courseName": "text",
"gradingType": "text",
"htmlUrl": "text",
"pointsPossible": 1,
"submissionTypes": [
"text"
]
}
],
"order": 1
},
"userSections": [
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"requirements": [
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"userId": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"description": "text",
"reflectionQuestions": [
"text"
],
"order": 1,
"createdAt": "2025-10-13T22:01:39.903Z",
"updatedAt": "2025-10-13T22:01:39.903Z",
"skills": [
{
"name": "text",
"status": "not_completed",
"mentionCount": 1
}
],
"type": "project",
"canvasAssignmentId": 1,
"courseId": 1,
"courseName": "text",
"gradingType": "text",
"htmlUrl": "text",
"pointsPossible": 1,
"submissionTypes": [
"text"
]
}
],
"order": 1
}
]
},
"teacherPortfolioState": "draft"
}
Teacher Portfolio UUID
The teacher portfolio has been successfully deleted.
No content
Bad Request.
Not authorized to make changes.
Teacher portfolio not found.
DELETE /v1/teacher-portfolios/{uuid} HTTP/1.1
Host:
Accept: */*
No content
Page number (must be greater than 0)
1
Number of items per page (must be between 1 and 100)
20
The teacher portfolios are successfully retrieved.
Bad request
Not authorized to retrieve these portfolios.
GET /v1/teacher-portfolios HTTP/1.1
Host:
Accept: */*
[
{
"itemType": "student_portfolio",
"teacherPortfolio": {
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"teacherPortfolioState": "draft",
"attachedCoursesCounter": 1,
"learnerCounter": 1,
"learnerGroupCounter": 1,
"startedCounter": 1,
"completedCounter": 1,
"pendingReviewCounter": 1,
"createdAt": "2025-10-13T22:01:39.903Z",
"updatedAt": "2025-10-13T22:01:39.903Z",
"coverImageUrl": "text"
},
"studentPortfolio": {
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"status": "not_started",
"coverImageUrl": "text",
"numberOfTotalRequirements": 1,
"numberOfFailedEvidences": 1,
"numberOfPendingEvidences": 1,
"numberOfSubmittedEvidences": 1,
"numberOfUnSubmittedEvidences": 1,
"numberOfCompletedEvidences": 1,
"createdAt": "2025-10-13T22:01:39.903Z",
"updatedAt": "2025-10-13T22:01:39.903Z"
},
"showcasePortfolio": {
"uuid": "text",
"title": "text",
"coverImageUrl": "text",
"status": "DRAFT",
"numberOfEvidences": 1,
"createdAt": "2025-10-13T22:01:39.903Z",
"updatedAt": "2025-10-13T22:01:39.903Z"
}
}
]
The title of the teacher portfolio
The description of the teacher portfolio
Array of course IDs associated with the teacher portfolio
The state of the teacher portfolio
The teacher portfolio has been successfully created.
Bad Request.
Not authorized to create a teacher portfolio.
POST /v1/teacher-portfolios HTTP/1.1
Host:
Content-Type: application/json
Accept: */*
Content-Length: 1205
{
"title": "text",
"description": "text",
"coverImageUrl": "text",
"courseIds": [
1
],
"teacherPortfolioState": "draft",
"sections": {
"defaultSection": {
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"requirements": [
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"userId": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"description": "text",
"reflectionQuestions": [
"text"
],
"order": 1,
"createdAt": "2025-10-13T22:01:39.903Z",
"updatedAt": "2025-10-13T22:01:39.903Z",
"skills": [
{
"name": "text"
}
],
"type": "project",
"canvasAssignmentId": 1,
"courseId": 1,
"courseName": "text",
"gradingType": "text",
"htmlUrl": "text",
"pointsPossible": 1,
"submissionTypes": [
"text"
]
}
],
"order": 1
},
"userSections": [
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"requirements": [
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"userId": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"description": "text",
"reflectionQuestions": [
"text"
],
"order": 1,
"createdAt": "2025-10-13T22:01:39.903Z",
"updatedAt": "2025-10-13T22:01:39.903Z",
"skills": [
{
"name": "text"
}
],
"type": "project",
"canvasAssignmentId": 1,
"courseId": 1,
"courseName": "text",
"gradingType": "text",
"htmlUrl": "text",
"pointsPossible": 1,
"submissionTypes": [
"text"
]
}
],
"order": 1
}
]
}
}
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"userId": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"description": "text",
"coverImageUrl": "text",
"courseIds": [
1
],
"skills": [
{
"name": "text",
"status": "not_completed",
"mentionCount": 1
}
],
"sections": {
"defaultSection": {
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"requirements": [
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"userId": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"description": "text",
"reflectionQuestions": [
"text"
],
"order": 1,
"createdAt": "2025-10-13T22:01:39.903Z",
"updatedAt": "2025-10-13T22:01:39.903Z",
"skills": [
{
"name": "text",
"status": "not_completed",
"mentionCount": 1
}
],
"type": "project",
"canvasAssignmentId": 1,
"courseId": 1,
"courseName": "text",
"gradingType": "text",
"htmlUrl": "text",
"pointsPossible": 1,
"submissionTypes": [
"text"
]
}
],
"order": 1
},
"userSections": [
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"requirements": [
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"userId": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"description": "text",
"reflectionQuestions": [
"text"
],
"order": 1,
"createdAt": "2025-10-13T22:01:39.903Z",
"updatedAt": "2025-10-13T22:01:39.903Z",
"skills": [
{
"name": "text",
"status": "not_completed",
"mentionCount": 1
}
],
"type": "project",
"canvasAssignmentId": 1,
"courseId": 1,
"courseName": "text",
"gradingType": "text",
"htmlUrl": "text",
"pointsPossible": 1,
"submissionTypes": [
"text"
]
}
],
"order": 1
}
]
},
"teacherPortfolioState": "draft"
}
Teacher Portfolio UUID
Page number (must be greater than 0)
1
Number of items per page (must be between 1 and 100)
20
The courses are successfully retrieved.
Bad request
Not authorized to retrieve these courses.
GET /v1/teacher-portfolios/{uuid}/courses HTTP/1.1
Host:
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
{
"id": 1,
"courseCode": "text",
"name": "text",
"assignmentCount": 1,
"membersCount": 1,
"learnerGroupCount": 1,
"termName": "text",
"url": "text"
}
]
Teacher Portfolio UUID
Page number (must be greater than 0)
1
Number of items per page (must be between 1 and 100)
20
The courses are successfully updated.
Bad request
Not authorized to manage courses.
PATCH /v1/teacher-portfolios/{uuid}/courses HTTP/1.1
Host:
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 1077
{
"title": "text",
"description": "text",
"coverImageUrl": "text",
"courseIds": [
1
],
"teacherPortfolioState": "draft",
"sections": {
"defaultSection": {
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"requirements": [
{
"uuid": "text",
"userId": "text",
"title": "text",
"description": "text",
"reflectionQuestions": [
"text"
],
"order": 1,
"createdAt": "2025-10-13T22:01:39.903Z",
"updatedAt": "2025-10-13T22:01:39.903Z",
"skills": [
{
"name": "text"
}
],
"type": "project",
"canvasAssignmentId": 1,
"courseId": 1,
"courseName": "text",
"gradingType": "text",
"htmlUrl": "text",
"pointsPossible": 1,
"submissionTypes": [
"text"
]
}
],
"order": 1
},
"userSections": [
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"requirements": [
{
"uuid": "text",
"userId": "text",
"title": "text",
"description": "text",
"reflectionQuestions": [
"text"
],
"order": 1,
"createdAt": "2025-10-13T22:01:39.903Z",
"updatedAt": "2025-10-13T22:01:39.903Z",
"skills": [
{
"name": "text"
}
],
"type": "project",
"canvasAssignmentId": 1,
"courseId": 1,
"courseName": "text",
"gradingType": "text",
"htmlUrl": "text",
"pointsPossible": 1,
"submissionTypes": [
"text"
]
}
],
"order": 1
}
]
}
}
[
{
"id": 1,
"courseCode": "text",
"name": "text",
"assignmentCount": 1,
"membersCount": 1,
"learnerGroupCount": 1,
"termName": "text",
"url": "text"
}
]
Teacher Portfolio UUID
Page number (must be greater than 0)
1
Number of items per page (must be between 1 and 100)
20
Sort by field (studentName, pendingEvidenceCount, status)
Sort order
Search query
Students retrieved successfully
Bad request
Unauthorized
GET /v1/teacher-portfolios/{uuid}/student-portfolios/summary HTTP/1.1
Host:
Accept: */*
{
"data": [
{
"studentPortfolioId": "123e4567-e89b-12d3-a456-426614174000",
"studentName": "text",
"studentAvatar": "text",
"pendingEvidenceCount": 1,
"status": "not_started"
}
],
"meta": {
"total": 1,
"page": 1,
"lastPage": 1,
"hasNextPage": true,
"hasPreviousPage": true
}
}
Teacher Portfolio UUID
Page number (must be greater than 0)
1
Number of items per page (must be between 1 and 100)
20
The assignments are successfully retrieved.
Bad request
Not authorized to retrieve these assignments.
GET /v1/teacher-portfolios/{uuid}/courses/assignments HTTP/1.1
Host:
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
{
"id": 1,
"userId": "text",
"name": "text",
"courseName": "text",
"description": "text",
"courseId": 1,
"gradingType": "text",
"htmlUrl": "text",
"createdAt": "2025-10-13T22:01:39.903Z",
"pointsPossible": 1,
"submissionTypes": [
"text"
]
}
]
GET /v1/current-user HTTP/1.1
Host:
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"uuid": "text",
"canvasClientId": "text",
"personalIdentifiers": [
"text"
],
"roles": [
"student"
],
"canvasUserId": 1,
"avatarUrl": "text",
"name": "text",
"canvasAccountId": 1
}
Retrieve a list of active courses for the user.
Page number (must be greater than 0)
1
Number of items per page (must be between 1 and 100)
20
The courses are successfully retrieved.
GET /v1/canvas/courses HTTP/1.1
Host:
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
The courses are successfully retrieved.
[
{
"id": 1,
"courseCode": "text",
"name": "text",
"assignmentCount": 1,
"membersCount": 1,
"learnerGroupCount": 1,
"termName": "text",
"url": "text"
}
]
Get graded submissions for the authenticated user. Note: This endpoint returns submissions for all courses the user is enrolled in.
Page number (must be greater than 0)
1
Number of items per page (must be between 1 and 100)
20
GET /v1/canvas/submissions?courseId=1 HTTP/1.1
Host:
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
{
"id": 1,
"assignmentId": 1,
"assignment": {
"id": 1,
"userId": "text",
"name": "text",
"courseName": "text",
"description": "text",
"courseId": 1,
"gradingType": "text",
"htmlUrl": "text",
"createdAt": "2025-10-13T22:01:39.903Z",
"pointsPossible": 1,
"submissionTypes": [
"text"
]
},
"course": {
"id": 1,
"uuid": "text",
"rootAccountId": 1,
"accountId": 1,
"name": "text",
"membersCount": 1,
"createdAt": "2025-10-13T22:01:39.903Z",
"courseCode": "text",
"startAt": "2025-10-13T22:01:39.903Z",
"endAt": "2025-10-13T22:01:39.903Z",
"termName": "text"
},
"grade": "text",
"gradedAt": "2025-10-13T22:01:39.903Z",
"score": 1,
"htmlUrl": "text",
"submissionType": "text",
"body": "text",
"url": "text"
}
]
GET /v1/canvas/courses/{courseId}/students/{studentId}/assignments/{assignmentId}/submissions HTTP/1.1
Host:
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"assignmentId": 1,
"assignmentName": "text",
"assignmentDescription": "text",
"courseId": 1,
"courseName": "text",
"htmlUrl": "text",
"submissionType": "text",
"submissionLink": "text",
"body": "text",
"pointsPossible": 1,
"gradingType": "text",
"score": 1,
"commentCount": 1,
"status": "unsubmitted",
"createdAt": "2025-10-13T22:01:39.903Z"
}
GET /v1/canvas/users/{canvasUserId}/submissions HTTP/1.1
Host:
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
{
"assignmentId": 1,
"assignmentName": "text",
"assignmentDescription": "text",
"courseId": 1,
"courseName": "text",
"htmlUrl": "text",
"submissionType": "text",
"submissionLink": "text",
"body": "text",
"pointsPossible": 1,
"gradingType": "text",
"score": 1,
"commentCount": 1,
"status": "unsubmitted",
"createdAt": "2025-10-13T22:01:39.903Z"
}
]
Retrieve a list of Canvas groups for the user.
Page number (must be greater than 0)
1
Number of items per page (must be between 1 and 100)
20
GET /v1/canvas/groups HTTP/1.1
Host:
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
{
"id": 201,
"name": "Project Team Alpha",
"description": "Team responsible for module 1.",
"membersCount": 5,
"contextType": "Course",
"courseId": 101
}
]
Page number (must be greater than 0)
1
Number of items per page (must be between 1 and 100)
20
GET /v1/canvas/groups/{id}/users HTTP/1.1
Host:
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
{
"canvasUserId": 1,
"name": "text",
"sortableName": "text",
"email": "text",
"avatarUrl": "text"
}
]
Page number (must be greater than 0)
1
Number of items per page (must be between 1 and 100)
20
GET /v1/canvas/courses/{id}/users HTTP/1.1
Host:
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
{
"canvasUserId": 1,
"name": "text",
"sortableName": "text",
"email": "text",
"avatarUrl": "text"
}
]
Page number (must be greater than 0)
1
Number of items per page (must be between 1 and 100)
20
Canvas user ids of student teammates
GET /v1/canvas/teammates?teammateCanvasIds=1 HTTP/1.1
Host:
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
{
"canvasUserId": 1,
"name": "text",
"email": "text",
"avatarUrl": "text"
}
]
Page number (must be greater than 0)
1
Number of items per page (must be between 1 and 100)
20
GET /v1/canvas/courses/{id}/groups HTTP/1.1
Host:
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
{
"id": 201,
"name": "Project Team Alpha",
"description": "Team responsible for module 1.",
"membersCount": 5,
"contextType": "Course",
"courseId": 101
}
]
Page number (must be greater than 0)
1
Number of items per page (must be between 1 and 100)
20
GET /v1/canvas/courses/{id}/assignments HTTP/1.1
Host:
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
{
"id": 1,
"userId": "text",
"name": "text",
"courseName": "text",
"description": "text",
"courseId": 1,
"gradingType": "text",
"htmlUrl": "text",
"createdAt": "2025-10-13T22:01:39.903Z",
"pointsPossible": 1,
"submissionTypes": [
"text"
]
}
]
Page number (must be greater than 0)
1
Number of items per page (must be between 1 and 100)
20
GET /v1/canvas/courses/{courseId}/{assignmentId} HTTP/1.1
Host:
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
{
"id": 1,
"userId": "text",
"name": "text",
"courseName": "text",
"description": "text",
"courseId": 1,
"gradingType": "text",
"htmlUrl": "text",
"createdAt": "2025-10-13T22:01:39.903Z",
"pointsPossible": 1,
"submissionTypes": [
"text"
]
}
]
List of available badges retrieved successfully
Not authorized to access badges.
Issuer not found.
GET /v1/credentials/badges HTTP/1.1
Host:
Accept: */*
[
{
"entityId": "SXcRrAd8QCWrmhRC9BODVA",
"name": "Intro",
"image": "https://api.test.badgr.com/public/badges/SXcRrAd8QCWrmhRC9BODVA/image",
"skills": [
{
"name": "Tea Programming"
},
{
"name": "A/B testing"
}
]
}
]
The file has been successfully uploaded.
Bad Request.
Not authorized to upload a file.
Rate limit exceeded.
POST /v1/files/private HTTP/1.1
Host:
Content-Type: multipart/form-data
Accept: */*
Content-Length: 17
{
"file": "binary"
}
{
"key": "text",
"mimetype": "text",
"size": 1,
"originalname": "text"
}
The key of the file in S3
Returns a signed URL for the file.
Bad Request.
Not authorized to access this file.
File not found.
GET /v1/files/private?key=text HTTP/1.1
Host:
Accept: */*
{
"key": "text"
}
The file has been successfully uploaded.
Bad Request.
Not authorized to upload a file.
Rate limit exceeded.
POST /v1/files/public HTTP/1.1
Host:
Content-Type: multipart/form-data
Accept: */*
Content-Length: 17
{
"file": "binary"
}
{
"url": "text",
"mimeType": "text",
"fileSize": 1,
"fileName": "text"
}
Retrieve a list of all portfolio previews (Teacher Portfolio, Student Portfolio, Showcase Portfolio)
The portfolios are successfully retrieved.
Bad request
Not authorized to retrieve these portfolios.
GET /v1/portfolio-dashboard HTTP/1.1
Host:
Accept: */*
[
{
"itemType": "student_portfolio",
"teacherPortfolio": {
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"teacherPortfolioState": "draft",
"attachedCoursesCounter": 1,
"learnerCounter": 1,
"learnerGroupCounter": 1,
"startedCounter": 1,
"completedCounter": 1,
"pendingReviewCounter": 1,
"createdAt": "2025-10-13T22:01:39.903Z",
"updatedAt": "2025-10-13T22:01:39.903Z",
"coverImageUrl": "text"
},
"studentPortfolio": {
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"status": "not_started",
"coverImageUrl": "text",
"numberOfTotalRequirements": 1,
"numberOfFailedEvidences": 1,
"numberOfPendingEvidences": 1,
"numberOfSubmittedEvidences": 1,
"numberOfUnSubmittedEvidences": 1,
"numberOfCompletedEvidences": 1,
"createdAt": "2025-10-13T22:01:39.903Z",
"updatedAt": "2025-10-13T22:01:39.903Z"
},
"showcasePortfolio": {
"uuid": "text",
"title": "text",
"coverImageUrl": "text",
"status": "DRAFT",
"numberOfEvidences": 1,
"createdAt": "2025-10-13T22:01:39.903Z",
"updatedAt": "2025-10-13T22:01:39.903Z"
}
}
]
The visibility setting for the shareable link.
VISIBLE_WITH_LINK
Possible values: The unique identifier (UUID) of the Showcase Portfolio to be shared.
a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11
The unique identifier (UUID) of the Student Portfolio to be shared.
a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11
The unique identifier (UUID) of the Showcase Evidence to be shared.
a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11
The unique identifier (UUID) of the Student Evidence to be shared.
a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11
The type setting for the shareable resource.
Successfully created or retrieved the shareable link.
Forbidden.
Resource not found.
POST /v1/share-links HTTP/1.1
Host:
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 310
{
"visibility": "VISIBLE_WITH_LINK",
"showcasePortfolioUuid": "a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11",
"studentPortfolioUuid": "a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11",
"showcaseEvidenceUuid": "a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11",
"studentEvidenceUuid": "a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11",
"type": "SHOWCASE_PORTFOLIO"
}
{
"userId": "123e4567-e89b-12d3-a456-426614174000",
"visibility": "VISIBLE_WITH_LINK",
"shareLink": "text",
"showcasePortfolioUuid": "text",
"studentPortfolioUuid": "text",
"showcaseEvidenceUuid": "text",
"studentEvidenceUuid": "text"
}
The unique identifier (UUID) of the resource.
The type of the resource.
No share link found for the specified resource.
GET /v1/share-links?resourceId=123e4567-e89b-12d3-a456-426614174000&resourceType=SHOWCASE_PORTFOLIO HTTP/1.1
Host:
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"userId": "123e4567-e89b-12d3-a456-426614174000",
"visibility": "VISIBLE_WITH_LINK",
"shareLink": "text",
"showcasePortfolioUuid": "text",
"studentPortfolioUuid": "text",
"showcaseEvidenceUuid": "text",
"studentEvidenceUuid": "text"
}
The unique identifier (UUID) of the resource.
The type of the resource.
All shared links for the specified resource have been successfully deleted.
No content
No shared links found for the specified resource, or resource does not exist.
DELETE /v1/share-links?resourceId=123e4567-e89b-12d3-a456-426614174000&resourceType=SHOWCASE_PORTFOLIO HTTP/1.1
Host:
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Allows external users to view a read-only version of a shared resource without authentication.
The unique token of the shareable link.
a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6
Successfully retrieved the shared resource.
This link is malformed or points to an unsupported resource type.
This link is invalid or the content is no longer available.
GET /v1/share-links/{linkToken}/shared-resource HTTP/1.1
Host:
Accept: */*
{
"showcasePortfolio": {
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"authorName": "text",
"description": "text",
"coverImageUrl": "text",
"status": "DRAFT",
"sections": {
"defaultSection": {
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"order": 1,
"evidences": [
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"userId": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"description": "text",
"order": 1,
"reflection": "text",
"links": [
"text"
],
"attachments": [
{
"url": "text",
"mimeType": "text",
"fileSize": 1,
"fileName": "text"
}
],
"tags": [
"text"
],
"createdAt": "2025-10-13T22:01:39.903Z",
"updatedAt": "2025-10-13T22:01:39.903Z",
"type": "project",
"canvasAssignmentId": 1,
"courseId": 1,
"courseName": "text",
"gradingType": "text",
"htmlUrl": "text",
"pointsPossible": 1,
"submissionTypes": [
"text"
],
"assignmentSubmissionBody": "text"
}
]
},
"userSections": [
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"order": 1,
"evidences": [
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"userId": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"description": "text",
"order": 1,
"reflection": "text",
"links": [
"text"
],
"attachments": [
{
"url": "text",
"mimeType": "text",
"fileSize": 1,
"fileName": "text"
}
],
"tags": [
"text"
],
"createdAt": "2025-10-13T22:01:39.903Z",
"updatedAt": "2025-10-13T22:01:39.903Z",
"type": "project",
"canvasAssignmentId": 1,
"courseId": 1,
"courseName": "text",
"gradingType": "text",
"htmlUrl": "text",
"pointsPossible": 1,
"submissionTypes": [
"text"
],
"assignmentSubmissionBody": "text"
}
]
}
]
},
"tags": [
"text"
],
"assignmentSubmissionsCount": 1,
"createdAt": "2025-10-13T22:01:39.903Z",
"updatedAt": "2025-10-13T22:01:39.903Z"
},
"showcaseEvidence": {
"uuid": "text",
"title": "text",
"description": "text",
"reflection": "text",
"links": [
"text"
],
"attachments": [
{
"url": "text",
"mimeType": "text",
"fileSize": 1,
"fileName": "text"
}
],
"tags": [
"text"
],
"type": "project",
"createdAt": "2025-10-13T22:01:39.903Z",
"updatedAt": "2025-10-13T22:01:39.903Z",
"showcasePortfolioTitle": "text"
},
"studentPortfolio": {
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"canvasStudentId": 1,
"authorName": "text",
"teacherPortfolioTitle": "text",
"teacherPortfolioDescription": "text",
"coverImageUrl": "text",
"courseIds": [
1
],
"sections": {
"defaultSection": {
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"requirements": [
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"userId": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"description": "text",
"reflectionQuestions": [
"text"
],
"order": 1,
"createdAt": "2025-10-13T22:01:39.903Z",
"updatedAt": "2025-10-13T22:01:39.903Z",
"skills": [
{
"name": "text",
"status": "not_completed",
"mentionCount": 1
}
],
"type": "project",
"canvasAssignmentId": 1,
"courseId": 1,
"courseName": "text",
"gradingType": "text",
"htmlUrl": "text",
"pointsPossible": 1,
"submissionTypes": [
"text"
]
}
],
"order": 1
},
"userSections": [
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"requirements": [
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"userId": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"description": "text",
"reflectionQuestions": [
"text"
],
"order": 1,
"createdAt": "2025-10-13T22:01:39.903Z",
"updatedAt": "2025-10-13T22:01:39.903Z",
"skills": [
{
"name": "text",
"status": "not_completed",
"mentionCount": 1
}
],
"type": "project",
"canvasAssignmentId": 1,
"courseId": 1,
"courseName": "text",
"gradingType": "text",
"htmlUrl": "text",
"pointsPossible": 1,
"submissionTypes": [
"text"
]
}
],
"order": 1
}
]
},
"status": "not_started",
"evidences": [
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"requirementId": "123e4567-e89b-12d3-a456-426614174000",
"status": "not_submitted",
"title": "text",
"description": "text",
"reflection": "text",
"links": [
"text"
],
"attachments": [
{
"url": "text",
"mimeType": "text",
"fileSize": 1,
"fileName": "text"
}
],
"skills": [
{
"name": "text",
"status": "not_completed",
"mentionCount": 1
}
],
"type": "project",
"createdAt": "2025-10-13T22:01:39.903Z",
"updatedAt": "2025-10-13T22:01:39.903Z",
"teacherPortfolioTitle": "text"
}
],
"assignmentSubmissions": 1,
"createdAt": "2025-10-13T22:01:39.903Z",
"updatedAt": "2025-10-13T22:01:39.903Z",
"skills": [
{
"name": "text",
"status": "not_completed",
"mentionCount": 1
}
]
},
"studentPortfolioEvidence": {
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"requirementId": "123e4567-e89b-12d3-a456-426614174000",
"status": "not_submitted",
"title": "text",
"description": "text",
"reflection": "text",
"links": [
"text"
],
"attachments": [
{
"url": "text",
"mimeType": "text",
"fileSize": 1,
"fileName": "text"
}
],
"skills": [
{
"name": "text",
"status": "not_completed",
"mentionCount": 1
}
],
"type": "project",
"createdAt": "2025-10-13T22:01:39.903Z",
"updatedAt": "2025-10-13T22:01:39.903Z",
"teacherPortfolioTitle": "text"
},
"type": "SHOWCASE_PORTFOLIO"
}
UUID of the student portfolio to export
PDF file generated by the frontend
ZIP file containing student portfolio HTML, PDF, and media files
POST /v1/export/studentPortfolio/{studentPortfolioId}/zip HTTP/1.1
Host:
Content-Type: multipart/form-data
Accept: */*
Content-Length: 16
{
"pdf": "binary"
}
ZIP file containing student portfolio HTML, PDF, and media files
binary
UUID of the showcase portfolio to export
PDF file generated by the frontend
ZIP file containing showcase portfolio HTML, PDF, and media files
POST /v1/export/showcasePortfolio/{showcasePortfolioId}/zip HTTP/1.1
Host:
Content-Type: multipart/form-data
Accept: */*
Content-Length: 16
{
"pdf": "binary"
}
ZIP file containing showcase portfolio HTML, PDF, and media files
binary
The content to be improved (max 5000 characters). Supports both HTML and plain text input.
<h3>Engineering Evidence: Prove Your Work</h3><p>In engineering, opinions don't count—only proof does...</p>
Instructions improved successfully
Invalid request
Unauthorized
Feature not enabled
Not Found
POST /v1/cedar/improve-portfolio-instructions HTTP/1.1
Host:
Content-Type: application/json
Accept: */*
Content-Length: 124
{
"content": "<h3>Engineering Evidence: Prove Your Work</h3><p>In engineering, opinions don't count—only proof does...</p>"
}
{
"instructions": "<div id=\"model-response-message-contentr_4971adac5bc2fd65\" class=\"markdown markdown-main-panel enable-updated-hr-color\" dir=\"ltr\"><h3>Improved Engineering Evidence: Prove Your Work</h3><p>This improved content provides clear, actionable guidance...</p></div>"
}
The content to be improved (max 5000 characters). Supports both HTML and plain text input.
<h3>Engineering Evidence: Prove Your Work</h3><p>In engineering, opinions don't count—only proof does...</p>
Instructions improved successfully
Invalid request
Unauthorized
Feature not enabled
Not Found
POST /v1/cedar/improve-evidence-instructions HTTP/1.1
Host:
Content-Type: application/json
Accept: */*
Content-Length: 124
{
"content": "<h3>Engineering Evidence: Prove Your Work</h3><p>In engineering, opinions don't count—only proof does...</p>"
}
{
"instructions": "<div id=\"model-response-message-contentr_4971adac5bc2fd65\" class=\"markdown markdown-main-panel enable-updated-hr-color\" dir=\"ltr\"><h3>Improved Engineering Evidence: Prove Your Work</h3><p>This improved content provides clear, actionable guidance...</p></div>"
}
The content to be used for question generation (max 5000 characters). Supports both HTML and plain text input.
<h3>Engineering Evidence: Prove Your Work</h3><p>In engineering, opinions don't count—only proof does...</p>
Reflection questions generated successfully
Invalid request
Unauthorized
Feature not enabled
Not Found
POST /v1/cedar/generate-reflection-questions HTTP/1.1
Host:
Content-Type: application/json
Accept: */*
Content-Length: 124
{
"content": "<h3>Engineering Evidence: Prove Your Work</h3><p>In engineering, opinions don't count—only proof does...</p>"
}
{
"reflectionQuestions": [
"What are the key challenges you faced during this project?",
"How did you overcome obstacles to achieve your goals?",
"What lessons did you learn that can be applied to future projects?"
]
}
The instruction content to analyze for skill extraction (max 5000 characters). Supports both HTML and plain text input.
<h3>Web Development Project</h3><p>Students will build a full-stack web application using React, Node.js, and MongoDB. This project involves creating RESTful APIs, implementing user authentication, and deploying to the cloud.</p>
Skills extracted successfully
Invalid request
Unauthorized
Feature not enabled
Not Found
POST /v1/cedar/extract-skills HTTP/1.1
Host:
Content-Type: application/json
Accept: */*
Content-Length: 243
{
"content": "<h3>Web Development Project</h3><p>Students will build a full-stack web application using React, Node.js, and MongoDB. This project involves creating RESTful APIs, implementing user authentication, and deploying to the cloud.</p>"
}
{
"skills": [
"React Development",
"Node.js Backend Programming",
"MongoDB Database Management",
"REST API Development",
"User Authentication Implementation",
"Cloud Deployment",
"Full-Stack Web Development"
]
}
Last updated
Was this helpful?