Elevate User (1.0.0)

Download OpenAPI specification:Download

  • The Users Service is a centralized Service to support other services. Apis perform operations related to mentoring entities notification etc
  • The URL for Users API(s) is {context}/user/v1 - Note: These resources can be used in other services

User APIs

Account creation, authentication, session, and profile operations for end users.

Create user

This API creates a user account.

  • Endpoint: /user/v1/account/create
  • At least one of email or phone must be provided; phone_code is required when phone is present.
  • Depending on the tenant's configuration.allowed_auth_mode, a password may be required (or rejected).
Request Body schema: application/json

Request body consist of metadata and accepts payload as JSON

Any of
name
string

Name of the user. Alphabets and spaces only.

email
required
string <email>

User email. Required if phone is not provided.

username
string

Username (3-40 chars, lowercase letters/numbers/_/- or an email).

phone
string

Phone number (7-15 digits). Required if email is not provided.

phone_code
string

Country calling code (2-4 chars). Required when phone is provided.

password
string

User password. Must satisfy the configured password policy; may be required depending on tenant allowed_auth_mode.

otp
string

6-digit OTP. Required only when ENABLE_EMAIL_OTP_VERIFICATION is enabled for the tenant.

role
string

Role for the user. Conditionally validated: only checked when present, and must not be the admin role.

registration_code
string

Optional organization registration code used to attach the user to an org.

Responses

Request samples

Content type
application/json
Example
{
  • "name": "Nevil Mathew",
  • "email": "mentee@tunerlabs.com",
  • "password": "Password@123"
}

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "Sign-up successful, Please wait while logging in.",
  • "result": {
    },
  • "meta": {
    }
}

Login

This API logs a user in.

  • Endpoint: /user/v1/account/login
  • identifier is required. At least one of password or otp must be supplied.
  • Which credential is accepted is additionally gated at runtime by the tenant's configuration.allowed_auth_mode; a credential for a disallowed auth mode returns AUTH_MODE_NOT_ALLOWED.
Request Body schema: application/json

Request body for user login

Any of
identifier
required
string

Email, phone number, or username of the user.

phone_code
string

Country calling code (e.g. +91). Required/validated only for phone identifiers.

password
required
string

User password. Provide this OR otp.

otp
string

6-digit login OTP. Provide this OR password.

Responses

Request samples

Content type
application/json
Example
{
  • "identifier": "mentee@tunerlabs.com",
  • "phone_code": "+91",
  • "password": "Password@123"
}

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "User logged in successfully.",
  • "result": {
    },
  • "meta": {
    }
}

Logout

This API logs a user out.

  • Endpoint: /user/v1/account/logout
  • refresh_token is required.
Authorizations:
XAuthToken
header Parameters
X-auth-token
required
string

X-auth-token from the login API response.

Request Body schema: application/json
refresh_token
required
string

The refresh token issued at login.

Responses

Request samples

Content type
application/json
{
  • "refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "User logged out successfully.",
  • "result": [ ],
  • "meta": {
    }
}

Generate Access Token

This API generates an access token from a refresh token.

  • Endpoint: /user/v1/account/generateToken
  • refresh_token is required.
Authorizations:
XAuthToken
header Parameters
X-auth-token
required
string

X-auth-token from the login API response.

Request Body schema: application/json
refresh_token
required
string

The refresh token issued at login.

Responses

Request samples

Content type
application/json
{
  • "refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "Access token generated successfully",
  • "result": {
    },
  • "meta": {
    }
}

Generate OTP

This API generates an OTP (used in password reset).

  • Endpoint: /user/v1/account/generateOtp
  • identifier and password are required.
Authorizations:
XAuthToken
header Parameters
X-auth-token
required
string

X-auth-token from the login API response.

Request Body schema: application/json
identifier
required
string

Email, phone, or username of the account.

password
required
string

User password.

Responses

Request samples

Content type
application/json
{
  • "identifier": "mentee@tunerlabs.com",
  • "password": "Password@123"
}

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "OTP has been sent to your registered email or phone number. Please enter the OTP to update your password.",
  • "result": [ ],
  • "meta": {
    }
}

Reset Password

This API resets a user's password.

  • Endpoint: /user/v1/account/resetPassword
  • identifier, password, and otp are all required.
Authorizations:
XAuthToken
header Parameters
X-auth-token
required
string

X-auth-token from the login API response.

Request Body schema: application/json
identifier
required
string

Email, phone, or username of the account.

password
required
string

New password. Must satisfy the configured password policy.

otp
required
string

6-digit OTP received for the reset.

Responses

Request samples

Content type
application/json
{
  • "identifier": "mentee@tunerlabs.com",
  • "password": "NewPassword@123",
  • "otp": "123456"
}

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "User logged in successfully.",
  • "result": {
    },
  • "meta": {
    }
}

Registration OTP

This API sends a registration OTP.

  • Endpoint: /user/v1/account/registrationOtp
  • registration_code is required; at least one of email, phone, or username must be provided (phone_code required with phone).
Authorizations:
XAuthToken
header Parameters
X-auth-token
required
string

X-auth-token from the login API response.

Request Body schema: application/json
Any of
email
required
string <email>

User email.

phone
string

Phone number (7-15 digits).

username
string

Username (3-30 chars).

phone_code
string

Country calling code (e.g. +91). Required when phone is provided.

name
string

Name of the user.

registration_code
required
string

Organization registration code.

Responses

Request samples

Content type
application/json
Example
{
  • "email": "mentee@tunerlabs.com",
  • "registration_code": "org-signup-code"
}

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "OTP has been sent to your registered email or phone number. Please enter the OTP to update your password.",
  • "result": [ ],
  • "meta": {
    }
}

Delete Own Account

This API deletes the authenticated user's own account.

  • Endpoint: /user/v1/account/delete
  • password is required for confirmation.
Authorizations:
XAuthToken
header Parameters
X-auth-token
required
string

X-auth-token from the login API response.

Request Body schema: application/json
password
required
string

The account password, for confirmation.

Responses

Request samples

Content type
application/json
{
  • "password": "Password@123"
}

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "User deleted successfully",
  • "result": [ ],
  • "meta": {
    }
}

Change Password

This API changes the authenticated user's password.

  • Endpoint: /user/v1/account/changePassword
  • oldPassword and newPassword are required.
Authorizations:
XAuthToken
header Parameters
X-auth-token
required
string

X-auth-token from the login API response.

Request Body schema: application/json
oldPassword
required
string

Current password.

newPassword
required
string

New password. Must satisfy the configured password policy and differ from the old one.

Responses

Request samples

Content type
application/json
{
  • "oldPassword": "Password@123",
  • "newPassword": "NewPassword@123"
}

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "Your password has been changed successfully. Please log-in to continue.",
  • "result": { },
  • "meta": {
    }
}

Change Role

This API changes a user's role.

  • Endpoint: /user/v1/account/changeRole
  • email and role are required.
Authorizations:
XAuthToken
header Parameters
X-auth-token
required
string

X-auth-token from the login API response.

Request Body schema: application/json
email
required
string <email>

Email of the user whose role should change.

role
required
string

The new role.

Responses

Request samples

Content type
application/json
{
  • "email": "mentee@tunerlabs.com",
  • "role": "mentor"
}

Response samples

Content type
application/json
{
  • "responseCode": "CLIENT_ERROR",
  • "error": [
    ],
  • "meta": {
    },
  • "message": "string"
}

Validate Email IDs

This API validates a list of email IDs.

  • Endpoint: /user/v1/account/validatingEmailIds
  • emailIds (non-empty array of valid emails) is required.
Authorizations:
XAuthToken
header Parameters
X-auth-token
required
string

X-auth-token from the login API response.

Request Body schema: application/json
emailIds
required
Array of strings <email>

Non-empty array of email addresses.

Responses

Request samples

Content type
application/json
{
  • "emailIds": [
    ]
}

Response samples

Content type
application/json
{
  • "responseCode": "CLIENT_ERROR",
  • "error": [
    ],
  • "meta": {
    },
  • "message": "string"
}

List Sessions

This API lists the authenticated user's sessions.

  • Endpoint: /user/v1/account/sessions
Authorizations:
XAuthToken
query Parameters
status
string

Optional session status filter (e.g. ACTIVE).

period
string

Optional time period filter.

header Parameters
X-auth-token
required
string

X-auth-token from the login API response.

Responses

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "User sessions fetched successfully",
  • "result": {
    },
  • "meta": {
    }
}

Validate User Session

This API validates a user session by token.

  • Endpoint: /user/v1/account/validateUserSession
Request Body schema: application/json
token
string

The session token to validate.

Responses

Request samples

Content type
application/json
{
  • "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "User session validated successfully",
  • "result": {
    },
  • "meta": {
    }
}

Users APIs

Reading and updating user profile data and preferences.

List user

This API lists users.

  • Endpoint: /user/v1/account/list
  • type query parameter is required.
Authorizations:
XAuthToken
query Parameters
type
required
string
Example: type=mentor

Type of user (e.g. mentor, mentee).

page
number
Example: page=1

Page number for pagination.

limit
number
Example: limit=2

Number of records to limit.

search
string
Example: search=john

Search for name or title of user.

header Parameters
X-auth-token
required
string

X-auth-token from the login API response.

Responses

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "User list fetched successfully.",
  • "result": {
    },
  • "meta": {
    }
}

Search User

This API searches users.

  • Endpoint: /user/v1/account/search
  • tenant_code, type, and organization_id are required query parameters; user_ids and excluded_user_ids are required in the body.
Authorizations:
XAuthToken
query Parameters
tenant_code
required
string
Example: tenant_code=default

Tenant code.

type
required
string
Example: type=mentor

Valid user type (mentee, mentor, session_manager, org_admin, reviewer), or all.

organization_id
required
number
Example: organization_id=1

Organization ID.

page
number
Example: page=1

Page number for pagination.

limit
number
Example: limit=2

Number of records to limit.

search
string
Example: search=john

Search for the name or title of the user.

header Parameters
X-auth-token
required
string

X-auth-token from the login API response.

Request Body schema: application/json
user_ids
required
Array of integers

User IDs to include in the search.

excluded_user_ids
required
Array of integers

User IDs to exclude from the search.

Responses

Request samples

Content type
application/json
{
  • "user_ids": [
    ],
  • "excluded_user_ids": [
    ]
}

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "User list fetched successfully.",
  • "result": {
    },
  • "meta": {
    }
}

User Details

This API retrieves details of a user's profile.

  • Endpoint: /user/v1/user/read/{userId}. There is also an id-less variant, /user/v1/user/read, which defaults to the authenticated caller's own id.
  • language is optional; when provided and not en, role labels are localized to it.
  • An optional internal_access_token header allows fetching a soft-deleted user's details.
  • Note: the path id and language query parameter are not subject to additional format validation.
Authorizations:
XAuthToken
path Parameters
userId
required
integer
Example: 22

User ID to look up. (Note: functionally optional in the underlying controller -- omitting this whole path segment via the sibling route /user/v1/user/read defaults to the authenticated caller's own id.)

query Parameters
language
string
Example: language=en

Language code used to localize role labels in the response.

header Parameters
X-auth-token
required
string

To make use of the API, you require X-auth-token. This is Available in login API Response.

internal_access_token
string

Optional. When present, allows fetching a soft-deleted (paranoid-excluded) user's details.

Responses

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "Profile fetched successfully.",
  • "result": {
    },
  • "meta": {
    }
}

User Profile By Id

Retrieves a user's public profile by id, or by email/username/phone (+phone_code) query lookup when no id is given.

  • Endpoint: /user/v1/user/profileById/{userId}. There is also an id-less variant, /user/v1/user/profileById, for the query-based lookup described below.
  • Mandatory parameters marked as required must have valid values.
  • Parameters cannot be empty or null.
  • Cross-field rule, only enforced when no path id is given: at least one of email, username, or phone must be provided; if phone is provided, phone_code is then also required.
Authorizations:
XAuthToken
path Parameters
userId
required
string^[0-9]+$
Example: 22

Numeric user id. Optional in the underlying controller (see id-less variant note above).

query Parameters
email
string <email>
Example: email=example@mail.com

Email to look up by (only used when no path id is given).

username
string
Example: username=mentee_3t7m88mvl5

Username to look up by (only used when no path id is given).

phone
string^[0-9]{7,15}$
Example: phone=9876543210

Phone number to look up by, 7-15 digits (only used when no path id is given). Requires phone_code if provided.

phone_code
string^\+[0-9]{1,4}$
Example: phone_code=+91

Country dialing code, e.g. +91. Required if phone is provided.

tenant_code
required
string
Example: tenant_code=default

Tenant code to scope the lookup to.

header Parameters
X-auth-token
required
string

To make use of the API, you require X-auth-token. This is Available in login API Response.

Responses

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "User profile fetched successfully!",
  • "result": {
    },
  • "meta": {
    }
}

Setting preferred language of user

This API updates a user's preferred language.

  • Endpoint: /user/v1/user/setLanguagePreference
  • Mandatory parameters marked as required must have valid values.
  • Parameters cannot be empty or null.
Authorizations:
XAuthToken
header Parameters
X-auth-token
required
string

To make use of the API, you require X-auth-token. This is Available in login API Response.

Request Body schema: application/json
preferred_language
required
string

Preferred language value/code.

Responses

Request samples

Content type
application/json
{
  • "preferred_language": "en"
}

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "Your language is changed successfully",
  • "result": {
    },
  • "meta": {
    }
}

Update User Profile

This API updates the authenticated user's own profile.

  • Endpoint: /user/v1/user/update
  • Mandatory parameters marked as required must have valid values.
  • Parameters cannot be empty or null.
  • All request body fields are optional.
  • No cross-field rules apply to this operation.
Authorizations:
XAuthToken
header Parameters
X-auth-token
required
string

To make use of the API, you require X-auth-token. This is Available in login API Response.

Request Body schema: application/json
name
string

User's name. Must match ^[A-Za-z ]+$ if provided (letters and spaces only).

about
string

Short bio. Must match ^[a-zA-Z0-9-.,\s]+$ if provided.

has_accepted_terms_and_conditions
boolean
languages
Array of strings
image
string

Image path/URL string.

Responses

Request samples

Content type
application/json
{
  • "name": "John Doe",
  • "about": "Experienced teacher",
  • "has_accepted_terms_and_conditions": true,
  • "languages": [
    ],
  • "image": "profile-images/user22.png"
}

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "Profile updated successfully.",
  • "result": {
    },
  • "meta": {
    }
}

Share Mentor Profile

This API is associated with sharing a mentor's profile.

  • Endpoint for sharing a mentor's profile: /user/v1/user/share/{userId}
  • Mandatory parameters marked as required must have valid values.
  • Parameters cannot be empty or null.
Authorizations:
XAuthToken
path Parameters
userId
required
string
Example: 22

Please append a valid User ID to the Request URL.

header Parameters
X-auth-token
required
string

To make use of the API, you require X-auth-token. This is Available in login API Response.

Responses

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "Profile share link generated successfully",
  • "result": {
    },
  • "meta": {
    }
}

Tenant APIs

Managing tenants, their domains, and tenant-level bulk user operations.

Create or update a tenant

Single endpoint that both creates and updates tenants, depending on whether an id path parameter is present.

  • Create: POST /user/v1/tenant/update (no id). Bootstraps a brand-new tenant: the tenant row, its domains, a default organization, and copies of the default organization's entity types/entities, forms, notification templates, org features and user roles. Any failure partway through rolls back everything created so far.

  • Update: POST /user/v1/tenant/update/{id} (id = tenant code). Applies a partial update to the tenant and emits a change event.

  • code, domains and status in the request body are always stripped server-side and cannot be changed via this endpoint (see tenantUpsertRequest).

  • The X-auth-token is mandatory and cannot be empty or null.

Authorizations:
XAuthToken
header Parameters
X-auth-token
required
string

Access token of the logged-in user.

Request Body schema: application/json
One of
name
required
string

Display name of the tenant. Must not be empty after trimming.

code
required
string^[a-zA-Z0-9_]+$

Unique tenant code. Letters, numbers and underscores only. Must not be empty after trimming.

description
required
string

Tenant description.

logo
required
string

URL (or opaque string) for the tenant logo.

object

Free-form theming object (or a JSON string representing one) - only checked for being a valid plain object, no fixed shape enforced by the validator.

object

Tenant auth configuration. If omitted, defaults server-side to the deployment's configured default (typically allowed_auth_mode of otp/password and a default auto_register value). When supplied, allowed_auth_mode must be a non-empty array whose every entry is one of the deployment's allowed auth modes, and auto_register must be a boolean.

object

Free-form metadata object (or a JSON string representing one).

domains
required
string

One or more domains for the tenant. Accepted as a single string (comma-separated for multiple domains). Must not be empty after trimming.

Responses

Request samples

Content type
application/json
{
  • "name": "Replay Test Tenant",
  • "code": "tenant3t7o723zj5",
  • "description": "created by replay script",
  • "configuration": {
    },
  • "domains": "shikshalokam-qa.tekdinext.com"
}

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "Tenant created successfully.",
  • "result": {
    },
  • "meta": {
    }
}

Update an existing tenant

Updates an existing tenant identified by the id path parameter (tenant code). This is the update branch of tenant creation/update - see update for details on how tenants are created.

Authorizations:
XAuthToken
path Parameters
id
required
string^[a-zA-Z0-9_]+$
Example: tenant3t7o723zj5

Tenant code to update.

header Parameters
X-auth-token
required
string

Access token of the logged-in user.

Request Body schema: application/json
One of
name
required
string

Display name of the tenant. Must not be empty after trimming.

code
required
string^[a-zA-Z0-9_]+$

Unique tenant code. Letters, numbers and underscores only. Must not be empty after trimming.

description
required
string

Tenant description.

logo
required
string

URL (or opaque string) for the tenant logo.

object

Free-form theming object (or a JSON string representing one) - only checked for being a valid plain object, no fixed shape enforced by the validator.

object

Tenant auth configuration. If omitted, defaults server-side to the deployment's configured default (typically allowed_auth_mode of otp/password and a default auto_register value). When supplied, allowed_auth_mode must be a non-empty array whose every entry is one of the deployment's allowed auth modes, and auto_register must be a boolean.

object

Free-form metadata object (or a JSON string representing one).

domains
required
string

One or more domains for the tenant. Accepted as a single string (comma-separated for multiple domains). Must not be empty after trimming.

Responses

Request samples

Content type
application/json
{
  • "configuration": {
    }
}

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "Tenant updated successfully.",
  • "result": {
    },
  • "meta": {
    }
}

Add domain(s) to a tenant

Adds one or more verified domains to an existing tenant.

  • Endpoint: POST /user/v1/tenant/addDomain/{id} (id = tenant code).

  • Domains already registered for the tenant are silently skipped (not re-added); if the resulting to-create list is empty because every domain already existed, TENANT_DOMAINS_ALREADY_PRESENT is returned (202); if it's empty because every supplied entry was invalid (non-string or empty string), INVALID_TENANT_DOMAINS is returned (202) - see tenantInvalidDomains202Response.

  • The X-auth-token is mandatory and cannot be empty or null.

Authorizations:
XAuthToken
path Parameters
id
required
string^[a-zA-Z0-9_]+$
Example: shikshagraha

Tenant code to add domains to.

header Parameters
X-auth-token
required
string

Access token of the logged-in user.

Request Body schema: application/json
required
Array of strings or string

One or more domains to add to the tenant.

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "Tenant domains added successfully",
  • "result": {
    },
  • "meta": {
    }
}

Remove domain(s) from a tenant

Removes one or more domains from an existing tenant.

  • Endpoint: POST /user/v1/tenant/removeDomain/{id} (id = tenant code).

  • Domains that don't match any of the tenant's existing domains are ignored; if NONE of the supplied domains match, NO_MATCHING_TENANT_DOMAINS_TO_REMOVE is returned (406). A tenant must always retain at least one domain - TENANT_DOMAINS_ATLEAST_ONE_MANDATORY is returned (406) if the requested removal would remove every existing domain.

  • The X-auth-token is mandatory and cannot be empty or null.

Authorizations:
XAuthToken
path Parameters
id
required
string^[a-zA-Z0-9_]+$
Example: tenant3t7o723zj5

Tenant code to remove domains from.

header Parameters
X-auth-token
required
string

Access token of the logged-in user.

Request Body schema: application/json
required
Array of strings or string

One or more domains to remove from the tenant.

Responses

Request samples

Content type
application/json
{
  • "domains": [
    ]
}

Response samples

Content type
application/json
Example
{
  • "responseCode": "OK",
  • "message": "TENANT_DOMAINS_ADDED_SUCCESSFULLY",
  • "result": {
    },
  • "meta": {
    }
}

Read tenant details

Fetches details for a single tenant.

  • Endpoint: GET /user/v1/tenant/read/{id} (id = tenant code). An id-less variant, GET /user/v1/tenant/read, is also available and defaults to the caller's own tenant.

  • Caller must have a decoded token with at least one role, or PERMISSION_DENIED (400) is returned.

  • If the caller holds the full admin role, id selects any tenant in the system (all columns except deleted_at, plus organizations and domains arrays are returned).

  • If the caller does NOT hold the full admin role, only their own tenant can be read - if id is supplied and differs from their own tenant code, PERMISSION_DENIED (400) is returned; only code, name, description, configuration, meta are returned (no organizations/domains arrays).

  • The X-auth-token is mandatory and cannot be empty or null.

Authorizations:
XAuthToken
path Parameters
id
string
Example: default

Tenant code to read. Optional for non-admin callers (defaults to the caller's own tenant); effectively required for admin callers (otherwise no tenant code is resolved and TENANT_NOT_FOUND is returned).

header Parameters
X-auth-token
required
string

Access token of the logged-in user.

Responses

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "Tenant details fetched.",
  • "result": {
    },
  • "meta": {
    }
}

Read tenant details (internal service-to-service call)

Internal-only variant of read for service-to-service calls, always fetched with full/admin-level detail regardless of caller role. Authorization is via the internal_access_token header instead of a user's X-auth-token.

  • Endpoint: GET /user/v1/tenant/readInternal/{id} (id = tenant code).

  • If id is empty/missing, TENANT_CODE_REQUIRED (400) is returned.

Authorizations:
InternalAccessToken
path Parameters
id
required
string
Example: shikshalokam

Tenant code to read.

header Parameters
internal_access_token
required
string

Shared secret for internal service-to-service calls. Must equal process.env.INTERNAL_ACCESS_TOKEN (runtime config).

Responses

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "Tenant details fetched.",
  • "result": {
    },
  • "meta": {
    }
}

List tenants

Fetches a paginated, optionally-searched list of tenants (code, name, description only per row).

  • Endpoint: GET /user/v1/tenant/list.
  • search matches (case-insensitive) against code or name.
  • The X-auth-token is mandatory and cannot be empty or null.
Authorizations:
XAuthToken
query Parameters
page
integer >= 1

Page number (1-indexed). Defaults to 1.

limit
integer

Page size.

search
string

Case-insensitive substring match against tenant code or name.

header Parameters
X-auth-token
required
string

Access token of the logged-in user.

Responses

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "Tenant list fetched successfully.",
  • "result": [
    ],
  • "meta": {
    }
}

Bulk-create/invite users for a tenant's organization

Kicks off a bulk user create/invite from a previously-uploaded CSV, scoped to one organization within a tenant.

  • Endpoint: POST /user/v1/tenant/bulkUserCreate.

  • The target organization is resolved from the organizationcode / tenantcode headers, not from the request body. organizationcode may be either the organization's numeric id or its code.

  • If the organization cannot be found, or is found but does not belong to the given tenant, the request fails before any upload work starts (see the 406 responses below).

  • The X-auth-token is mandatory and cannot be empty or null.

Authorizations:
XAuthToken
header Parameters
X-auth-token
required
string

Access token of the logged-in user.

organizationcode
required
string
Example: sot

Organization id or code the bulk upload is scoped to.

tenantcode
required
string
Example: shikshagraha

Tenant code the bulk upload is scoped to.

Request Body schema: application/json
file_path
required
string

Path (relative to the configured storage bucket) of the previously-uploaded CSV.

upload_type
required
string
Enum: "upload" "invite"

Upload mode. Compared case-insensitively against UPLOAD/INVITE (.toUpperCase() is applied both client and server side).

editable_fields
Array of strings

Optional list of user fields that may be edited via the bulk upload.

Responses

Request samples

Content type
application/json
{
  • "file_path": "users/1-1761570904451-users/1-1756128403580-27-oct-bulkupload.csv",
  • "upload_type": "upload",
  • "editable_fields": [
    ]
}

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "USER_CSV_UPLOADED",
  • "result": { },
  • "meta": { }
}

Organization

Creating, updating, and looking up organizations and their registration codes.

Create Organization

Creates a new organization.

  • Endpoint: /user/v1/organization/create
  • Mandatory parameters marked as required must have valid values.
  • Parameters cannot be empty or null.
  • Caller must have the ADMIN_ROLE or TENANT_ADMIN_ROLE role, otherwise a 400 USER_IS_NOT_A_ADMIN is returned.
Authorizations:
XAuthToken
header Parameters
X-auth-token
required
string

X-auth-token required for API access. Available in the login API Response.

Request Body schema: application/json
name
required
string

The name of the organization.

code
required
string

A unique code representing the organization. Only lowercase alphanumeric characters are allowed.

description
required
string

A brief description of the organization.

tenant_code
required
string

Code of the tenant the organization belongs to.

domains
required
Array of strings

List of email domains associated with the organization.

registration_codes
Array of strings

Optional list of registration codes for the organization.

admin_email
string

Optional email of the user to be assigned as the organization admin.

Responses

Request samples

Content type
application/json
{
  • "name": "MentorEd",
  • "code": "mentor112",
  • "description": "testing",
  • "tenant_code": "default",
  • "domains": [
    ],
  • "registration_codes": [ ],
  • "admin_email": "admin@example.com"
}

Response samples

Content type
application/json
{
  • "responseCode": "string",
  • "message": "string",
  • "result": { }
}

Update Organization

This API is associated with updating an organization.

  • Endpoint for updating organization: /user/v1/organization/update/{id}
  • It is mandatory to provide values for parameters marked with required.
  • Mandatory parameters cannot be empty or null.
  • Caller must be an ADMIN_ROLE, ORG_ADMIN_ROLE, or TENANT_ADMIN_ROLE. An org-admin/tenant-admin may only update their own organization; supplying related_orgs while updating a different organization is rejected (see updateOrganization400Response).
Authorizations:
XAuthToken
path Parameters
id
required
integer
Example: 1

Please append a valid organization ID to the request URL.

header Parameters
X-auth-token
required
string

To make use of the API, you require X-auth-token. This is available in the login API response.

Request Body schema: application/json
name
string

The updated name of the organization.

description
string

The updated description of the organization.

related_orgs
Array of integers

List of related organization IDs. If the caller is an org-admin/tenant-admin updating an organization other than their own and supplies this field, the request is rejected with a 400 error.

Responses

Request samples

Content type
application/json
{
  • "name": "MentorEd",
  • "description": "testing",
  • "related_orgs": [
    ]
}

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "Organization updated successfully",
  • "result": [ ],
  • "meta": {
    }
}

List Organization

This API is associated with listing organizations based on specified conditions.

  • Endpoint for listing organizations: /user/v1/organization/list
  • Mandatory parameters marked as required must have valid values.
  • Parameters cannot be empty or null.
  • The response shape depends on which parameters are supplied: (1) when tenant_code is present, a filtered array of organizations for that tenant is returned (optionally further filtered by organization_codes); (2) when organizationIds is supplied in the request body instead, an array of organizations for those ids is returned; (3) otherwise, a paginated listing is returned using pageNo/pageSize/searchText.
Authorizations:
XAuthToken
query Parameters
page
number
Example: page=1

Please specify the page number. Used only when neither tenant_code nor body.organizationIds is supplied (paginated branch).

limit
number
Example: limit=2

Specify the number of records to limit. Used only in the paginated branch.

search
string
Example: search=john

Search for organizations based on name or title. Used only in the paginated branch.

tenant_code
string

When supplied, switches to the tenant-scoped array branch instead of the paginated branch.

organization_codes
string

Comma-separated list of organization codes; only used together with tenant_code, to further filter the tenant-scoped branch.

header Parameters
X-auth-token
required
string

To make use of the API, you require X-auth-token. This is available in the login API response.

Responses

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "Organization fetched successfully.",
  • "result": {
    },
  • "meta": {
    }
}

Request Org Role

This API is associated with requesting a specific role within an organization.

  • Endpoint: /user/v1/organization/requestOrgRole
  • Mandatory parameters marked as required must have valid values.
  • Parameters cannot be empty or null.
Authorizations:
XAuthToken
header Parameters
X-auth-token
required
string

User's access token, which already recognizes the user as the organization's mentee.

Request Body schema: application/json

Request body containing role information.

role
required
integer

The specific role id being requested.

required
object

Answers to the organization-specific role-request form.

Responses

Request samples

Content type
application/json
{
  • "role": 2,
  • "form_data": {
    }
}

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "Admin has received your request. Further information will be received through Email.",
  • "result": {
    },
  • "meta": {
    }
}

Read Organization

Reads an organization by id or by code (+ optional tenant_code).

  • Endpoint: /user/v1/organization/read
  • At least one of organisation_id or organisation_code must be present.
Authorizations:
XAuthToken
query Parameters
organisation_id
string

Organization id. At least one of organisation_id or organisation_code is required (see description above).

organisation_code
string

Organization code. At least one of organisation_id or organisation_code is required (see description above). If used, an optional tenant_code query param further scopes the lookup.

tenant_code
string

Optional tenant code, only used together with organisation_code.

header Parameters
X-auth-token
required
string

Responses

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "Organization fetched successfully.",
  • "result": {
    },
  • "meta": {
    }
}

Organization Details

Reads detailed organization info for an organization the caller belongs to.

  • Endpoint: /user/v1/organization/details/{id}
  • The caller must have a user-organization mapping for this tenant, and the requested organization id must be among the caller's mapped organizations, otherwise ORGANIZATION_NOT_ACCESSIBLE is returned.
Authorizations:
XAuthToken
path Parameters
id
required
integer
Example: 1

Organization id.

header Parameters
X-auth-token
required
string

Responses

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "Organization fetched successfully.",
  • "result": {
    },
  • "meta": {
    }
}

Add Organization Registration Codes

Adds one or more registration codes to an organization.

  • Endpoint: /user/v1/organization/addRegistrationCode/{id}
  • id here is the organization code (not the numeric id).
  • Caller must be ADMIN_ROLE, ORG_ADMIN_ROLE, or TENANT_ADMIN_ROLE.
  • tenant_code in the request body is conditionally required only for ADMIN_ROLE callers - see addRegistrationCodeRequest.
Authorizations:
XAuthToken
path Parameters
id
required
string
Example: mentor112

Organization code.

header Parameters
X-auth-token
required
string
Request Body schema: application/json
registration_codes
required
Array of strings

List of registration codes to add. Must be a non-empty array.

tenant_code
string

Tenant code. Conditionally required: only when the caller is a platform admin. For org-admins the tenant code is derived from the auth token instead. When absent for an admin caller, the request fails.

Responses

Request samples

Content type
application/json
{
  • "registration_codes": [
    ],
  • "tenant_code": "default"
}

Response samples

Content type
application/json
{
  • "responseCode": "string",
  • "message": "string",
  • "meta": { }
}

Remove Organization Registration Codes

Removes one or more registration codes from an organization.

  • Endpoint: /user/v1/organization/removeRegistrationCode/{id}
  • id here is the organization code (not the numeric id).
  • Caller must be ADMIN_ROLE, ORG_ADMIN_ROLE, or TENANT_ADMIN_ROLE.
  • tenant_code in the request body is conditionally required only for ADMIN_ROLE callers - see removeRegistrationCodeRequest.
Authorizations:
XAuthToken
path Parameters
id
required
string
Example: mentor112

Organization code.

header Parameters
X-auth-token
required
string
Request Body schema: application/json
registration_codes
required
Array of strings

List of registration codes to remove. Must be a non-empty array.

tenant_code
string

Tenant code. Conditionally required: only when the caller is a platform admin. For org-admins the tenant code is derived from the auth token instead. When absent for an admin caller, the request fails.

Responses

Request samples

Content type
application/json
{
  • "registration_codes": [
    ],
  • "tenant_code": "default"
}

Response samples

Content type
application/json
{
  • "responseCode": "string",
  • "message": "string",
  • "meta": { }
}

Add Related Organizations

Adds one or more related organization ids to an organization.

  • Endpoint: /user/v1/organization/addRelatedOrg/{id}
  • related_orgs is optional; if omitted, it defaults to an empty list.
Authorizations:
XAuthToken
path Parameters
id
required
integer
Example: 1

Organization id.

header Parameters
X-auth-token
required
string
Request Body schema: application/json
related_orgs
Array of integers

List of related organization IDs to associate.

Responses

Request samples

Content type
application/json
{
  • "related_orgs": [
    ]
}

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "Organization updated successfully",
  • "result": [ ],
  • "meta": {
    }
}

Remove Related Organizations

Removes one or more related organization ids from an organization.

  • Endpoint: /user/v1/organization/removeRelatedOrg/{id}
  • related_orgs is optional; if omitted, it defaults to an empty list.
Authorizations:
XAuthToken
path Parameters
id
required
integer
Example: 1

Organization id.

header Parameters
X-auth-token
required
string
Request Body schema: application/json
related_orgs
Array of integers

List of related organization IDs to remove.

Responses

Request samples

Content type
application/json
{
  • "related_orgs": [
    ]
}

Response samples

Content type
application/json
{
  • "responseCode": "string",
  • "message": "string",
  • "meta": { }
}

Org Admin APIs

Handling organization role requests, bulk user invites, and org-scoped user administration.

Get Requests

Get a list of organization requests based on specified filters.

  • It is mandatory to provide values for parameters marked with required.
  • Mandatory parameters cannot be empty or null.
Authorizations:
XAuthToken
header Parameters
X-auth-token
required
string

Access token of the org admin.

Request Body schema: application/json
object

Arbitrary key/value filters merged directly into the DB query filter (no field allowlist in code).

Responses

Request samples

Content type
application/json
{
  • "filters": {
    }
}

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "Organization requests fetched successfully",
  • "result": {
    },
  • "meta": {
    }
}

Update Request Status

Update the status of an organization request.

  • Endpoint: /user/v1/org-admin/updateRequestStatus.
  • It is mandatory to provide values for parameters marked with required.
  • Mandatory parameters cannot be empty or null.
Authorizations:
XAuthToken
header Parameters
X-auth-token
required
string

Access token of the org admin.

Request Body schema: application/json
request_id
required
integer
status
required
string

The new status for the request. "APPROVED" and "REJECTED" are the recognized values that trigger a notification email; any other non-empty value updates the request status without sending an email.

comments
string

Optional; not required by the validator. Stored as-is on the request record.

Responses

Request samples

Content type
application/json
{
  • "request_id": 12,
  • "status": "APPROVED",
  • "comments": "string"
}

Response samples

Content type
application/json
{
  • "responseCode": "string",
  • "message": "string",
  • "result": { },
  • "meta": { }
}

Get Request Details

Get details of a specific organization request. The id is supplied as a URL path parameter.

Authorizations:
XAuthToken
path Parameters
id
required
integer
Example: 12

ID of the organization role-change request.

header Parameters
X-auth-token
required
string

Access token of the org admin.

Responses

Response samples

Content type
application/json
{
  • "responseCode": "string",
  • "message": "string",
  • "result": { },
  • "meta": { }
}

Bulk User Create

Create multiple users in bulk using a CSV file (invite/upload flow).

  • Endpoint: /user/v1/org-admin/bulkUserCreate.
  • It is mandatory to provide values for parameters marked with required.
  • Mandatory parameters cannot be empty or null.
Authorizations:
XAuthToken
header Parameters
X-auth-token
required
string

Access token of the org admin.

Request Body schema: application/json
file_path
required
string

The path to the uploaded CSV file containing user data.

upload_type
required
string
Enum: "INVITE" "UPLOAD"

Type of bulk upload.

Responses

Request samples

Content type
application/json
{
  • "file_path": "path/to/uploaded-csv-file",
  • "upload_type": "INVITE"
}

Response samples

Content type
application/json
{
  • "responseCode": "string",
  • "message": "string",
  • "result": {
    },
  • "meta": { }
}

Get Bulk Invite Files List

Get a list of uploaded bulk invite CSV files.

  • It is mandatory to provide values for parameters marked with required.
  • Mandatory parameters cannot be empty or null.
Authorizations:
XAuthToken
query Parameters
page
integer

Page number for pagination.

limit
integer

Number of items per page.

status
string

Optional filter on file-upload status.

header Parameters
X-auth-token
required
string

Access token of the org admin.

Responses

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "Bulk Invites CSV List Fetched Successfully",
  • "result": {
    },
  • "meta": {
    }
}

Deactivate User(s)

Deactivate one or more users in the org admin's organization by ID and/or email, passed as arrays in the request body.

  • It is mandatory to provide values for parameters marked with required.
  • Mandatory parameters cannot be empty or null.
  • At least one of ids or emails must be provided; requests with neither (or with both empty) are rejected before being processed - see the 422 response.
Authorizations:
XAuthToken
header Parameters
X-auth-token
required
string

Access token of the org admin.

Request Body schema: application/json
Any of
ids
required
Array of integers

Array of user IDs to deactivate.

emails
Array of strings <email>

Array of user email addresses to deactivate.

Responses

Request samples

Content type
application/json
Example
{
  • "ids": [
    ]
}

Response samples

Content type
application/json
{
  • "responseCode": "string",
  • "message": "string",
  • "result": {
    },
  • "meta": { }
}

Inherit Entity Type

Inherit an entity type from the default organization into the caller's organization.

  • It is mandatory to provide values for parameters marked with required.
  • Mandatory parameters cannot be empty or null.
  • Whether the caller's own organization is the default organization is determined by comparing the caller's organization code against the configured default organization code for the deployment. Because this depends on deployment configuration, the caller's organization must not itself be the default organization for this operation to succeed.
Authorizations:
XAuthToken
header Parameters
X-auth-token
required
string

Access token of the org admin.

Request Body schema: application/json
entity_type_value
required
string
target_entity_type_label
required
string

Responses

Request samples

Content type
application/json
{
  • "entity_type_value": "categories",
  • "target_entity_type_label": "training"
}

Response samples

Content type
application/json
{
  • "responseCode": "string",
  • "message": "string",
  • "result": {
    },
  • "meta": { }
}

Update User Roles (org admin)

Assign roles to a user within the caller's own organization.

Authorizations:
XAuthToken
path Parameters
id
required
integer
Example: 12

ID of the user whose roles are being updated.

header Parameters
X-auth-token
required
string

Access token.

Request Body schema: application/json
organization_id
integer
roles
Array of strings

Responses

Request samples

Content type
application/json
{
  • "organization_id": 2,
  • "roles": [
    ]
}

Response samples

Content type
application/json
{
  • "responseCode": "string",
  • "message": "string",
  • "result": [
    ],
  • "meta": { }
}

Create Users (bulk, tenant-aware variant)

Bulk-create users via an uploaded CSV, with editable-field and upload-type controls (tenant-code-aware variant of bulkUserCreate).

Authorizations:
XAuthToken
header Parameters
X-auth-token
required
string

Access token.

Request Body schema: application/json
file_path
string
Array of strings or string

Accepted as an array, or a comma-separated string (split in the service).

upload_type
string

Case-insensitive; normalized to uppercase.

Responses

Request samples

Content type
application/json
{
  • "file_path": "path/to/uploaded-csv-file",
  • "editable_fields": [
    ],
  • "upload_type": "string"
}

Response samples

Content type
application/json
{
  • "responseCode": "string",
  • "message": "string",
  • "result": { },
  • "meta": { }
}

Organization Feature APIs

Managing feature toggles scoped to an organization.

Create Organization Feature

Use this API to create a new organization feature.

  • Endpoint: /user/v1/organization-feature/create (POST).

  • Caller must have the admin or org_admin role; otherwise the request fails with USER_IS_NOT_ADMIN.

  • feature_code, feature_name and display_order are mandatory and cannot be empty. display_order must be a non-empty string of digits.

  • If the caller has the full admin role, the organizationcode and tenantcode headers (when present) override the organization/tenant resolved from the auth token. For an org_admin caller these headers are ignored and the token's own organization_code/tenant_code are used. Either way, if organization_code or tenant_code cannot be resolved, the request fails with ORGANIZATION_CODE_OR_TENANT_CODE_NOT_FOUND.

  • If the caller is not a full admin and is creating the feature outside the tenant's default organization, the tenant's default organization must already have an enabled copy of the same feature_code. If none exists, the request fails with FEATURE_NOT_FOUND. If one exists, the client-supplied display_order is overridden by the default organization's display_order value. Full admins and default-organization callers skip this check entirely.

  • If roles is supplied, every title must already exist for the tenant — otherwise the request fails with ROLE_NOT_FOUND. On success, one feature_role_mapping row is created per role title.

  • A duplicate (feature_code, organization_code, tenant_code) is rejected as ORGANIZATION_FEATURE_EXISTS. A feature_code that does not correspond to any known feature also fails with FEATURE_NOT_FOUND (same message as the default-org check above, but a distinct cause).

  • Fields such as organization_code, tenant_code, created_by, updated_by, created_at, updated_at and deleted_at are always server-set and cannot be provided by the caller; any such values in the request body are ignored.

  • The X-auth-token is mandatory and cannot be empty or null. '

Authorizations:
XAuthToken
header Parameters
X-auth-token
required
string

Access token of the logged-in user.

organizationcode
string
Example: shikshagraha

Organization code override. Only honored when the caller has the full admin role; ignored for org_admin callers.

tenantcode
string
Example: default

Tenant code override. Only honored when the caller has the full admin role; ignored for org_admin callers.

Request Body schema: application/json
feature_code
required
string

Unique code identifying the feature.

feature_name
required
string

Human readable name of the feature.

display_order
required
integer

Ordering position of the feature. Must contain only digits.

roles
Array of strings

Optional list of role titles to map to this feature. Every title must already exist for the tenant, otherwise the request fails with ROLE_NOT_FOUND.

enabled
boolean

Whether the feature is enabled for the organization.

icon
string or null

Icon path/reference for the feature.

redirect_url
string or null

Redirect URL associated with the feature.

translations
object or null

Localized translations for the feature.

meta
object or null

Additional metadata for the feature.

Responses

Request samples

Content type
application/json
{
  • "feature_code": "feat3t7os9otwv",
  • "feature_name": "Replay Feature",
  • "display_order": 1
}

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "Organization feature created successfully",
  • "result": {
    },
  • "meta": {
    }
}

Update Organization Feature

Use this API to update an existing organization feature.

  • Endpoint: /user/v1/organization-feature/update/{id} (PATCH, or any HTTP method other than DELETE). Despite the generic route param name id, the value is matched against the feature's feature_code, not a numeric id.

  • Caller must have the admin or org_admin role, same as create; otherwise USER_IS_NOT_ADMIN. As with create, only the full admin role gets organizationcode/tenantcode header overrides.

  • Only feature_name is mandatory on this branch; feature_code, organization_code, tenant_code, and the audit/timestamp fields cannot be changed via update even if supplied in the body.

  • If roles is supplied (as an array), all existing role mappings for this feature/org/tenant are replaced with the new set — every title must exist for the tenant or the request fails with ROLE_NOT_FOUND.

  • If the update query matches zero rows, the request fails with FAILED_TO_UPDATE_ORG_FEATURE.

  • If feature_code's foreign-key constraint is violated, the request fails with a normal FEATURE_NOT_FOUND response. Any other unexpected error may instead reach the client as a generic 500 error.

  • The X-auth-token is mandatory and cannot be empty or null. '

Authorizations:
XAuthToken
path Parameters
id
required
string
Example: mitra

The organization feature's feature_code (string identifier), e.g. mitra. Not a numeric id despite the generic router parameter name.

header Parameters
X-auth-token
required
string

Access token of the logged-in user.

organizationcode
string

Organization code override. Only honored when the caller has the full admin role.

tenantcode
string

Tenant code override. Only honored when the caller has the full admin role.

Request Body schema: application/json
feature_name
required
string

Human readable name of the feature.

display_order
integer

Ordering position of the feature. Optional on update; must contain only digits when supplied.

roles
Array of strings

Optional list of role titles to map to this feature. When supplied, ALL existing feature_role_mapping rows for this feature/org/tenant are deleted and replaced with the new set. Every title must already exist for the tenant, otherwise the request fails with ROLE_NOT_FOUND.

enabled
boolean

Whether the feature is enabled for the organization.

icon
string

Icon path/reference for the feature.

redirect_url
string or null

Redirect URL associated with the feature.

translations
object or null

Localized translations for the feature.

meta
object

Additional metadata for the feature.

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "ORG_FEATURE_UPDATED_SUCCESSFULLY",
  • "result": { },
  • "meta": { }
}

Delete Organization Feature

Use this API to delete an organization feature.

  • Endpoint: /user/v1/organization-feature/update/{id} (DELETE). Same URL as the update operation. As with update, the id path param value is matched against the feature's feature_code, not a numeric id.

  • No request body is used by this operation.

  • Caller must have the admin or org_admin role, same as update; otherwise USER_IS_NOT_ADMIN. Same org/tenant code header override semantics as update.

  • The X-auth-token is mandatory and cannot be empty or null. '

Authorizations:
XAuthToken
path Parameters
id
required
string
Example: 3

The organization feature's feature_code (string identifier). Not a numeric id despite the generic router parameter name.

header Parameters
X-auth-token
required
string

Access token of the logged-in user.

organizationcode
string

Organization code override. Only honored when the caller has the full admin role.

tenantcode
string

Tenant code override. Only honored when the caller has the full admin role.

Responses

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "ORG_FEATURE_DELETED_SUCCESSFULLY",
  • "result": { },
  • "meta": { }
}

List Organization Features

Use this API to fetch the list of organization features visible to the caller.

  • Endpoint: /user/v1/organization-feature/read (GET, no id path param).

  • If the caller has the full admin role, the organizationcode and tenantcode headers (when present) override the organization/tenant resolved from the token. For any other role, the token's own organization_code/tenant_code are used. If organization_code or tenant_code cannot be resolved, the request fails with ORGANIZATION_CODE_OR_TENANT_CODE_NOT_FOUND.

  • Features are fetched for both the caller's organization and the tenant's default organization and merged, with the caller's own organization''s copy of a feature taking precedence over the default organization''s copy when both exist (same feature_code).

  • If the caller''s roles do NOT include admin, org_admin, or tenant_admin, the merged list is further filtered down to only features reachable via the caller''s roles (checked against both the caller''s organization and the default organization); if no matching role mappings exist at all, the result is an empty list.

  • Results are sorted by display_order ascending. Each row''s icon (if present) is resolved to a downloadable URL.

  • The X-auth-token is mandatory and cannot be empty or null. '

Authorizations:
XAuthToken
header Parameters
X-auth-token
required
string

Access token of the logged-in user.

organizationcode
string
Example: default_code

Organization code override. Only honored when the caller has the full admin role.

tenantcode
string
Example: shikshalokam

Tenant code override. Only honored when the caller has the full admin role.

Responses

Response samples

Content type
application/json
Example
{
  • "responseCode": "OK",
  • "message": "Organization Feature fetched successfully.",
  • "result": [
    ],
  • "meta": {
    }
}

Read Organization Feature

Use this API to fetch a single organization feature by feature code.

  • Endpoint: /user/v1/organization-feature/read/{id} (GET). As with update, the id path param value is matched against the feature's feature_code, not a numeric id.

  • Header/role semantics for resolving organization_code/tenant_code are identical to the list operation above.

  • The feature is first looked up under the caller's own organization_code; if not found, it falls back to the tenant's default organization. If still not found, the request fails with ORG_FEATURE_NOT_FOUND.

  • Unlike the list operation, this lookup does not exclude created_by/updated_by/timestamp columns, so the response shape may differ from a list item.

  • The X-auth-token is mandatory and cannot be empty or null. '

Authorizations:
XAuthToken
path Parameters
id
required
string
Example: mitra

The organization feature's feature_code (string identifier). Not a numeric id despite the generic router parameter name.

header Parameters
X-auth-token
required
string

Access token of the logged-in user.

organizationcode
string

Organization code override. Only honored when the caller has the full admin role.

tenantcode
string

Tenant code override. Only honored when the caller has the full admin role.

Responses

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "ORG_FEATURE_FETCHED",
  • "result": { },
  • "meta": { }
}

Entity APIs

Managing entities used to configure and extend platform data.

Create Entity

This API is associated with entity creation.

  • Endpoint for creating an entity: /user/v1/entity/create.
  • It is mandatory to provide values for parameters marked with required.
  • Mandatory parameters cannot be empty or null.
Authorizations:
XAuthToken
header Parameters
X-auth-token
required
string

To make use of the API, you require X-auth-token. This is Available in login API Response.

Request Body schema: application/json
value
required
string

Alphanumeric characters and spaces allowed.

label
required
string

Alphanumeric with spaces allowed.

type
required
string

Entity type classification. Must be uppercase with no spaces (e.g. SYSTEM).

entity_type_id
required
integer
status
string

Optional status of the entity. Must be uppercase with no spaces when provided.

Responses

Request samples

Content type
application/json
{
  • "value": "AP",
  • "label": "Andhra Pradesh",
  • "type": "SYSTEM",
  • "entity_type_id": 4,
  • "status": "ACTIVE"
}

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "Entity created successfully",
  • "result": {
    },
  • "meta": {
    }
}

Update Entity

This API is associated with updating an entity.

  • Endpoint for updating an entity: /user/v1/entity/update/{id}.
  • The entity id is supplied as a path parameter.
  • All request body fields are optional; provide only the fields to change.
Authorizations:
XAuthToken
path Parameters
id
required
integer
Example: 2

Please append a valid user entity ID to the request URL.

header Parameters
X-auth-token
required
string

To make use of the API, you require X-auth-token. This is Available in login API Response.

Request Body schema: application/json
value
string

Alphanumeric characters and spaces allowed.

label
string

Alphanumeric with spaces allowed.

status
string

Must be uppercase with no spaces when provided.

type
string

Entity type classification (uppercase, no spaces).

entity_type_id
number

The ID of the entity type.

Responses

Request samples

Content type
application/json
{
  • "value": "en",
  • "label": "English",
  • "status": "ACTIVE",
  • "entity_type_id": 1
}

Response samples

Content type
application/json
{
  • "responseCode": "string",
  • "message": "string",
  • "result": [
    ]
}

Read User Entity

This API retrieves a user entity by identifier.

  • Endpoint for retrieving a user entity: /user/v1/entity/read.
  • At least one identifier form must be supplied as a query parameter: either id, or the pair (value + entity_type_id). If neither is provided the request is rejected.
  • Example A (lookup by id): ?id=1.
  • Example B (lookup by value + entity_type_id): ?value=AP&entity_type_id=4.
Authorizations:
XAuthToken
query Parameters
id
integer
Examples:
  • id=1 - Example A - lookup by id

The entity ID. Provide either id on its own, or value together with entity_type_id.

value
string
Examples:
  • value=AP - Example B - lookup by value + entity_type_id

The entity value. Must be accompanied by entity_type_id. Used when id is not supplied.

entity_type_id
integer
Examples:
  • entity_type_id=4 - Example B - lookup by value + entity_type_id

The entity type ID. Used together with value when id is not supplied.

header Parameters
X-auth-token
required
string

To use the API, include X-auth-token. This is available in the login API response.

Responses

Response samples

Content type
application/json
{
  • "responseCode": "string",
  • "message": "string",
  • "result": [
    ]
}

Get entity list with pagination and search

Use this API to get the list of a user entities.

  • The API Endpoint for reading the list of the user entities is /user/v1/entity/list
  • It is mandatory to provide values for parameters which are marked as required
  • This is a mandatory parameter and cannot be empty or null.
Authorizations:
XAuthToken
query Parameters
page
number
Example: page=1

Please add page number

limit
number
Example: limit=10

Number of records to limit

search
string
Example: search=teacher

search text

entity_type_id
required
number
Example: entity_type_id=1

entity_type_id

header Parameters
X-auth-token
required
string

To use this API, you require an X-auth-token, which is available in the login API Response.

Responses

Response samples

Content type
application/json
{
  • "responseCode": "string",
  • "message": "string",
  • "result": {
    }
}

Delete Entity

This API is associated with deleting an entity.

  • Endpoint for deleting a user entity: /user/v1/entity/delete/{id}.
  • It is mandatory to provide values for parameters marked with required.
  • Mandatory parameters cannot be empty or null.
Authorizations:
XAuthToken
path Parameters
id
required
integer
Example: 31

Please append a valid user entity ID to the request URL.

header Parameters
X-auth-token
required
string

To use the API, include X-auth-token. This is available in the login API response.

Responses

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "Entity deleted successfully",
  • "result": [ ],
  • "meta": {
    }
}

EntityType APIs

Defining and managing the entity types available on the platform.

Create Entity Type

Use this API to create a user entity type.

  • Endpoint: /user/v1/entity-type/create
  • Provide values for parameters marked as required.
  • The X-auth-token is mandatory and cannot be empty or null.
Authorizations:
XAuthToken
header Parameters
X-auth-token
required
string

Access token of the user who is already a mentee of the organization.

Request Body schema: application/json
value
required
string

Unique identifier for the entity type. Must not contain spaces.

label
required
string

Descriptive label for the entity type.

data_type
required
string

Data type of the entity type value (e.g. STRING, ARRAY[STRING]).

model_names
required
Array of strings

One or more model names this entity type applies to. Must be a non-empty array.

allow_filtering
boolean

Not allowed on create. This field must be omitted; sending any truthy value fails validation.

Responses

Request samples

Content type
application/json
{
  • "value": "ln",
  • "label": "Languages",
  • "data_type": "STRING",
  • "model_names": [
    ],
  • "allow_filtering": true
}

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "Entity type created successfully.",
  • "result": {
    },
  • "meta": {
    }
}

Update Entity Type

Use this API to update an entity type.

  • Endpoint: /user/v1/entity-type/update/{id}
  • Provide values for parameters marked as required.
  • The X-auth-token is mandatory and cannot be empty or null.
Authorizations:
XAuthToken
path Parameters
id
required
integer
Example: 1

Please append a valid entity type ID to the request URL.

header Parameters
X-auth-token
required
string

Access token obtained from the login API response.

Request Body schema: application/json
value
string

Unique identifier for the entity type. Optional on update.

label
string

Descriptive label for the entity type. Optional on update.

status
string

Status of the entity type. Optional on update.

data_type
required
string

Data type of the entity type value.

model_names
required
Array of strings

One or more model names this entity type applies to. Must be a non-empty array, and each item must be one of the currently supported model names.

Responses

Request samples

Content type
application/json
{
  • "value": "ln",
  • "label": "Languages",
  • "status": "ACTIVE",
  • "data_type": "STRING",
  • "model_names": [
    ]
}

Response samples

Content type
application/json
{
  • "responseCode": "string",
  • "message": "string",
  • "result": {
    },
  • "meta": {
    }
}

Read Entity Type

Use this API to retrieve a list of entity types.

  • Endpoint: /user/v1/entity-type/read
  • When no value is sent in the body, all system entity types for the organization are returned (flat array).
  • When a value is sent, matching user entity types (with their entities) are returned under result.entity_types.
  • The X-auth-token is mandatory and cannot be empty or null.
  • Optional type, deleted, and status query parameters are also accepted; see the parameter descriptions below for details.
Authorizations:
XAuthToken
query Parameters
type
string

Optional. Filter by entity type name.

deleted
boolean

Optional. Filter by deleted status.

status
string

Optional. Filter by status.

header Parameters
X-auth-token
required
string

To make use of the API, you require X-auth-token. This is available in the login API response.

Request Body schema: application/json
value
Array of strings

Optional. Entity type value(s) to filter user entity types by.

read_user_entity
boolean

Responses

Request samples

Content type
application/json
Example
{ }

Response samples

Content type
application/json
Example
{
  • "responseCode": "OK",
  • "message": "Entity type fetched successfully",
  • "result": [
    ],
  • "meta": {
    }
}

Delete Entity Type

This API is associated with deleting an entity type.

  • Endpoint: /user/v1/entity-type/delete/{id}
  • It is mandatory to provide values for parameters marked with required.
  • Mandatory parameters cannot be empty or null.
Authorizations:
XAuthToken
path Parameters
id
required
integer
Example: 31

Please append a valid entity type ID to the request URL.

header Parameters
X-auth-token
required
string

To use the API, include X-auth-token. This is available in the login API response.

Responses

Response samples

Content type
application/json
{
  • "responseCode": "string",
  • "message": "string"
}

Form APIs

Creating and managing dynamic form configurations.

Create Form

This API is associated with creating a form.

  • Endpoint for creating a form: /user/v1/form/create
  • Mandatory parameters marked as required must have valid values.
  • Parameters cannot be empty or null.
  • id, version, and organization_id in the request body are ignored server-side (stripped before validation) even if supplied.
Authorizations:
XAuthToken
header Parameters
X-auth-token
required
string

To make use of the API, you require X-auth-token. This is Available in login API Response.

Request Body schema: application/json
type
required
string^[A-Za-z]+$

The type of the form. Letters only.

sub_type
required
string^[A-Za-z]+$

The sub-type or category of the form. Letters only.

required
object

The main data structure for the form.

Responses

Request samples

Content type
application/json
{
  • "type": "profile",
  • "sub_type": "profileForm",
  • "data": {
    }
}

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "Form created successfully",
  • "result": [ ],
  • "meta": {
    }
}

Update Form

This API is associated with updating a form.

  • Endpoint for updating a form: /user/v1/form/update/{formId}
  • Mandatory parameters marked as required must have valid values.
  • Parameters cannot be empty or null.
  • id, version, and organization_id in the request body are ignored server-side (stripped before validation) even if supplied.
  • Cross-field note: data.template_name and data.fields are only valid together.
Authorizations:
XAuthToken
path Parameters
formId
required
integer
Example: 1

Please append a valid form ID to the request URL.

header Parameters
X-auth-token
required
string

To make use of the API, you require X-auth-token. This is Available in login API Response.

Request Body schema: application/json
type
required
string^[A-Za-z]+$

The type of the form. Letters only.

sub_type
required
string^[A-Za-z]+$

The sub-type or category of the form. Letters only.

object

The main data structure for the form. template_name is required whenever data is supplied; see the cross-field note above regarding template_name/fields pairing.

Responses

Request samples

Content type
application/json
{
  • "type": "profile",
  • "sub_type": "profileForm",
  • "data": {
    }
}

Response samples

Content type
application/json
{
  • "responseCode": "string",
  • "message": "string",
  • "result": [
    ]
}

Get Form Details

This API is associated with retrieving form details.

  • Endpoint for retrieving form details: /user/v1/form/read/{formId}
  • It is mandatory to provide values for parameters marked with required.
  • Mandatory parameters cannot be empty or null.
  • Calling this endpoint with no formId and an empty body instead returns the full list of form versions (see readAllFormVersions200Response).
  • When a form is not found for the requesting organization, the lookup falls back to the default organization before returning a not-found error.
Authorizations:
XAuthToken
path Parameters
formId
required
integer
Example: 2

Please append a valid form Id to the Request URL. Note: the underlying controller treats this as optional (falls back to a body-based type/sub_type lookup, or to listing all form versions) but this documented route always supplies it — see the description above.

header Parameters
X-auth-token
required
string

To make use of the API, you require X-auth-token. This is Available in login API Response.

Request Body schema: application/json
One of
<= 0 properties
object (byIdOrListAll) <= 0 properties

Request object for retrieving form details. The request is handled differently depending on how it arrives — modeled below as oneOf per branch. Branch 1: a formId path parameter is supplied — the request body should be empty. Branch 2: no formId path parameter, but a non-empty body — type and sub_type are both required together. Branch 3: no formId and an empty body — the endpoint instead returns the full list of form versions, which is a materially different response shape (see readAllFormVersions200Response). Because formId is a path parameter, branch 1 and branch 3 both correspond to an empty request body — the request body schema alone cannot distinguish them; the path parameter does.

Responses

Request samples

Content type
application/json
Example
{ }

Response samples

Content type
application/json
{
  • "responseCode": "string",
  • "message": "string",
  • "result": {
    }
}

Feature APIs

Managing platform-wide feature flags.

Create Feature

Use this API to create a new feature.

  • Endpoint: /user/v1/feature/update (POST, no id path param). The controller's single update method branches into create logic when no id path param is supplied — see controllers/v1/feature.js#update.

  • label, code and display_order are mandatory and cannot be empty or null on create (see conditionalNotes in validator-fields.json: code and display_order are only required inside the if (!isUpdate) branch of validators/v1/feature.js#update).

  • label must be non-empty and may only contain letters (regex ^[A-Za-z]*$ combined with a notEmpty() check).

  • display_order must be a non-empty string of digits on create.

  • The request body is passed through filterRequestBody with the feature.create blacklist (constants/blacklistConfig.js), which strips any client-supplied created_by, updated_by, created_at, updated_at and deleted_at — these are always server-set and cannot be provided by the caller.

  • The X-auth-token is mandatory and cannot be empty or null. '

Authorizations:
XAuthToken
header Parameters
X-auth-token
required
string

Access token of the logged-in user.

Request Body schema: application/json
label
required
string

Human-readable feature label. Must contain only letters.

code
required
string

Unique feature code.

display_order
required
string^\d+$

Sort order used when listing features. Must be provided as a non-empty string of digits when creating a feature.

icon
string or null

Optional icon path. Not enforced by the validator; present on the persisted model.

description
string or null

Optional description. Not enforced by the validator; present on the persisted model.

meta
object or null

Optional metadata. Not enforced by the validator; present on the persisted model.

Responses

Request samples

Content type
application/json
{
  • "label": "ReplayFeature",
  • "code": "feat3t7os9otwv",
  • "display_order": "1"
}

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "Feature created successfully",
  • "result": {
    },
  • "meta": {
    }
}

Update Feature

Use this API to update an existing feature.

  • Endpoint: /user/v1/feature/update/{id} (POST). Despite the generic router param name id, the value is matched against the feature's code column (services/feature.js#update calls featureQueries.findByCode/updates { code: code }) — captured traffic keys this endpoint as POST /user/v1/feature/update/:code. Pass the feature's code value here, not a numeric id.

  • Only label is mandatory on update; code and display_order are NOT required on this branch (validator-fields.json's required:true for those fields applies only to the create branch).

  • The request body is passed through filterRequestBody with the feature.update blacklist (constants/blacklistConfig.js), which strips code, created_by, updated_by, created_at, updated_at and deleted_at from the body before it reaches the service layer. This means code cannot be changed via update — any code sent in the body is silently dropped, not merely optional.

  • The X-auth-token is mandatory and cannot be empty or null. '

Authorizations:
XAuthToken
path Parameters
id
required
string
Example: feat3t7os9otwv

The feature's code (string identifier), e.g. programs. Not a numeric id despite the generic router parameter name.

header Parameters
X-auth-token
required
string

Access token of the logged-in user.

Request Body schema: application/json
label
required
string

Human-readable feature label. Must contain only letters.

display_order
string^\d+$

Optional. Sort order used when listing features. Must be a non-empty string of digits.

icon
string or null
description
string or null
meta
object or null

Responses

Request samples

Content type
application/json
{
  • "label": "ReplayFeatureRenamed"
}

Response samples

Content type
application/json
{
  • "responseCode": "string",
  • "message": "string",
  • "result": [
    ],
  • "meta": { }
}

List Features

Use this API to fetch a paginated list of features.

  • Endpoint: /user/v1/feature/list.

  • Pagination is applied by the shared pagination middleware (middlewares/pagination.js), not by a feature-specific validator: page defaults to 1, limit defaults to 100 (max 100), and search defaults to "" and is matched against the feature code column with a case-insensitive LIKE %search%.

  • Results are ordered by display_order ascending. Each row''s icon (if present) is resolved to a downloadable URL.

  • The X-auth-token is mandatory and cannot be empty or null. '

Authorizations:
XAuthToken
query Parameters
page
integer
Example: page=1

Page number. Defaults to 1.

limit
integer
Example: limit=100

Page size. Defaults to 100, capped at 100.

search
string

Case-insensitive substring filter matched against the feature code.

header Parameters
X-auth-token
required
string

Access token of the logged-in user.

Responses

Response samples

Content type
application/json
Example
{
  • "responseCode": "OK",
  • "message": "Feature fetched successfully.",
  • "result": {
    },
  • "meta": {
    }
}

Delete Feature

Use this API to delete a feature.

  • Endpoint: /user/v1/feature/delete/{id} (DELETE). As with update, the id path param value is matched against the feature's code column (services/feature.js#delete calls findByCode/ deleteByCode) — captured traffic keys this endpoint as DELETE /user/v1/feature/delete/:code.

  • The X-auth-token is mandatory and cannot be empty or null. '

Authorizations:
XAuthToken
path Parameters
id
required
string
Example: feat3t7os9otwv

The feature's code (string identifier). Not a numeric id despite the generic router parameter name.

header Parameters
X-auth-token
required
string

Access token of the logged-in user.

Responses

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "FEATURE_DELETED_SUCCESSFULLY",
  • "result": [ ],
  • "meta": {
    }
}

Notification APIs

Managing notification templates.

Create a notification template

Creates a notification template.

  • Endpoint: /user/v1/notification/template.
  • Caller must hold one of ADMIN, ORG_ADMIN or TENANT_ADMIN roles.
  • type, code, subject and body are mandatory and cannot be empty or null.
  • code must be unique per organization + tenant.
Authorizations:
XAuthToken
header Parameters
X-auth-token
required
string

Access token required to use the API. Available in the login API response.

Request Body schema: application/json
type
required
string
Enum: "sms" "email" "emailHeader" "emailFooter"

Type of the notification template.

code
required
string

Unique code for the notification template (unique per organization + tenant).

subject
required
string

Subject of the email.

body
required
string

Body of the notification template.

email_header
string

Email header content (code of an emailHeader template).

email_footer
string

Email footer content (code of an emailFooter template).

Responses

Request samples

Content type
application/json
{
  • "type": "email",
  • "code": "tl-email-invite",
  • "subject": "Hi Welcome Back",
  • "body": "<p>Dear User,</p> Welcome back to mentorEd",
  • "email_header": "email_header",
  • "email_footer": "email_footer"
}

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "Notification template created successfully",
  • "result": {
    },
  • "meta": {
    }
}

List notification templates

Fetches notification templates for the caller's organization + tenant.

  • Endpoint: /user/v1/notification/template.

  • When called with no id path param and no code query param, all templates are returned.

  • Optionally filter by code and/or type query params. If no template matches, the default organization's templates are returned as a fallback.

Authorizations:
XAuthToken
query Parameters
code
string

Filter by template code.

type
string
Enum: "sms" "email" "emailHeader" "emailFooter"

Filter by template type.

header Parameters
X-auth-token
required
string

Access token required to use the API. Available in the login API response.

Responses

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "Notification template fetched successfully",
  • "result": [
    ],
  • "meta": {
    }
}

Read a notification template by id

Fetches a single notification template by its id.

  • Endpoint: /user/v1/notification/template/{id}.

  • Either the id path param or the code query param identifies the template; when neither is present the list endpoint behaviour applies.

  • If no template matches for the caller's organization, the default organization's template is returned as a fallback; if still none, a 400 "not found" is returned.

Authorizations:
XAuthToken
path Parameters
id
required
integer

Notification template id.

query Parameters
type
string
Enum: "sms" "email" "emailHeader" "emailFooter"

Filter by template type.

header Parameters
X-auth-token
required
string

Access token required to use the API. Available in the login API response.

Responses

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "Notification template fetched successfully",
  • "result": [
    ],
  • "meta": {
    }
}

Update a notification template

Updates a notification template.

  • Endpoint: /user/v1/notification/template/{id}.

  • Caller must hold one of ADMIN, ORG_ADMIN or TENANT_ADMIN roles.

  • The template is located by the id path param; when id is absent the code in the request body is used instead.

  • type, code, subject and body are mandatory and cannot be empty or null.

Authorizations:
XAuthToken
path Parameters
id
required
integer

Notification template id.

header Parameters
X-auth-token
required
string

Access token required to use the API. Available in the login API response.

Request Body schema: application/json
type
required
string
Enum: "sms" "email" "emailHeader" "emailFooter"

Type of the notification template.

code
required
string

Unique code for the notification template (unique per organization + tenant).

subject
required
string

Subject of the email.

body
required
string

Body of the notification template.

email_header
string

Email header content (code of an emailHeader template).

email_footer
string

Email footer content (code of an emailFooter template).

Responses

Request samples

Content type
application/json
{
  • "type": "email",
  • "code": "tl-email-invite",
  • "subject": "Hi Welcome Back",
  • "body": "<p>Dear User,</p> Welcome back to mentorEd",
  • "email_header": "email_header",
  • "email_footer": "email_footer"
}

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "Notification template updated successfully",
  • "result": [ ],
  • "meta": {
    }
}

Admin APIs

Platform administrator operations for managing users and organizations.

Create Admin User

API associated with creating a new admin user.

  • Endpoint: /user/v1/admin/create
  • secret_code, name and password are always required.
  • At least one of email or phone must be provided; phone_code is required when phone is present.
Request Body schema: application/json
Any of
secret_code
required
string

Secret code for admin creation (must equal ADMIN_SECRET_CODE).

name
required
string

Name of the system user (letters and spaces only).

email
required
string <email>

Email of the system user. At least one of email or phone is required.

username
string

Optional username (3-40 chars, or an email). Generated if omitted.

phone
string

Phone number (7-15 digits). Requires phone_code when provided.

phone_code
string

Country calling code, required when phone is provided.

password
required
string <password>

Password for the system user (must satisfy PASSWORD_POLICY_REGEX, no spaces).

Responses

Request samples

Content type
application/json
Example
{
  • "secret_code": "secret_code",
  • "name": "System Admin",
  • "email": "systemuser@mail.com",
  • "password": "StrongPass123!"
}

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "ADMIN_USER_CREATED_SUCCESSFULLY",
  • "result": {
    },
  • "meta": {
    }
}

Admin Login

This API is associated with the login of the admin/system user.

  • Endpoint: /user/v1/admin/login
  • identifier and password are required; phone_code is required only when the identifier is a phone number.
Request Body schema: application/json
identifier
required
string

The admin's email, phone number, or username.

phone_code
string

Country calling code. Required only when identifier is a phone number.

password
required
string <password>

The admin's password.

Responses

Request samples

Content type
application/json
{
  • "identifier": "admin@example.com",
  • "password": "StrongPass123!"
}

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "User logged in successfully.",
  • "result": {
    },
  • "meta": {
    }
}

Delete User

Delete a user.

  • Endpoint: /user/v1/admin/deleteUser/{id}
  • id path parameter is required.
Authorizations:
XAuthToken
path Parameters
id
required
string
Example: 1

User ID to be deleted. Please append a valid user ID to the request URL.

header Parameters
X-auth-token
required
string

X-auth-token required for API access. Available in login API Response.

Responses

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "User deleted successfully",
  • "result": [ ],
  • "meta": {
    }
}

Assign Role to User

Assigns a role to a user within an organization. Organization and tenant are derived from the auth token.

  • Endpoint: /user/v1/admin/assignRole
  • user_id and role_id are required.
Authorizations:
XAuthToken
header Parameters
X-auth-token
required
string

X-auth-token required for API access. Available in login API Response.

Request Body schema: application/json
user_id
required
number

Target user ID. Validator only enforces .isNumeric(), which also accepts non-integer numeric strings.

role_id
required
number

Role ID to assign. Validator only enforces .isNumeric(), which also accepts non-integer numeric strings.

organization_id
integer

Optional organization ID (org is otherwise resolved from the token).

Responses

Request samples

Content type
application/json
{
  • "user_id": 22,
  • "role_id": 1
}

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "The role was assigned to the user successfully.",
  • "result": {
    },
  • "meta": {
    }
}

Add Organization Admin

Assigns a user as an Org-Admin.

  • Endpoint: /user/v1/admin/addOrgAdmin
  • organization_id is required; exactly one of identifier or user_id must be provided. phone_code is required when the identifier is a phone number.
Authorizations:
XAuthToken
header Parameters
X-auth-token
required
string

X-auth-token required for API access. Available in login API Response.

tenant-id
required
string

Tenant code header (required).

Request Body schema: application/json
One of
organization_id
required
number

The organization to which the user will be assigned as org admin. Validator only enforces .isNumeric(), which also accepts non-integer numeric strings.

identifier
required
string

The user's email, phone, or username (mutually exclusive with user_id).

user_id
number

The user's ID (mutually exclusive with identifier). Validator only enforces .isNumeric(), which also accepts non-integer numeric strings.

phone_code
string

Country calling code, required when identifier is a phone number.

Responses

Request samples

Content type
application/json
Example
{
  • "organization_id": 55,
  • "user_id": 12
}

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "ORG_ADMIN_MAPPED_SUCCESSFULLY",
  • "result": {
    },
  • "meta": {
    }
}

Deactivate Organization

Deactivates an organization and all its users.

  • Endpoint: /user/v1/admin/deactivateOrg/{id}
  • id path parameter is required (lowercase alphanumeric with underscores).
Authorizations:
XAuthToken
path Parameters
id
required
string
Example: default_code

Organization code to deactivate (lowercase alphanumeric with underscores).

header Parameters
X-auth-token
required
string

X-auth-token required for API access. Available in login API Response.

tenant-id
required
string

Tenant code header (required).

Responses

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "ORG_DEACTIVATED",
  • "result": {
    },
  • "meta": {
    }
}

Deactivate User

Deactivates one or more users.

  • Endpoint: /user/v1/admin/deactivateUser
  • At least one of id or email (each a non-empty array) must be provided.
Authorizations:
XAuthToken
header Parameters
X-auth-token
required
string

X-auth-token required for API access. Available in login API Response.

Request Body schema: application/json
Any of
id
required
Array of integers

Array of user IDs to deactivate.

email
Array of strings

Array of user emails to deactivate.

Responses

Request samples

Content type
application/json
Example
{
  • "id": [
    ]
}

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "User deactivated Successfully",
  • "result": [ ],
  • "meta": {
    }
}

Execute Raw Query

Executes a raw read-only (SELECT) SQL query with pagination.

  • Endpoint: /user/v1/admin/executeRawQuery
  • query is required and must be a SELECT statement.
Authorizations:
XAuthToken
header Parameters
X-auth-token
required
string

X-auth-token required for API access. Available in login API Response.

Request Body schema: application/json
query
required
string

Raw SELECT SQL query to execute.

Responses

Request samples

Content type
application/json
{
  • "query": "SELECT id, name FROM users LIMIT 10"
}

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "QUERY_EXECUTED_SUCCESSFULLY",
  • "result": {
    },
  • "meta": {
    }
}

Cloud Services APIs

Generating signed URLs for uploading and downloading files via cloud storage.

Cloud Services - Get Signed URL

This API is associated with cloud services for obtaining a signed URL.

  • Endpoint for cloud services: /user/v1/cloud-services/file/getSignedUrl
  • Mandatory parameters marked as required must have valid values.
  • Parameters cannot be empty or null.
  • fileName is the only required query parameter. Optional query parameters dynamicPath (overrides the default users/{id}-{timestamp}- prefix) and public (true targets the public asset bucket) are also accepted.
Authorizations:
XAuthToken
query Parameters
fileName
required
string
Example: fileName=image.jpg

Name of the file to be uploaded. Must not be empty.

dynamicPath
string
Example: dynamicPath=profile-images

Optional. When provided, overrides the default destination path (users/{userId}-{timestamp}-{fileName}) with {dynamicPath}/{fileName}. Not covered by any server-side validator (no requiredness/format enforced).

public
string
Enum: "true" "false"
Example: public=false

Optional. When set to the literal string true, the signed URL targets the public asset bucket (PUBLIC_ASSET_BUCKETNAME) instead of the default private storage bucket. Any other value (or absence) is treated as false. Not covered by any server-side validator.

header Parameters
X-auth-token
required
string

To make use of the API, you require X-auth-token. This is Available in login API Response.

Responses

Response samples

Content type
application/json
{}

Cloud Services - Get Downloadable URL

This API is associated with cloud services for obtaining a downloadable URL.

  • Endpoint for cloud services: /user/v1/cloud-services/file/getDownloadableUrl
  • Mandatory parameters marked as required must have valid values.
  • Parameters cannot be empty or null.
  • filePath is supplied as a query parameter. The optional public query parameter (true) targets the public asset bucket.
Authorizations:
XAuthToken
query Parameters
filePath
required
string
Example: filePath=users/62832531a05cbd57b273aebb-1654149589875-image.jpg

Path of the file to be downloaded.

public
string
Enum: "true" "false"
Example: public=false

Optional. When set to the literal string true, the downloadable URL is generated against the public asset bucket. Not covered by any server-side validator.

header Parameters
X-auth-token
required
string

To make use of the API, you require X-auth-token. This is Available in login API Response.

Responses

Response samples

Content type
application/json
{}

Cloud Services - Get Sample CSV

This API is associated with cloud services for obtaining a sample CSV file for bulk user create.

  • Endpoint for cloud services: /user/v1/cloud-services/file/getSampleCSV
  • Mandatory parameters marked as required must have valid values.
  • Parameters cannot be empty or null.
Authorizations:
XAuthToken
header Parameters
X-auth-token
required
string

To make use of the API, you require X-auth-token. This is Available in login API Response.

Responses

Response samples

Content type
application/json
{}

User Roles APIs

Assigning, listing, and managing roles held by users within an organization.

Get User Roles

Retrieve the list of user roles.

  • Endpoint: /user/v1/user-role/list
  • It is mandatory to provide values for parameters marked as required.
  • The X-auth-token obtained from the login API is required in the header.
Authorizations:
XAuthToken
query Parameters
page
integer

Page number.

limit
integer

Number of records to limit.

search
string

Search text matched against 'title' (case-insensitive, substring).

language
string

Optional. When provided and not 'en', role labels are localized via translations; when omitted or 'en', the translations field is stripped from each result row.

title
string^[a-z_]+$

Optional filter. Must match ^[a-z_]+$.

user_type
string
Enum: "0" "1"

Optional filter. '0' (non-admin) or '1' (admin).

visibility
string
Value: "PUBLIC"

Optional filter. Only 'PUBLIC' is accepted.

status
string
Enum: "ACTIVE" "INACTIVE"

Optional filter. ACTIVE or INACTIVE.

organization_id
string^[0-9]+$

Optional filter. Must be numeric.

header Parameters
X-auth-token
required
string

X-auth-token obtained from the login API response.

Responses

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "Roles fetched successfully.",
  • "result": {
    },
  • "meta": {
    }
}

Create User Role

Create a role.

  • Endpoint: /user/v1/user-role/create.
  • It is mandatory to provide values for parameters marked with required.
  • Mandatory parameters cannot be empty or null.
Authorizations:
XAuthToken
header Parameters
X-auth-token
required
string

Access token of the user.

Request Body schema: application/json
title
required
string^[a-z_]+$

Lowercase letters and underscores only.

user_type
required
string
Enum: "0" "1"

'0' = non-admin, '1' = admin. Must be sent as a string; the API stores/returns it as a number.

visibility
required
string
Value: "PUBLIC"
label
required
string <= 50 characters ^[A-Z][a-zA-Z\s]*$

Must start with an uppercase letter; letters and spaces only; max 50 characters.

status
string
Enum: "ACTIVE" "INACTIVE"

Optional. Must be one of ACTIVE or INACTIVE.

translations
object or null

Optional. Free-form translations object.

Responses

Request samples

Content type
application/json
Example
{
  • "title": "head_master",
  • "user_type": "1",
  • "visibility": "PUBLIC",
  • "label": "Head Master"
}

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "Role created successfully.",
  • "result": {
    },
  • "meta": {
    }
}

Update User Role

Update a role by id.

  • Endpoint: /user/v1/user-role/update/{id}
  • Provide values for parameters marked as required.
  • The X-auth-token is mandatory and cannot be empty or null.
Authorizations:
XAuthToken
path Parameters
id
required
integer
Example: 1

Role id to update.

header Parameters
X-auth-token
required
string

Access token obtained from the login API response.

Request Body schema: application/json
title
required
string^[a-z_]+$
user_type
required
string
Enum: "0" "1"
visibility
required
string
Value: "PUBLIC"
status
string
Enum: "ACTIVE" "INACTIVE"
label
string <= 50 characters ^[A-Z][a-zA-Z\s]*$
translations
object or null

Optional. Free-form translations object.

Responses

Request samples

Content type
application/json
{
  • "title": "head_master",
  • "user_type": "1",
  • "visibility": "PUBLIC",
  • "label": "Head Master",
  • "status": "ACTIVE"
}

Response samples

Content type
application/json
{
  • "responseCode": "string",
  • "message": "string",
  • "result": {
    },
  • "meta": {
    }
}

Delete User Role

Delete a role by id.

  • Endpoint: /user/v1/user-role/delete/{id}.
  • It is mandatory to provide values for parameters marked with required.
Authorizations:
XAuthToken
path Parameters
id
required
integer
Example: 31

Role id to delete.

header Parameters
X-auth-token
required
string

X-auth-token obtained from the login API response.

Responses

Response samples

Content type
application/json
{
  • "responseCode": "string",
  • "message": "string",
  • "result": { },
  • "meta": {
    }
}

Permissions

Defining and managing the permissions available to roles.

Create Permissions

Create permissions for users.

  • Endpoint: /user/v1/permissions/create.
  • It is mandatory to provide values for parameters marked with required.
  • Mandatory parameters cannot be empty or null.
Authorizations:
XAuthToken
header Parameters
X-auth-token
required
string

Access token of the admin.

Request Body schema: application/json
code
required
string

Unique permission code. Must not contain spaces (matches /^[a-z_]+$/). Must be unique (checked against existing permissions).

module
required
string

Module name. Must not contain spaces (matches /^[a-zA-Z_-]+$/).

request_type
required
string
Enum: "GET" "POST" "PATCH" "PUT" "DELETE"

HTTP request type this permission covers. Must be one of: GET, POST, PATCH, PUT, DELETE. Note: the request accepts a single string, but the create/update responses echo it back inside an array (result.request_type).

api_path
required
string

API path this permission applies to. Must match /^\/[a-zA-Z0-9_]+\/v[0-9]+\/[a-zA-Z0-9_*:/\-]+(?:\/:[a-zA-Z0-9_]+)?$/.

status
string

Optional permission status. Must not contain spaces (matches /^[A-Za-z]*$/) and, when provided, must be non-empty.

Responses

Request samples

Content type
application/json
{
  • "code": "read_modules_list",
  • "module": "modules",
  • "request_type": "GET",
  • "api_path": "/mentoring/v1/modules/list",
  • "status": "ACTIVE"
}

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "PERMISSION_CREATED_SUCCESSFULLY",
  • "result": {
    },
  • "meta": {
    }
}

Update Permissions

Update permissions for users.

  • Endpoint: /user/v1/permissions/update.
  • It is mandatory to provide values for parameters marked with required.
  • Mandatory parameters cannot be empty or null.
Authorizations:
XAuthToken
path Parameters
id
required
integer

Permission id.

header Parameters
X-auth-token
required
string

Access token of the admin.

Request Body schema: application/json
code
required
string

Unique permission code. Must not contain spaces (matches /^[a-z_]+$/). NOTE: unlike create, update's validator does NOT run the async isUniqueCode check.

module
required
string

Module name. Must not contain spaces (matches /^[a-zA-Z_-]+$/).

request_type
required
string
Enum: "GET" "POST" "PATCH" "PUT" "DELETE"

Must be one of: GET, POST, PATCH, PUT, DELETE.

api_path
required
string

API path this permission applies to. Must match /^\/[a-zA-Z0-9_]+\/v[0-9]+\/[a-zA-Z0-9_*:/\-]+(?:\/:[a-zA-Z0-9_]+)?$/.

status
string

Optional permission status. Must not contain spaces (matches /^[A-Za-z]*$/) and, when provided, must be non-empty.

Responses

Request samples

Content type
application/json
{
  • "code": "read_modules_list",
  • "module": "modules",
  • "request_type": "GET",
  • "api_path": "/mentoring/v1/modules/list",
  • "status": "ACTIVE"
}

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "PERMISSION_UPDATED_SUCCESSFULLY",
  • "result": {
    },
  • "meta": {
    }
}

Permissions List

Get a list of permissions.

  • Endpoint: /user/v1/permissions/list.
  • It is mandatory to provide values for parameters marked with required.
  • Mandatory parameters cannot be empty or null.
Authorizations:
XAuthToken
query Parameters
page
integer

Page number for pagination.

limit
integer

Number of items per page.

search
string

search on code

header Parameters
X-auth-token
required
string

Access token of the admin.

Responses

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "PERMISSION_FETCHED_SUCCESSFULLY",
  • "result": {
    },
  • "meta": {
    }
}

Delete Permissions

Delete permissions for users.

  • Endpoint: /user/v1/permissions/delete.
  • It is mandatory to provide values for parameters marked with required.
  • Mandatory parameters cannot be empty or null.
Authorizations:
XAuthToken
path Parameters
id
required
integer

Permission id.

header Parameters
X-auth-token
required
string

Access token of the admin.

Responses

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "PERMISSION_DELETED_SUCCESSFULLY",
  • "result": { },
  • "meta": {
    }
}

Modules

Managing the functional modules that permissions and roles are scoped to.

Create Modules

Create modules for users.

  • Endpoint: /user/v1/modules/create.
  • It is mandatory to provide values for parameters marked with required.
  • Mandatory parameters cannot be empty or null.
Authorizations:
XAuthToken
header Parameters
X-auth-token
required
string

Access token of the admin.

Request Body schema: application/json
code
required
string

Unique module code. Must not contain spaces (matches /^[a-zA-Z_-]+$/).

status
string

Optional module status. Must not contain spaces (matches /^[A-Za-z]*$/) when provided.

Responses

Request samples

Content type
application/json
{
  • "code": "systemadmin"
}

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "MODULES_CREATED_SUCCESSFULLY",
  • "result": {
    },
  • "meta": {
    }
}

Update Modules

Update an existing module.

  • Endpoint: /user/v1/modules/update.
  • It is mandatory to provide values for parameters marked with required.
  • Mandatory parameters cannot be empty or null.
Authorizations:
XAuthToken
path Parameters
id
required
integer

Module id.

header Parameters
X-auth-token
required
string

Access token of the admin.

Request Body schema: application/json
code
required
string

Unique module code. Must not contain spaces (matches /^[a-zA-Z_-]+$/).

status
string

Optional module status. Must not contain spaces (matches /^[A-Za-z]*$/) when provided.

Responses

Request samples

Content type
application/json
{
  • "code": "allsessionss"
}

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "MODULES_UPDATED_SUCCESSFULLY",
  • "result": {
    },
  • "meta": {
    }
}

Modules List

Get a list of modules.

  • Endpoint: /user/v1/modules/list.
  • It is mandatory to provide values for parameters marked with required.
  • Mandatory parameters cannot be empty or null.
Authorizations:
XAuthToken
query Parameters
page
integer

Page number for pagination.

limit
integer

Number of items per page.

search
string

search on code

header Parameters
X-auth-token
required
string

Access token of the admin.

Responses

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "MODULES_FETCHED_SUCCESSFULLY",
  • "result": {
    },
  • "meta": {
    }
}

Delete Modules

Delete an existing module.

  • Endpoint: /user/v1/modules/delete.
  • It is mandatory to provide values for parameters marked with required.
  • Mandatory parameters cannot be empty or null.
Authorizations:
XAuthToken
path Parameters
id
required
integer

Module id.

header Parameters
X-auth-token
required
string

Access token of the admin.

Responses

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "MODULES_DELETED_SUCCESSFULLY",
  • "result": { },
  • "meta": {
    }
}

RolePermissionMapping

Mapping permissions to roles for a module and request type.

Create Role Permission Mapping

Create a rolePermissionMapping for a user role.

  • Endpoint: /user/v1/role-permission-mapping/create.
  • It is mandatory to provide values for parameters marked with required.
  • Mandatory parameters cannot be empty or null.
Authorizations:
XAuthToken
header Parameters
X-auth-token
required
string

Access token of the admin.

Request Body schema: application/json
permission_id
required
string

Permission id. Must not be empty and must contain only digits (matches /^[0-9]+$/).

role_title
required
string

Role title. Must not be empty and must contain only lowercase letters/underscores (matches /^[a-z_]+$/).

Responses

Request samples

Content type
application/json
{
  • "permission_id": "1",
  • "role_title": "mentor"
}

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "ROLE_PERMISSION_CREATED_SUCCESSFULLY",
  • "result": {
    },
  • "meta": {
    }
}

Delete Role Permission Mapping

Delete a rolePermissionMapping for a user role.

  • Endpoint: /user/v1/role-permission-mapping/delete.
  • It is mandatory to provide values for parameters marked with required.
  • Mandatory parameters cannot be empty or null.
Authorizations:
XAuthToken
header Parameters
X-auth-token
required
string

Access token of the admin.

Request Body schema: application/json
permission_id
required
string

Permission id. Must not be empty and must contain only digits (matches /^[0-9]+$/).

role_title
required
string

Role title. Must not be empty and must contain only lowercase letters/underscores (matches /^[a-z_]+$/).

Responses

Request samples

Content type
application/json
{
  • "permission_id": "1",
  • "role_title": "mentor"
}

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "ROLE_PERMISSION_DELETED_SUCCESSFULLY",
  • "result": { },
  • "meta": {
    }
}

List Role Permissions

Get the list of permissions (grouped by module) granted to the caller's roles.

  • Endpoint: /user/v1/role-permission-mapping/list. This endpoint takes no request body and no query parameters: controllers/v1/role-permission-mapping.js list derives the role titles to look up entirely from req.decodedToken.roles (set by the auth middleware from the caller's token), and services/role-permission-mapping.js list() takes no other input.
Authorizations:
XAuthToken
header Parameters
X-auth-token
required
string

Access token of the caller; the roles encoded in this token determine which permissions are returned.

Responses

Response samples

Content type
application/json
Example
{
  • "responseCode": "OK",
  • "message": "FETCHED_ROLE_PERMISSION_SUCCESSFULLY",
  • "result": {
    },
  • "meta": {
    }
}

Health Check

Service and dependency health/readiness checks.

Service health status.

This API is used to verify the health status of the user Service and its dependencies (Kafka, Redis, and downstream microservices such as EntityManagementService and SchedulerService).

  • The API Endpoint for health check is /user/health
  • Both query parameters below are optional; there is no request body and no field-level validation for this endpoint
Authorizations:
XAuthToken
query Parameters
basicCheck
boolean

When set to a truthy value, skips the downstream microservice checks (EntityManagementService, SchedulerService) and only reports on directly-configured dependencies (Kafka, Redis). Read from req.query.basicCheck in health-checks/health-check.js.

serviceName
string

Name of the calling service. Used only to avoid a self-check loop -- if a configured microservice's name matches this value, that microservice's check is skipped. Read from req.query.serviceName in health-checks/health-check.js.

Responses

Response samples

Content type
application/json
{
  • "id": "service.health.api",
  • "version": "3.3.24",
  • "ts": "2025-07-18T06:26:10.726Z",
  • "params": {
    },
  • "status": 200,
  • "result": {
    }
}

Depreciated APIs

Endpoints retained for backward compatibility; scheduled for removal.

Terms & Condition

This API accepts terms and conditions for the authenticated user.

  • Endpoint: /user/v1/account/acceptTermsAndCondition
  • Requires a valid X-auth-token.
Authorizations:
XAuthToken
header Parameters
X-auth-token
required
string

X-auth-token from the login API response.

Responses

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "User successfully updated.",
  • "result": [ ],
  • "meta": {
    }
}

Public APIs

Check username availability

This API checks whether a username is already taken within the tenant resolved from the caller's request domain.

  • Endpoint: /user/v1/public/checkUsername
  • username is a required, non-empty query parameter (trimmed).
  • The tenant is resolved from the request's domain (via tenantDomainQueries), not from a header or body field.
query Parameters
username
required
string
Example: username=nevil_ngrcbhcfke-k1x

Username to check for availability. Must not be empty after trimming.

Responses

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "Username is available",
  • "result": {
    },
  • "meta": {
    }
}

Get tenant (and optionally organization) branding details

This API resolves and returns tenant branding/details, and optionally organization details.

  • Endpoint: /user/v1/public/branding
  • org_code is an optional query parameter; when supplied, organization details are additionally resolved.
  • The tenant is resolved from the X-Tenant-Code header if present, otherwise from the caller's request domain.
query Parameters
org_code
string
Example: org_code=org_sample_code

Organization code to additionally resolve organization branding details for.

Responses

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "TENANT_DETAILS",
  • "result": {
    },
  • "meta": {
    }
}

Get an invited user's prefilled profile data

This API resolves an org-invite's prefilled user profile data.

  • Endpoint: /user/v1/public/userInvites
  • invitation_key is a required query parameter.
  • tenant_code is a required request body field.
query Parameters
invitation_key
required
string
Example: invitation_key=3f9c1a2b6d4e4b8a9f3c1a2b6d4e4b8a

Invitation key identifying the pending invite.

Request Body schema: application/json
tenant_code
required
string

Tenant code the invitation belongs to.

Responses

Request samples

Content type
application/json
{
  • "tenant_code": "default_tenant"
}

Response samples

Content type
application/json
{
  • "responseCode": "OK",
  • "message": "USER_DATA_FETCHED",
  • "result": {
    },
  • "meta": {
    }
}