# MyTrainingCourse

object type

One course's standing for you — sittings started TODAY (UTC), the open sitting, the last sitting, the best score, whether you ever passed, the latest certificate minted for it. 🎓: a row stands only for a course you ENGAGED with (a sitting started or sat, a practice started or handed in) — the sweep's marks alone surface none; + practiceToday · lastPracticeScore · lastPracticeAt.

## Fields

| Field | Type | Notes |
| --- | --- | --- |
| `courseKey` | [String](/types/#scalars) `String!` | No further notes. |
| `attemptsToday` | [Int](/types/#scalars) `Int!` | No further notes. |
| `openAttemptId` | [ID](/types/#scalars) | No further notes. |
| `lastAttemptId` | [ID](/types/#scalars) | No further notes. |
| `bestScore` | [Int](/types/#scalars) | No further notes. |
| `passed` | [Boolean](/types/#scalars) `Boolean!` | No further notes. |
| `certificateId` | [ID](/types/#scalars) | No further notes. |
| `practiceToday` | [Int](/types/#scalars) `Int!` | Practices started TODAY (UTC) — the practice's OWN cap (20 a day), never the sitting's. |
| `lastPracticeScore` | [Int](/types/#scalars) | The last practice's score and instant — null until a practice was handed in (the last replaces the previous). |
| `lastPracticeAt` | [String](/types/#scalars) | No further notes. |
