---
title: "Returns nullable UserCourse, BookmarkedCourse, and AssignedCourse objects by email and courseId. If no email is provided, it uses the caller's email."
method: GET
path: "/skills/usercoursedata"
tags: ["Skills"]
---

# Returns nullable UserCourse, BookmarkedCourse, and AssignedCourse objects by email and courseId. If no email is provided, it uses the caller's email.

`GET /skills/usercoursedata`

**Requires permission:** *StaffMember*

## Query parameters

- `email` string, nullable
- `courseId` string, nullable

## Response `200`

Success - Returned course objects

- GetUserCourseDataResponse
  - `userCourse` SkillsUserCourse
    - `id` integer
    - `userEmail` string, nullable
    - `firstViewedAt` string, date-time, nullable
    - `lastViewedAt` string, date-time, nullable
    - `courseId` string, nullable
    - `courseImage` string, nullable
    - `courseTitle` string, nullable
    - `provider` string, nullable
    - `completed` boolean, nullable
    - `completedAt` string, date-time, nullable
    - `hidden` boolean
  - `bookmarkedCourse` SkillsBookmarkedCourse
    - `id` integer
    - `bookmarkedBy` string, nullable
    - `bookmarkedAt` string, date-time, nullable
    - `courseId` string, nullable
  - `assignedToMe` SkillsAssignedCourse[]
    - `id` integer
    - `userCourseId` integer, nullable
    - `assignedTo` string, nullable
    - `assignedByEmail` string, nullable
    - `assignedByName` string, nullable
    - `assignedAt` string, date-time, nullable
    - `deadline` string, date-time, nullable
    - `userCourse` SkillsUserCourse
      - `id` integer
      - `userEmail` string, nullable
      - `firstViewedAt` string, date-time, nullable
      - `lastViewedAt` string, date-time, nullable
      - `courseId` string, nullable
      - `courseImage` string, nullable
      - `courseTitle` string, nullable
      - `provider` string, nullable
      - `completed` boolean, nullable
      - `completedAt` string, date-time, nullable
      - `hidden` boolean
  - `assignedByMe` SkillsAssignedCourse[]
    - `id` integer
    - `userCourseId` integer, nullable
    - `assignedTo` string, nullable
    - `assignedByEmail` string, nullable
    - `assignedByName` string, nullable
    - `assignedAt` string, date-time, nullable
    - `deadline` string, date-time, nullable
    - `userCourse` SkillsUserCourse
      - `id` integer
      - `userEmail` string, nullable
      - `firstViewedAt` string, date-time, nullable
      - `lastViewedAt` string, date-time, nullable
      - `courseId` string, nullable
      - `courseImage` string, nullable
      - `courseTitle` string, nullable
      - `provider` string, nullable
      - `completed` boolean, nullable
      - `completedAt` string, date-time, nullable
      - `hidden` boolean

## Other responses

- `400` — An Error Occurred - Could not get course objects
- `401` — Unauthorized
- `403` — Forbidden

---

[API](https://skmtc.net/tonbridge/apis/tonbridge-app-api.md) · [All operations](https://skmtc.net/tonbridge/apis/tonbridge-app-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/tonbridge/tonbridge-app-api/versions/fab57bf5558a/schema)
