Coursebox API Guide for Enterprise Clients

Created by Carolina Martin, Modified on Mon, 7 Jul at 12:55 AM by Carolina Martin


Overview

The Coursebox API allows enterprise clients and training organisations to automate learner managementintegrate course data into other platforms (like CRMs, HR systems, or ERPs), and build custom user experiences. This guide explains how to use the accompanying Postman collection to explore and use Coursebox APIs.


Before You Start

✅ Requirements:

  • API add-on purchased from Coursebox

  • Postman installed or Postman web app account


Getting Started

1. Import the Collection

  • Open Postman.

  • Click "Import" and paste the provided file. 

  • The collection will appear under "Coursebox API" 


Endpoints

Authentication

Login

Authenticate users with their email and password to receive an access token.

Endpoint: POST /auth/login

Headers:

  • Content-Type: application/json

Request Body:

{

    "email": "<email>",

    "password": "<password>"

}

Response: Returns an access token for authenticated requests in token:id parameter.



User Management

Register a New User

Create a new Coursebox user.

Endpoint: POST /api/wineusers/createAccount

Headers:

  • X-Access-Token: <access_token>

Request Body:

{

    "data": {

        "user": {

            "firstName": "<firstname>",

            "lastName": "<lastname>",

            "email": "<email>",

            "password": "<password>"

        },

        "offerCode": "",

        "marketingEmails": true,

        "is18Plus": true

    }

}

Retrieve User Details

Fetch user information by their ID.

Endpoint: GET /api/WineUsers/<userid>

Headers:

  • X-Access-Token: <access_token>

Edit User Details

Edit a Coursebox user.

Endpoint: POST /api/WineUsers/updateMainAttributes?id=<userid>

Headers:

  • X-Access-Token: <access_token>

Request Body:

{

    "id": <userid>,

  "attributes": {

    "realm": <realm>,

    "email": <email>,

    "emailVerified": <emailVerified>,

    "fullName": <fullName>,

    "firstName": <firstName>,

    "lastName": <lastName>,

    "title": <title>,

    "contactNumber": <contactNumber>,

    "dateOfBirth": <dateOfBirth>,

    "headline": <headline>,

    "avatarUrl": <avatarUrl>,

    "profile": {

      "background": <background>

    },

    "country": <country>,

    "city": <city>,

    "location": <location>,

    "region": <region>,

    "state": <state>,

    "zipCode": <zipCode>,

    "status": [<status>],

    "rate": <rate>,

    "rateAdditionalTax": <rateAdditionalTax>,

    "price": <price>,

    "currency": <currency>,

    "additionalTax": <additionalTax>,

    "isDiscountCodeUsed": <isDiscountCodeUsed>,

    "calendlyLink": <calendlyLink>,

    "personalSite": <personalSite>,

    "companySite": <companySite>,

    "linkedIn": <linkedIn>,

    "twitter": <twitter>,

    "facebookLink": <facebookLink>,

    "instagramLink": <instagramLink>,

    "facebookId": <facebookId>,

    "googleId": <googleId>,

    "linkedinId": <linkedinId>,

    "appleId": <appleId>,

    "customerId": <customerId>,

    "stripeId": <stripeId>,

    "isDeleted": <isDeleted>,

    "isPlatformUpdates": <isPlatformUpdates>,

    "isAdmin": <isAdmin>,

    "isExpertRequested": <isExpertRequested>,

    "isExpertApproved": <isExpertApproved>,

    "organisationCode": <organisationCode>,

    "isVIPRequested": <isVIPRequested>,

    "isVIPApproved": <isVIPApproved>,

    "isChannelPublished": <isChannelPublished>,

    "isCoursePublished": <isCoursePublished>,

    "newEmail": <newEmail>,

    "isSideBarVisible": <isSideBarVisible>,

    "isTopBarVisible": <isTopBarVisible>,

    "channelsPageTabs": <channelsPageTabs>,

    "peoplePageTabs": <peoplePageTabs>,

    "elibraryPageTabs": <elibraryPageTabs>,

    "resourcesPageTabs": <resourcesPageTabs>,

    "lastActiveAt": <lastActiveAt>,

    "isInActive": <isInActive>,

    "isTrial": <isTrial>,

    "inIframe": <inIframe>,

    "referer": <referer>,

    "username": <username>,

    "credentials": <credentials>,

    "challenges": <challenges>,

    "created": <created>,

    "lastUpdated": <lastUpdated>,

    "id": <id>,

    "createdAt": <createdAt>,

    "updatedAt": <updatedAt>,

    "isUserAdmin": <isUserAdmin>,

    "isVIP": <isVIP>,

    "isBoxer": <isBoxer>,

    "isPro": <isPro>,

    "isApprovedExpert": <isApprovedExpert>,

    "isExpert": <isExpert>,

    "isLearner": <isLearner>,

    "isFollowed": <isFollowed>

  }

}


Course Management

Invite User to a Course

Send an invitation for a user to join a course.

Endpoint: POST /api/Courses/inviteUserForCourse

Headers:

  • X-Access-Token: <access_token>

Request Body:

{

    "data": {

        "firstName": "<firstname>",

        "lastName": "<lastname>",

        "courseid": <courseid>,

        "email": "<email>"

    },

    "courseId": <courseid>,

    "title": "",

    "body": ""

}

Enroll User in a Course

Add a user to a specific course.

Endpoint: POST /api/Courses/<courseid>/enrolUser

Headers:

  • X-Access-Token: <access_token>

Request Body:

{

    "id": <courseid>,

    "userId": <userid>

}

Remove User from a Course

Unenroll a user from a course.

Endpoint: DELETE /api/Courses/<courseid>/users?userid=<userid>

Headers:

  • X-Access-Token: <access_token>

Retrieve Available Courses

Fetch a list of available courses.

Endpoint: GET /api/Courses/findCourses?pageOptions={"my":true}

Headers:

  • X-Access-Token: <access_token>

Retrieve Course Details

Fetch details of a specific course.

Endpoint: GET /api/Courses/findCourse?id=<courseid>

Headers:

  • X-Access-Token: <access_token>

Get Course Content

Retrieve content for a specific course page.

Endpoint: GET /api/Activities/<activityId>

Headers:

  • X-Access-Token: <access_token>

Get Course Learners

Retrieve a list of learners enrolled in a course.

Endpoint: GET /api/Courses/<courseid>/allLearners

Headers:

  • X-Access-Token: <access_token>

Get Course Administrators

Retrieve a list of course administrators.

Endpoint: GET /api/WineUsers/getUserForMentio?params={"all":true,"ids":"<courseid>"}

Headers:

  • X-Access-Token: <access_token>


Error Handling

The Coursebox API returns standard HTTP status codes:

  • 200 OK – Request successful

  • 400 Bad Request – Invalid request

  • 401 Unauthorized – Invalid authentication token

  • 404 Not Found – Resource not found

  • 500 Internal Server Error – Issue on the server side



Best Practices

  • Always use HTTPS and manage secrets securely.

  • Limit token lifespan for security.

  • Add rate limiting logic on your system if building public interfaces.


FAQs


Q: Can I use this API to push results or assessments?
A: Not in this version. Please contact your Coursebox rep for advanced LTI or webhook support.

Q: Can I access this via Zapier?
A: Yes, a Zapier integration is available here: https://zapier.com/apps/coursebox-lms/integrations


Need Help?

For any questions or custom endpoints requests, contact:

Coursebox Support
 support@coursebox.ai

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article