course API


Course API lists the course details of the users who are registered with the company. Based on the parameters entered in the Course URL, the security token is authenticated and returns all basic course details of the user. It also showcases module and chapter details available in the Linchpin application for each user.


Security token and origination url, should be sent as response headers for authentication

  • Once the Linchpin app is purchased, an interface will be provided to generate the security token which will be unique for a company.
  • Course API is authenticated based on the company token and external URL from where the request is sent.


The URL structure (path only, no root url)
api/v1/Course or / Course? Filters={”minrange”:”1”,“maxrange”:”10”}


The request type

URL Params


Input parameter class structure

public class Filters
public int MinRange { get; set; } -- starting row number
public int MaxRange { get; set; } -- ending row number

Input parameter Validation rules

Minimum value expected for MinRange is 1, Max Value should be greater than or equal to MinRange.

Response Codes

Output Response Object

public class ProfileDto { public int UserId { get; set; } public string Name { get; set; } public string Email { get; set; } public string Phone { get; set; } public string Profileimage { get; set; } public int Credits { get; set; } public int UserLevel { get; set; } public int NextLevelCredits { get; set; } public int Rank { get; set; } public string Usage { get; set; } public string Engagement { get; set; } public float EngagementPercentage { get; set; } public List Course { get; set; } } public class Course { public string Title { get; set; } public string Description { get; set; } public int Credits { get; set; } public string CreatedBy { get; set; } public DateTime? StartDate { get; set; } public DateTime? EndDate { get; set; } public string Status { get; set; } public int RemainingDays { get; set; } public int CompletedPercentage { get; set; } public int Rating { get; set; } }

Success Response

Successful request: { “status”:200, “profile”:[{ "UserId":"UserId", "Name":"Name", "Email":"", "Phone":"+11234567890", "Profileimage":"Profileimage", "Credits":"Credits", "UserLevel":"UserLevel", "NextLevelCredits":"NextLevelCredits", "Rank":"Rank", "Usage":"Usage", "Engagement":"Engagement", "EngagementPercentage":"EngagementPercentage" "Course":[{ "Description":"Description", "Credits":"Credits", "CreatedBy":"CreatedBy", "StartDate":"StartDate", "EndDate":"EndDate", "Status":"Status", "RemainingDays":"RemainingDays", "CompletedPercentage":"CompletedPercentage", "Rating":"Rating" }, { "Description":"Description", "Credits":"Credits", "CreatedBy":"CreatedBy", "StartDate":"StartDate", "EndDate":"EndDate", "Status":"Status", "RemainingDays":"RemainingDays", "CompletedPercentage":"CompletedPercentage", "Rating":"Rating" }] }] }

HTTP Status Codes

Most endpoints will have many ways they can fail. From unauthorized access, to wrongful parameters etc. Example: Code: 200 OK Description: { Success } Code: 401 UNAUTHORIZED Description: {error: "Authentication credentials were missing or incorrect.”} Code: 400 Bad Request Description: { error : "The request was invalid or cannot be otherwise served" } Code: 404 Not Found Description: { error : "Course details not found" }