Course Share Schema
Felder
Course Share Schema
Cross-tenant sharing configuration for an academy course
courseId
Reference to a course in the sharing (MSP) tenant
recipientType
Type of recipient. Phase 1 of ADR 0066b only implements TENANT; TEAM/USER reserved.
TENANTTEAMUSERrecipientId
ID of the recipient tenant (or team/user in future phases)
pricingSnapshot
Frozen pricing terms at the time of the share. Phase 1 stores the values; actual charging happens in Phase 2 (course_charges).
mode
Pricing mode. Phase 1 supports free + fixed_per_seat.
freefixed_per_seatamountCents
Charge per enrollment in EUR cents (gross).
currency
taxRatePercent
chargingMode
wholesale: charge is bundled into the customer-tenant wholesale invoice (Phase 2). direct_stripe: customer pays in real-time via Stripe Connect on the MSP account (Phase 3).
wholesaledirect_stripepublishToPublicCatalog
If true, the course is listed on the MSP public catalog at /academy/:mspSlug. Anonymous users can browse and self-register via email-token flow.
maxEnrollments
Optional cap on total enrollments via this share. Null = unlimited.
enrollmentDeadline
Optional ISO date-time after which no further enrollments are allowed.
allowSelfEnrollment
If true, customer-tenant users can self-enroll; if false, only a customer-tenant manager may enroll others.
requireManagerApproval
If true, self-enrollments are pending until a customer-tenant manager approves them.
status
Share lifecycle. Auto-paused when either tenant loses the required academy module.
activepausedrevokedcreatedBy
User ID (in source tenant) who created the share.
updatedBy
User ID who last updated the share.
Keine Felder passen zum Filter.
Standard-Endpoints
Diese Resource folgt dem generischen CRUD-Vertrag der Plattform. Lesen Sie die Konventionen für Pagination, Idempotenz, Optimistic Locking und Audit. Die wichtigsten Endpoints:
GET /api/v1/course_shares— Liste, paginiert + filterbarGET /api/v1/course_shares/<id>— Einzelne EntityPOST /api/v1/course_shares— AnlegenPATCH /api/v1/course_shares/<id>— Teil-UpdateDELETE /api/v1/course_shares/<id>— Soft-DeleteGET /api/v1/course_shares/<id>/timeline— Audit + Aktivitäten