Skip to content

Session-only endpoints

These power the Yoshuko web app and require a signed-in browser session. An API key cannot call them today. They are listed so you can see the full surface; see Capabilities for what an agent can automate.

316 operations.

Method Path Summary
GET /api/v1/affiliates/
POST /api/v1/affiliates/claim/
GET /api/v1/affiliates/commissions/
PATCH /api/v1/affiliates/commissions/{id}/settle/
GET /api/v1/affiliates/course-rules/
PUT /api/v1/affiliates/course-rules/
DELETE /api/v1/affiliates/course-rules/
GET /api/v1/affiliates/courses/{id}/
GET /api/v1/affiliates/invites/
POST /api/v1/affiliates/invites/
PATCH /api/v1/affiliates/invites/{id}/
DELETE /api/v1/affiliates/invites/{id}/
POST /api/v1/affiliates/join/
GET /api/v1/affiliates/links/
POST /api/v1/affiliates/links/
GET /api/v1/affiliates/me/
GET /api/v1/affiliates/me/commissions/
GET /api/v1/affiliates/me/dashboard/
GET /api/v1/affiliates/me/links/
POST /api/v1/affiliates/me/links/
GET /api/v1/affiliates/overview/
GET /api/v1/affiliates/program/
PATCH /api/v1/affiliates/program/
PATCH /api/v1/affiliates/{id}/
GET /api/v1/analytics/courses/
GET /api/v1/analytics/overview/
GET /api/v1/analytics/purchases/
GET /api/v1/analytics/trends/
GET /api/v1/answer-sheets/jobs/
GET /api/v1/answer-sheets/layout/
GET /api/v1/answer-sheets/my-numbers/
POST /api/v1/answer-sheets/scan-marks/
POST /api/v1/answer-sheets/scan/
GET /api/v1/answer-sheets/scans/
GET /api/v1/attendance/self-enrol/
POST /api/v1/attendance/self-enrol/
GET /api/v1/audit-log/
POST /api/v1/auth/login/
POST /api/v1/auth/login/mfa/
POST /api/v1/auth/login/mfa/resend/
POST /api/v1/auth/login/totp/
POST /api/v1/auth/oauth-login/
POST /api/v1/auth/password-change/
POST /api/v1/auth/password-reset-confirm/
POST /api/v1/auth/password-reset/
POST /api/v1/auth/password-reset/card/
POST /api/v1/auth/phone/send/
POST /api/v1/auth/phone/verify/
POST /api/v1/auth/resend-verification/
POST /api/v1/auth/signup/
POST /api/v1/auth/token/refresh/
POST /api/v1/auth/verify-email/
GET /api/v1/billing/plans/
GET /api/v1/billing/stripe-connect/
POST /api/v1/billing/stripe-connect/
POST /api/v1/billing/stripe-connect/refresh/
GET /api/v1/billing/subscription/
POST /api/v1/billing/subscription/
POST /api/v1/catalog-subscriptions/checkout/
GET /api/v1/catalog-subscriptions/orgs/{org_slug}/plans/
POST /api/v1/certificates/{certificate_id}/revoke/
GET /api/v1/cookie-consent/
POST /api/v1/cookie-consent/
GET /api/v1/course-imports/
POST /api/v1/course-imports/
GET /api/v1/course-imports/{id}/
DELETE /api/v1/course-imports/{id}/
GET /api/v1/course-imports/{id}/commit/
POST /api/v1/course-imports/{id}/commit/
DELETE /api/v1/course-imports/{id}/commit/
GET /api/v1/course-imports/{id}/uploaded/
POST /api/v1/course-imports/{id}/uploaded/
DELETE /api/v1/course-imports/{id}/uploaded/
GET /api/v1/courses/
POST /api/v1/courses/
GET /api/v1/courses/recent/
POST /api/v1/courses/redeem/
GET /api/v1/courses/{course_pk}/answer-sheets/learners/{enrollment_pk}/number/
PATCH /api/v1/courses/{course_pk}/answer-sheets/learners/{enrollment_pk}/number/
GET /api/v1/courses/{course_pk}/answer-sheets/{lesson_pk}/options/
POST /api/v1/courses/{course_pk}/answer-sheets/{lesson_pk}/pdf/
GET /api/v1/courses/{course_pk}/answer-sheets/{lesson_pk}/pdf/jobs/{print_pk}/
GET /api/v1/courses/{course_pk}/answer-sheets/{lesson_pk}/pdf/jobs/{print_pk}/download/
GET /api/v1/courses/{course_pk}/attendance/
GET /api/v1/courses/{course_pk}/attendance/badges/
GET /api/v1/courses/{course_pk}/attendance/badges/pdf/
POST /api/v1/courses/{course_pk}/attendance/badges/{enrollment_pk}/reissue/
POST /api/v1/courses/{course_pk}/attendance/classroom/mark-qr/
POST /api/v1/courses/{course_pk}/attendance/classroom/mark/
GET /api/v1/courses/{course_pk}/attendance/classroom/qr-roster/
GET /api/v1/courses/{course_pk}/attendance/classroom/roster/
GET /api/v1/courses/{course_pk}/attendance/device-sessions/
POST /api/v1/courses/{course_pk}/attendance/device-sessions/
DELETE /api/v1/courses/{course_pk}/attendance/device-sessions/{id}/
POST /api/v1/courses/{course_pk}/attendance/kiosk/enrol/
POST /api/v1/courses/{course_pk}/attendance/kiosk/mark-qr/
POST /api/v1/courses/{course_pk}/attendance/kiosk/mark/
GET /api/v1/courses/{course_pk}/attendance/kiosk/qr-roster/
GET /api/v1/courses/{course_pk}/attendance/kiosk/roster/
POST /api/v1/courses/{course_pk}/attendance/kiosk/unlock/
GET /api/v1/courses/{course_pk}/attendance/meeting-times/
PUT /api/v1/courses/{course_pk}/attendance/meeting-times/
GET /api/v1/courses/{course_pk}/attendance/pin/
PUT /api/v1/courses/{course_pk}/attendance/records/{enrollment_pk}/{date}/
GET /api/v1/courses/{course_pk}/attendance/settings/
PUT /api/v1/courses/{course_pk}/attendance/settings/
GET /api/v1/courses/{course_pk}/attendance/updates/
GET /api/v1/courses/{course_pk}/certificate-settings/
PUT /api/v1/courses/{course_pk}/certificate-settings/
POST /api/v1/courses/{course_pk}/certificate-settings/backfill/
POST /api/v1/courses/{course_pk}/certificate-settings/preview/
GET /api/v1/courses/{course_pk}/chapters/
POST /api/v1/courses/{course_pk}/chapters/
POST /api/v1/courses/{course_pk}/chapters/reorder/
GET /api/v1/courses/{course_pk}/chapters/{chapter_pk}/lessons/
POST /api/v1/courses/{course_pk}/chapters/{chapter_pk}/lessons/
POST /api/v1/courses/{course_pk}/chapters/{chapter_pk}/lessons/reorder/
GET /api/v1/courses/{course_pk}/chapters/{chapter_pk}/lessons/{id}/
PATCH /api/v1/courses/{course_pk}/chapters/{chapter_pk}/lessons/{id}/
DELETE /api/v1/courses/{course_pk}/chapters/{chapter_pk}/lessons/{id}/
POST /api/v1/courses/{course_pk}/chapters/{chapter_pk}/lessons/{id}/duplicate/
GET /api/v1/courses/{course_pk}/chapters/{chapter_pk}/lessons/{id}/progress/
POST /api/v1/courses/{course_pk}/chapters/{chapter_pk}/lessons/{id}/progress/
GET /api/v1/courses/{course_pk}/chapters/{chapter_pk}/lessons/{id}/scan/
POST /api/v1/courses/{course_pk}/chapters/{chapter_pk}/lessons/{id}/scan/
PATCH /api/v1/courses/{course_pk}/chapters/{chapter_pk}/lessons/{id}/scan/correction/
GET /api/v1/courses/{course_pk}/chapters/{chapter_pk}/lessons/{lesson_pk}/export/scorm/
GET /api/v1/courses/{course_pk}/chapters/{id}/
PATCH /api/v1/courses/{course_pk}/chapters/{id}/
DELETE /api/v1/courses/{course_pk}/chapters/{id}/
POST /api/v1/courses/{course_pk}/chapters/{id}/duplicate/
POST /api/v1/courses/{course_pk}/chapters/{id}/publish/
POST /api/v1/courses/{course_pk}/checkout/
GET /api/v1/courses/{course_pk}/codes/
POST /api/v1/courses/{course_pk}/codes/
PATCH /api/v1/courses/{course_pk}/codes/{code_pk}/
DELETE /api/v1/courses/{course_pk}/codes/{code_pk}/
GET /api/v1/courses/{course_pk}/cohorts/
POST /api/v1/courses/{course_pk}/cohorts/
PATCH /api/v1/courses/{course_pk}/cohorts/{cohort_pk}/
DELETE /api/v1/courses/{course_pk}/cohorts/{cohort_pk}/
POST /api/v1/courses/{course_pk}/cohorts/{cohort_pk}/members/
GET /api/v1/courses/{course_pk}/coupons/
POST /api/v1/courses/{course_pk}/coupons/
DELETE /api/v1/courses/{course_pk}/coupons/{id}/
GET /api/v1/courses/{course_pk}/curriculum/
PATCH /api/v1/courses/{course_pk}/discussion/replies/{reply_pk}/
DELETE /api/v1/courses/{course_pk}/discussion/replies/{reply_pk}/
POST /api/v1/courses/{course_pk}/discussion/replies/{reply_pk}/moderate/
GET /api/v1/courses/{course_pk}/discussion/settings/
PUT /api/v1/courses/{course_pk}/discussion/settings/
GET /api/v1/courses/{course_pk}/discussion/topics/
POST /api/v1/courses/{course_pk}/discussion/topics/
GET /api/v1/courses/{course_pk}/discussion/topics/{topic_pk}/
PATCH /api/v1/courses/{course_pk}/discussion/topics/{topic_pk}/
DELETE /api/v1/courses/{course_pk}/discussion/topics/{topic_pk}/
POST /api/v1/courses/{course_pk}/discussion/topics/{topic_pk}/moderate/
GET /api/v1/courses/{course_pk}/discussion/topics/{topic_pk}/replies/
POST /api/v1/courses/{course_pk}/discussion/topics/{topic_pk}/replies/
POST /api/v1/courses/{course_pk}/documents/
POST /api/v1/courses/{course_pk}/documents/google/
DELETE /api/v1/courses/{course_pk}/documents/{doc_pk}/
POST /api/v1/courses/{course_pk}/enroll/
GET /api/v1/courses/{course_pk}/export/
POST /api/v1/courses/{course_pk}/export/
GET /api/v1/courses/{course_pk}/export/download/
GET /api/v1/courses/{course_pk}/gradebook/
POST /api/v1/courses/{course_pk}/gradebook/ai-grade/
GET /api/v1/courses/{course_pk}/gradebook/ai-jobs/active/
GET /api/v1/courses/{course_pk}/gradebook/ai-jobs/{job_id}/
GET /api/v1/courses/{course_pk}/gradebook/ai-jobs/{job_id}/cancel/
POST /api/v1/courses/{course_pk}/gradebook/ai-jobs/{job_id}/cancel/
GET /api/v1/courses/{course_pk}/gradebook/ai-jobs/{job_id}/resume/
POST /api/v1/courses/{course_pk}/gradebook/ai-jobs/{job_id}/resume/
GET /api/v1/courses/{course_pk}/gradebook/export/
POST /api/v1/courses/{course_pk}/gradebook/fill/
PUT /api/v1/courses/{course_pk}/gradebook/grades/{enrollment_pk}/{lesson_pk}/
GET /api/v1/courses/{course_pk}/gradebook/learners/{enrollment_pk}/
GET /api/v1/courses/{course_pk}/gradebook/lessons/{lesson_pk}/ai-config/
GET /api/v1/courses/{course_pk}/gradebook/lessons/{lesson_pk}/config/
PUT /api/v1/courses/{course_pk}/gradebook/lessons/{lesson_pk}/config/
GET /api/v1/courses/{course_pk}/gradebook/lessons/{lesson_pk}/review/
GET /api/v1/courses/{course_pk}/gradebook/lessons/{lesson_pk}/review/{enrollment_pk}/
PUT /api/v1/courses/{course_pk}/gradebook/lessons/{lesson_pk}/review/{enrollment_pk}/grade/
GET /api/v1/courses/{course_pk}/gradebook/lessons/{lesson_pk}/review/{enrollment_pk}/pages/{page_pk}/
GET /api/v1/courses/{course_pk}/gradebook/settings/
PUT /api/v1/courses/{course_pk}/gradebook/settings/
GET /api/v1/courses/{course_pk}/imports/
POST /api/v1/courses/{course_pk}/imports/
POST /api/v1/courses/{course_pk}/landing/copy/
GET /api/v1/courses/{course_pk}/landing/hero/
POST /api/v1/courses/{course_pk}/landing/hero/
POST /api/v1/courses/{course_pk}/landing/hero/import/
POST /api/v1/courses/{course_pk}/landing/hero/upload/
DELETE /api/v1/courses/{course_pk}/landing/hero/{id}/
POST /api/v1/courses/{course_pk}/landing/hero/{id}/select/
GET /api/v1/courses/{course_pk}/learners/
POST /api/v1/courses/{course_pk}/learners/{enrollment_pk}/reset-password/
POST /api/v1/courses/{course_pk}/lessons/content-assist/
POST /api/v1/courses/{course_pk}/lessons/content-assist/prompt/
POST /api/v1/courses/{course_pk}/lessons/{lesson_pk}/move/
PATCH /api/v1/courses/{course_pk}/lessons/{lesson_pk}/schedule/
POST /api/v1/courses/{course_pk}/media/
DELETE /api/v1/courses/{course_pk}/media/{media_pk}/
GET /api/v1/courses/{course_pk}/phone-preview/
POST /api/v1/courses/{course_pk}/preview-token/
GET /api/v1/courses/{course_pk}/price/
PUT /api/v1/courses/{course_pk}/price/
POST /api/v1/courses/{course_pk}/roster-imports/
GET /api/v1/courses/{course_pk}/roster-imports/template/
GET /api/v1/courses/{course_pk}/roster-imports/{import_pk}/
PATCH /api/v1/courses/{course_pk}/roster-imports/{import_pk}/
POST /api/v1/courses/{course_pk}/roster-imports/{import_pk}/commit/
GET /api/v1/courses/{course_pk}/roster-imports/{import_pk}/credentials/
POST /api/v1/courses/{course_pk}/rubrics/suggest/
GET /api/v1/courses/{course_pk}/rubrics/templates/
POST /api/v1/courses/{course_pk}/rubrics/templates/
DELETE /api/v1/courses/{course_pk}/rubrics/templates/{id}/
GET /api/v1/courses/{course_pk}/schedule/
POST /api/v1/courses/{course_pk}/schedule/shift/
POST /api/v1/courses/{course_pk}/uploads/
GET /api/v1/courses/{course_pk}/uploads/{object_pk}/
DELETE /api/v1/courses/{course_pk}/uploads/{object_pk}/
POST /api/v1/courses/{course_pk}/uploads/{object_pk}/complete/
GET /api/v1/courses/{id}/
PUT /api/v1/courses/{id}/
PATCH /api/v1/courses/{id}/
DELETE /api/v1/courses/{id}/
GET /api/v1/courses/{id}/refund-policy/
PUT /api/v1/courses/{id}/refund-policy/
POST /api/v1/courses/{id}/refund/
POST /api/v1/courses/{id}/touch/
GET /api/v1/currencies/
GET /api/v1/integrations/webhooks/
POST /api/v1/integrations/webhooks/
GET /api/v1/integrations/webhooks/{endpoint_id}/deliveries/
POST /api/v1/integrations/webhooks/{endpoint_id}/deliveries/{delivery_id}/redeliver/
GET /api/v1/integrations/webhooks/{id}/
PATCH /api/v1/integrations/webhooks/{id}/
DELETE /api/v1/integrations/webhooks/{id}/
GET /api/v1/legal/consent/
POST /api/v1/legal/consent/
GET /api/v1/me/
PATCH /api/v1/me/
GET /api/v1/me/attendance/badge/
GET /api/v1/me/attendance/face-enrolment/
DELETE /api/v1/me/attendance/face-enrolment/
POST /api/v1/me/attendance/face-enrolment/session/
GET /api/v1/me/catalog-subscriptions/
POST /api/v1/me/catalog-subscriptions/{id}/cancel/
POST /api/v1/me/catalog-subscriptions/{id}/change-plan/
GET /api/v1/me/certificates/
GET /api/v1/me/certificates/{certificate_id}/download/
POST /api/v1/me/courses/{course_pk}/access/
GET /api/v1/me/courses/{course_pk}/progress/
GET /api/v1/me/data-export/
POST /api/v1/me/data-export/
GET /api/v1/me/data-export/{export_id}/download/
POST /api/v1/me/delete/
GET /api/v1/me/discover/
GET /api/v1/me/engagement/
GET /api/v1/me/enrollments/
POST /api/v1/me/phone/attach/
POST /api/v1/me/phone/change/confirm/
POST /api/v1/me/phone/change/start/
POST /api/v1/me/totp/backup-codes/regenerate/
POST /api/v1/me/totp/disable/
POST /api/v1/me/totp/enable/confirm/
POST /api/v1/me/totp/enable/start/
GET /api/v1/notifications/org-settings/
PUT /api/v1/notifications/org-settings/
GET /api/v1/notifications/preferences/
PATCH /api/v1/notifications/preferences/
POST /api/v1/qa/attendance/device-sessions/{id}/age/
POST /api/v1/qa/attendance/face-enrolment-sessions/expire/
DELETE /api/v1/qa/courses/{id}/purge/
PUT /api/v1/qa/me/catalog-plan/
DELETE /api/v1/qa/me/catalog-plan/
POST /api/v1/qa/me/catalog-subscription/
DELETE /api/v1/qa/me/catalog-subscription/
PUT /api/v1/qa/me/domain-claim/
DELETE /api/v1/qa/me/domain-claim/
DELETE /api/v1/qa/me/lesson-attempts/
DELETE /api/v1/qa/me/org-membership/
DELETE /api/v1/qa/me/org-verification/
GET /api/v1/qa/me/platform-subscription/
PUT /api/v1/qa/me/platform-subscription/
DELETE /api/v1/qa/me/platform-subscription/
DELETE /api/v1/qa/me/policy-acceptances/
DELETE /api/v1/qa/me/storage-addon/
POST /api/v1/qa/me/storage-ballast/
DELETE /api/v1/qa/me/storage-ballast/
DELETE /api/v1/qa/me/stripe-connect/
DELETE /api/v1/qa/signup-email/
POST /api/v1/storage/checkout/
GET /api/v1/storage/objects/
GET /api/v1/storage/usage/
GET /api/v1/tenants/api-keys/
POST /api/v1/tenants/api-keys/
DELETE /api/v1/tenants/api-keys/{id}/
PUT /api/v1/tenants/api-keys/{id}/scopes/
PATCH /api/v1/tenants/branding/
GET /api/v1/tenants/config/
GET /api/v1/tenants/domain/
POST /api/v1/tenants/domain/
POST /api/v1/tenants/domain/check/
GET /api/v1/tenants/join-code/
POST /api/v1/tenants/join-code/
POST /api/v1/tenants/logo/
GET /api/v1/tenants/onboarding/
POST /api/v1/tenants/onboarding/skip/
POST /api/v1/tenants/setup/
GET /api/v1/tenants/subdomain/
PATCH /api/v1/tenants/subdomain/
GET /api/v1/timezones/
POST /billing/stripe/webhook/