Skip to main content
EnrollmentVersion: v3New

Enroll Contact

POST/courses/enrollments

Grant a contact access to a membership offer. Requires a Location token with courses.write. Send Version: v3. Uses POST smart-list/user with source public_api (not the queued attach-offer-user path). Returns 200 when already enrolled and 201 when newly attached. Login tokens are never returned. checkoutFrom public_api is not in membership paidSources, so these grants are omitted from Net Revenue paid filters. Default-offer rows return 404.

Authorizations

Authorizationstringheaderrequired

Bearer authentication header of the form Bearer <token>, where <token> is your access token.

Scope:courses.write
Auth methods:OAuthPrivate Integration
Token type:Sub-Account Token

Request​

Headers

Versionstringrequired

API Version

Available optionsv3
Example:v3

Query Parameters

locationIdstringrequired

Location id or sub-account id is required.

Possible values: non-empty

Example:ve9EPM428h8vShlRW1KT

Body

contactIdstringrequired

CRM contact id

Example:abc123ContactId
offerIdstringrequired

Membership offer id

Example:c3d4e5f6-7890-4123-cdef-123456789012

Response

Success

alreadyEnrolledbooleanrequired

true when the contact already has a purchase for this offer in the location

contactIdstringrequired
Example:abc123ContactId
offerIdstringrequired
Example:c3d4e5f6-7890-4123-cdef-123456789012