Showcase Portfolio

Partially update a showcase portfolio

patch
Authorizations
Path parameters
uuidstring · uuidRequired

Showcase Portfolio UUID

Body
titlestringOptional

The new title for the showcase portfolio.

descriptionstringOptional

The new description for the showcase portfolio.

coverImageUrlstringOptional

New URL for the cover image. Send an empty string or null to remove the existing image.

statusstring · enumOptional

The new status for the showcase portfolio.

Possible values:
sectionsall ofOptional

The sections and their evidences for the showcase portfolio.

Responses
200

The showcase portfolio has been successfully updated.

application/json
patch
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-13T20:19:40.711Z",
          "updatedAt": "2025-10-13T20:19:40.711Z",
          "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-13T20:19:40.711Z",
            "updatedAt": "2025-10-13T20:19:40.711Z",
            "type": "project",
            "canvasAssignmentId": 1,
            "courseId": 1,
            "courseName": "text",
            "gradingType": "text",
            "htmlUrl": "text",
            "pointsPossible": 1,
            "submissionTypes": [
              "text"
            ],
            "assignmentSubmissionBody": "text"
          }
        ]
      }
    ]
  },
  "tags": [
    "text"
  ]
}

Get Showcase Portfolio

get
Path parameters
portfolioIdstringRequired

Showcase Portfolio UUID

Responses
200

Showcase Portfolio retrieved successfully

application/json
get
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-13T20:19:40.711Z",
          "updatedAt": "2025-10-13T20:19:40.711Z",
          "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-13T20:19:40.711Z",
            "updatedAt": "2025-10-13T20:19:40.711Z",
            "type": "project",
            "canvasAssignmentId": 1,
            "courseId": 1,
            "courseName": "text",
            "gradingType": "text",
            "htmlUrl": "text",
            "pointsPossible": 1,
            "submissionTypes": [
              "text"
            ],
            "assignmentSubmissionBody": "text"
          }
        ]
      }
    ]
  },
  "tags": [
    "text"
  ]
}

Create showcase portfolio

post
Body
titlestringOptional

The title of the showcase portfolio.

descriptionstringOptional

A description for the showcase portfolio.

coverImageUrlstringOptional

URL for the cover image of the portfolio.

Example: https://example.com/images/portfolio-cover.jpg
statusstring · enumOptional

The initial status of the showcase portfolio.

Default: DRAFTPossible values:
Responses
201

Showcase Portfolio created successfully

application/json
post
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-13T20:19:40.711Z",
          "updatedAt": "2025-10-13T20:19:40.711Z",
          "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-13T20:19:40.711Z",
            "updatedAt": "2025-10-13T20:19:40.711Z",
            "type": "project",
            "canvasAssignmentId": 1,
            "courseId": 1,
            "courseName": "text",
            "gradingType": "text",
            "htmlUrl": "text",
            "pointsPossible": 1,
            "submissionTypes": [
              "text"
            ],
            "assignmentSubmissionBody": "text"
          }
        ]
      }
    ]
  },
  "tags": [
    "text"
  ]
}

Create Showcase Portfolio Section

post
Path parameters
showcasePortfolioIdstringRequired

Showcase Portfolio UUID

Body
titlestringRequired
evidenceIdsstring[]Required
Responses
201

Showcase Portfolio Section added successfully

application/json
post
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-13T20:19:40.711Z",
        "updatedAt": "2025-10-13T20:19:40.711Z",
        "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-13T20:19:40.711Z",
          "updatedAt": "2025-10-13T20:19:40.711Z",
          "type": "project",
          "canvasAssignmentId": 1,
          "courseId": 1,
          "courseName": "text",
          "gradingType": "text",
          "htmlUrl": "text",
          "pointsPossible": 1,
          "submissionTypes": [
            "text"
          ],
          "assignmentSubmissionBody": "text"
        }
      ]
    }
  ]
}

Add Assignment Submission

post
Path parameters
showcasePortfolioIdstringRequired

Showcase Portfolio UUID

Body
assignmentIdsnumber[]Required

Array of Canvas assignment IDs to add to the section

Responses
201

Assignment Submission added successfully

application/json
post
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-13T20:19:40.711Z"
}

Duplicate Showcase Portfolio with new S3 attachments

post

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.

Path parameters
showcasePortfolioIdstringRequired

Showcase Portfolio UUID

Body
titlestringOptional

Title for the duplicated portfolio. If not provided, will use Copy of original title

descriptionstringOptional

Description for the duplicated portfolio. If not provided, will use original description

Responses
201

Showcase Portfolio duplicated successfully

application/json
post
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-13T20:19:40.711Z",
          "updatedAt": "2025-10-13T20:19:40.711Z",
          "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-13T20:19:40.711Z",
            "updatedAt": "2025-10-13T20:19:40.711Z",
            "type": "project",
            "canvasAssignmentId": 1,
            "courseId": 1,
            "courseName": "text",
            "gradingType": "text",
            "htmlUrl": "text",
            "pointsPossible": 1,
            "submissionTypes": [
              "text"
            ],
            "assignmentSubmissionBody": "text"
          }
        ]
      }
    ]
  },
  "tags": [
    "text"
  ]
}

Delete a showcase portfolio

delete
Path parameters
showcasePortfolioIdstringRequired

Showcase Portfolio UUID

Responses
200

The showcase portfolio has been successfully deleted.

No content

delete
DELETE /v1/showcase-portfolios/{showcasePortfolioId} HTTP/1.1
Host: 
Accept: */*

No content

Last updated

Was this helpful?