Relationship diagram
Entities
The business owner in Exode: a tutor, a school, a producer or a university. A seller has a balance, bank details and
a school — one per seller. The SaaS API works only with sellers that have a school. API requests are always
made in the context of a seller (the
Seller-Id header holds its numeric ID, see
“How to get the token and IDs”).
See seller.The seller’s learning platform with its own domain, users, courses and settings. The school context
is set by the
School-Id header; it must match the seller’s school from Seller-Id.
See school.The school segment (segment) determines the available features: Commerce — a commercial online school
(sales, invoices, payments), Corporate — corporate employee training (the staff/* org structure methods
work only in such schools).An account in the school (a student, curator, parent, as well as service integration users). The
extId field
links the user to a record in your CRM/LMS: it is your own identifier — a string of up to 50 characters
without / or whitespace, unique within the school. See user.A technical school user on whose behalf the integration works. It is created together with an API key on
the Manage → School → For developers → API keys page; its token is passed in
Authorization, and its set of permissions
is configured with checkboxes on the key page (see “Access permissions”).A group brings users together around a course/product and defines access rules and a schedule.
GroupMember is
the link between a user and a group. See group.A unit of sale: a course, access to the school or a digital good. A product has prices (
productPrice) and
discounts (discount). See product.The product’s learning course: lessons (
courseLesson), practices (courseLessonPractice), attempts and
each student’s progress (courseProgress). See course.A user’s access to a product: activity, expiration date, billing (subscription/installments). It is
access that opens a course to a student. See
product.An invoice records a user’s purchase of products; a payment records that the invoice was paid through acquiring. See
payment.The seller’s form layouts (questionnaires, custom fields at registration) and the field values filled in by users.
See
form.How this relates to the API
- Every request is made in the context of a seller (
Seller-Id) and a school (School-Id). - The entities in method responses correspond to the object reference.
- You can receive changes to these entities (registration, payment, progress, access grants) through webhooks.
Updated: 2026-09-25 14:33 UTC