LinkedIn Clone

LINKEDIN FRONTEND GUIDE FOR AI CODING AGENTS

This document is a rest api guide for the linkedin project. The document is designed for AI agents who will generate frontend code that will consume the project backend.

The project has got 1 auth service, 1 notification service, 1 bff service and business services. Each service is a separate microservice application and listens the HTTP request from different service urls.

The services may be in preview server, staging server or real production server. So each service have got 3 acess urls. Frontend application should support all deployemnt servers in the development phase, and user should be able to select the target api server in the login page.

Project Introduction

This project's structure and ideas are the same as he real linkedIn webiste

API Structure

Object Structure of a Successfull Response

When the service processes requests successfully, it wraps the requested resource(s) within a JSON envelope. This envelope not only contains the data but also includes essential metadata, such as configuration details and pagination information, to enrich the response and provide context to the client.

HTTP Status Codes:

  • 200 OK: This status code is returned for successful GET, LIST, UPDATE, or DELETE operations, indicating that the request has been processed successfully.
  • 201 Created: This status code is specific to CREATE operations, signifying that the requested resource has been successfully created.

Success Response Format:

For successful operations, the response includes a "status": "OK" property, signaling the successful execution of the request. The structure of a successful response is outlined below:

{
  "status":"OK",
  "statusCode": 200,   
  "elapsedMs":126,
  "ssoTime":120,
  "source": "db",
  "cacheKey": "hexCode",
  "userId": "ID",
  "sessionId": "ID",
  "requestId": "ID",
  "dataName":"products",
  "method":"GET",
  "action":"list",
  "appVersion":"Version",
  "rowCount":3,
  "products":[{},{},{}],
  "paging": {
    "pageNumber":1, 
    "pageRowCount":25, 
    "totalRowCount":3,
    "pageCount":1
  },
  "filters": [],
  "uiPermissions": []
}
  • products: In this example, this key contains the actual response content, which may be a single object or an array of objects depending on the operation performed.

Additional Data

Each api may have include addtional data other than the main data object according to the business logic of the API. They will be given in each API's response signature.

Error Response

If a request encounters an issue, whether due to a logical fault or a technical problem, the service responds with a standardized JSON error structure. The HTTP status code within this response indicates the nature of the error, utilizing commonly recognized codes for clarity:

  • 400 Bad Request: The request was improperly formatted or contained invalid parameters, preventing the server from processing it.
  • 401 Unauthorized: The request lacked valid authentication token , login required
  • 403 Forbidden Error Curent token provided do not grant access to the requested resource.
  • 404 Not Found: The requested resource was not found on the server.
  • 500 Internal Server Error: The server encountered an unexpected condition that prevented it from fulfilling the request.

Each error response is structured to provide meaningful insight into the problem, assisting in diagnosing and resolving issues efficiently.

{
  "result": "ERR",
  "status": 400,
  "message": "errMsg_organizationIdisNotAValidID",
  "errCode": 400,
  "date": "2024-03-19T12:13:54.124Z",
  "detail": "String"
}

Accessing the backend

Each service of the backend has got its own url according to the deployment environement. User may want to test the frontend in one of the 3 deployments of the application, preview, staging and production. Please ensure that register and login pages do have a deployemnt server selection option, so as the frontned coding agent you can arrange the base url path of all services.

The base url of the application in each environment is as follows:

  • Preview: https://linkedin.prw.mindbricks.com
  • Staging: https://linkedin-stage.mindbricks.co
  • Production: https://linkedin.mindbricks.co

For the auth service the base url is as follows:

  • Preview: https://linkedin.prw.mindbricks.com/auth-api
  • Staging: https://linkedin-stage.mindbricks.co/auth-api
  • Production: https://linkedin.mindbricks.co/auth-api

For each other service, the service base url will be given in service sections.

Any login requied request to the backend should have a valid token, when a user makes a successfull login, the ressponse JSON includes a JWT access token in the accessTokenfields. In normal conditions, this token is also set to the cookie and then consumed automatically, but since AI coding agents preview options may fail to use cookies, please ensure that in each request include the access token in the bearer auth header.

Registration Management

First of all please ensure that register and login pages do have a deployemnt server selection option, so as the frontned coding agent you can arrange the base url path of all services.

Start with a landing page and arranging register, verification and login flow. So at the first step, you need a general knowledge of the application to make a good landing page and the authetication flow.

How To Register

Using registeruser route of auth api, send the required fields to the backend in your registration page.

The registerUser api in in auth service, is described with request and response structure below.

Note that since registerUser api is a business api, it has a version control, so please call it with the given version like /v1/registeruser

Register User API

This api is used by public users to register themselves

Rest Route

The registerUser API REST controller can be triggered via the following route:

/v1/registeruser

Rest Request Parameters

The registerUser api has got 4 request parameters

Parameter Type Required Population
avatar String false request.body?.avatar
password String true request.body?.password
fullname String true request.body?.fullname
email String true request.body?.email
avatar : The avatar url of the user. If not sent, a default random one will be generated.
password : The password defined by the the user that is being registered.
fullname : The fullname defined by the the user that is being registered.
email : The email defined by the the user that is being registered.

REST Request To access the api you can use the REST controller with the path POST /v1/registeruser

  axios({
    method: 'POST',
    url: '/v1/registeruser',
    data: {
            avatar:"String",  
            password:"String",  
            fullname:"String",  
            email:"String",  
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "201",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "user",
	"method": "POST",
	"action": "create",
	"appVersion": "Version",
	"rowCount": 1,
	"user": {
		"id": "ID",
		"email": "String",
		"password": "String",
		"fullname": "String",
		"avatar": "String",
		"roleId": "String",
		"emailVerified": "Boolean",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

After a successful registration, frontend code should handle the verification needs. The registration response will have a user object in the root envelope, this object will have user information with an id parameter.

Email Verification

In the registration response, you should check the property emailVerificationNeeded in the reponse root, and if this property is true you should start the email verification flow.

After login process, if you get an HTTP error status, and if there is an errCode property in the response with EmailVerificationNeeded value, you should start the email verification flow.

  1. Call the email verification start route of the backend (described below) with the user email, backend will send a secret code to the given email adresss. Backend can send the email message if the architect defined a real mail service or smtp server, so during the development time backend will send the secret code also to the frontend. You can get this secret code from the response within the secretCode property.
  2. The secret code in the sent email message will be a 6 digits code , and you should arrange an input page so that the user can paste this code to the frontend application. Please navigate to this input page after you start the verification process. If the secretCode is sent to the frontend for test purposes, then you should show it as info in the input page, so that user can copy and paste it.
  3. There is a codeIndex property in the start response, please show it's value on the input page, so that user can match the index in the message with the one on the screen.
  4. When the user submits the code, please complete the email verification using the complete route of the backend (described below) with the user email and the secret code.
  5. After you get a successful response from email verification, you can navigate to the login page.

Here is the startand complete routes of email verification. These are system routes , so they dont have a version control.

POST /verification-services/email-verification/start

Purpose: Starts the email verification by generating and sending a secret code.

Parameter Type Required Description
email String Yes User’s email address to verify

Example Request

{ "email": "user@example.com" }

Success Response

{
  "status": "OK", 
  "codeIndex": 1,
  // timeStamp : Milliseconds since Jan 1, 1970, 00:00:00.000 GMT
  "timeStamp": 1784578660000,
  "date": "Mon Jul 20 2026 23:17:40 GMT+0300 (GMT+03:00)",
  // expireTime: in seconds
  "expireTime": 86400,
  "verificationType": "byLink",

  // in testMode
  "secretCode": "123456",
  "userId": "user-uuid",
}

⚠️ In production, secretCode is not returned — only sent via email.

Error Responses

  • 400 Bad Request: Already verified
  • 403 Forbidden: Too many attempts (rate limit)

POST /verification-services/email-verification/complete

Purpose: Completes the verification using the received code.

Parameter Type Required Description
email String Yes User’s email
secretCode String Yes Verification code

Success Response

{
  "status": "OK", 
  "isVerified": true,
  "email": "user@email.com",
  // in testMode
  "userId": "user-uuid",
}

Error Responses

  • 403 Forbidden: Code expired or mismatched
  • 404 Not Found: No verification in progress

Login Management

After a successfull login and completing required verifications, user can now login. Please make a fancy minimal login page where user can enter his email and password.

Bucket Management

This application has a bucket service and is used to store user or other objects related files. Bucket service is login agnostic, so when accessing for write or private read, you should insert a bucket token (given by services) to your request authorization header as bearer token.

User Bucket This bucket is used to store public user files for each user.

When a user logs in, or in /currentuser response there is userBucketToken to be used when sending user related public files to the bucket service.

To upload

POST {baseUrl}/bucket/upload

Request body is form data which includes the bucketId and the file as binary in files property.

{
    bucketId: "{userId}-public-user-bucket",
    files: {binary}
}

Response status is 200 on succesfull result, eg body:

{
    "success": true,
    "data": [
        {
            "fileId": "9da03f6d-0409-41ad-bb06-225a244ae408",
            "originalName": "test (10).png",
            "mimeType": "image/png",
            "size": 604063,
            "status": "uploaded",
            "bucketName": "f7103b85-fcda-4dec-92c6-c336f71fd3a2-public-user-bucket",
            "isPublic": true,
            "downloadUrl": "https://babilcom.mindbricks.co/bucket/download/9da03f6d-0409-41ad-bb06-225a244ae408"
        }
    ]
}

To download a file from the bucket, you should know its fileId, so if youupload an avatar or something else, be sure that the download url or the fileId is stored in backend.

Bucket is mostly used, in object creations where alos demands an addtional file like a product image or user avatar. So after you upload your image to the bucket, insert the returned download url to the related property in the related object creation.

Application Bucket

This Linkedin application alos has common public bucket which everybody has a read access, but only users who have superAdmin, admin or saasAdmin roles can write (upload) to the bucket.

The common public project bucket id is

"linkedin-public-common-bucket"

and in certain areas like product image uploads, since the user will already have the admin bucket token, he will be able to upload realted object images.

Please make your UI arrangements as able to upload files to the bucket using these bucket tokens.

Object Buckets Some objects may return also a bucket token, to upload or access related files with object. For example, when you get a project's data in a project management application, if there is a public or private bucket token, this is provided mostly for uploading project related files or downloading them with the token.

These buckets will be used according to the descriptions given along with the object definitions.

Role Management

This Linkedin may have different role names defined fro different business logic. But unless another case is asked by the user, respect to the admin roles which may be superAdmin, admin or saasAdmin in the currentuser or login response given with the roleIdproperty.

{
  // ...
  "roleId":"superAdmin",
  // ...
}

If the application needs an admin panel, or any admin related page, please use these roleId's to decide if the user can access those pages or not.

1. Authentication Routes

1.1 POST /login — User Login

Purpose: Verifies user credentials and creates an authenticated session with a JWT access token.

Access Routes:

  • GET /login: Returns a minimal HTML login page (for browser-based testing).
  • POST /login: Authenticates user credentials and returns an access token and session.

Request Parameters

Parameter Type Required Source
username String Yes request.body.username
password String Yes request.body.password

Behavior

  • Authenticates credentials and returns a session object.
  • Sets cookie: projectname-access-token[-tenantCodename]
  • Adds the same token in response headers.
  • Accepts either username or email fields (if both exist, username is prioritized).

Example

axios.post("/login", {
  username: "user@example.com",
  password: "securePassword"
});

Success Response

{
  "userId": "d92b9d4c-9b1e-4e95-842e-3fb9c8c1df38",
  "email": "user@example.com",
  "fullname": "John Doe",
  //...
}

Error Responses

  • 401 Unauthorized: Invalid credentials
  • 403 Forbidden: Email/mobile verification or 2FA pending
  • 400 Bad Request: Missing parameters

1.2 POST /logout — User Logout

Purpose: Terminates the current session and clears associated authentication tokens.

Behavior

  • Invalidates session (if exists).
  • Clears cookie projectname-access-token[-tenantCodename].
  • Returns a confirmation response (always 200 OK).

Example

axios.post("/logout", {}, {
  headers: { "Authorization": "Bearer your-jwt-token" }
});

Notes

  • Can be called without a session (idempotent behavior).
  • Works for both cookie-based and token-based sessions.

Success Response

{ "status": "OK", "message": "User logged out successfully" }

2. Verification Services Overview

All verification routes are grouped under the /verification-services base path. They follow a two-step verification pattern: startcomplete.


3. Email Verification

3.1 Trigger Scenarios

  • After registration (emailVerificationRequiredForLogin = true)
  • When updating email address
  • When login fails due to unverified email

3.2 Flow Summary

  1. /start → Generate & send code via email.
  2. /complete → Verify code and mark email as verified.

** PLEASE NOTE **

Email verification is a frontend triiggered process. After user registers, the frontend should start the email verification process and navigate to its code input page.


3.3 POST /verification-services/email-verification/start

Purpose: Starts the email verification by generating and sending a secret code.

Parameter Type Required Description
email String Yes User’s email address to verify

Example Request

{ "email": "user@example.com" }

Success Response

{
  "status": "OK", 
  "codeIndex": 1,
  // timeStamp : Milliseconds since Jan 1, 1970, 00:00:00.000 GMT
  "timeStamp": 1784578660000,
  "date": "Mon Jul 20 2026 23:17:40 GMT+0300 (GMT+03:00)",
  // expireTime: in seconds
  "expireTime": 86400,
  "verificationType": "byLink",

  // in testMode
  "secretCode": "123456",
  "userId": "user-uuid",
}

⚠️ In production, secretCode is not returned — only sent via email.

Error Responses

  • 400 Bad Request: Already verified
  • 403 Forbidden: Too many attempts (rate limit)

3.4 POST /verification-services/email-verification/complete

Purpose: Completes the verification using the received code.

Parameter Type Required Description
email String Yes User’s email
secretCode String Yes Verification code

Success Response

{
  "status": "OK", 
  "isVerified": true,
  "email": "user@email.com",
  // in testMode
  "userId": "user-uuid",
}

Error Responses

  • 403 Forbidden: Code expired or mismatched
  • 404 Not Found: No verification in progress

3.5 Behavioral Notes

  • Resend Cooldown: resendTimeWindow (e.g. 60s)
  • Expiration: Codes expire after expireTimeWindow (e.g. 1 day)
  • Single Active Session: One verification per user

4. Mobile Verification

4.1 Trigger Scenarios

  • After registration (mobileVerificationRequiredForLogin = true)
  • When updating phone number
  • On login requiring mobile verification

4.2 Flow

  1. /start → Sends verification code via SMS
  2. /complete → Validates code and confirms number

4.3 POST /verification-services/mobile-verification/start

Parameter Type Required Description
email String Yes User’s email to locate mobile record

Success Response

{
  "status": "OK", 
  "codeIndex": 1,
  // timeStamp : Milliseconds since Jan 1, 1970, 00:00:00.000 GMT
  "timeStamp": 1784578660000,
  "date": "Mon Jul 20 2026 23:17:40 GMT+0300 (GMT+03:00)",
  // expireTime: in seconds
  "expireTime": 180,
  "verificationType": "byCode",

  // in testMode
  "secretCode": "123456",
  "userId": "user-uuid",
}

⚠️ secretCode returned only in development.

Errors

  • 400 Bad Request: Already verified
  • 403 Forbidden: Rate-limited

4.4 POST /verification-services/mobile-verification/complete

Parameter Type Required Description
email String Yes Associated email
secretCode String Yes Code received via SMS

Success Response

{
  "status": "OK", 
  "isVerified": true,
  "mobile": "+1 333 ...",
  // in testMode
  "userId": "user-uuid",
}

4.5 Behavioral Notes

  • Cooldown: One code per minute
  • Expiration: Codes valid for 1 day
  • One Session Per User

5. Two-Factor Authentication (2FA)

5.1 Email 2FA

Flow

  1. /start → Generates and sends email code
  2. /complete → Verifies code and updates session

POST /verification-services/email-2factor-verification/start

Parameter Type Required Description
userId String Yes User ID
sessionId String Yes Current session
client String No Optional context
reason String No Reason for 2FA

Response

{
  "status": "OK",
  "sessionId": "user session id UUID",
  "userId":  "user-uuid",
  "codeIndex": 1,
  // timeStamp : Milliseconds since Jan 1, 1970, 00:00:00.000 GMT
  "timeStamp": 1784578660000,
  "date": "Mon Jul 20 2026 23:17:40 GMT+0300 (GMT+03:00)",
  // expireTime: in seconds
  "expireTime": 86400,
  "verificationType": "byLink",

  // in testMode
  "secretCode": "123456",
}

POST /verification-services/email-2factor-verification/complete

Parameter Type Required Description
userId String Yes User ID
sessionId String Yes Session ID
secretCode String Yes Code from email

Response

{
  // user session data   
  "sessionId": "session-uuid",
  // ...
}

5.2 Mobile 2FA

Flow

  1. /start → Sends SMS code
  2. /complete → Validates and finalizes session

POST /verification-services/mobile-2factor-verification/start

Parameter Type Required Description
userId String Yes User ID
sessionId String Yes Session ID
client String No Context
reason String No Reason

Response

{
  "status": "OK",
  "sessionId": "user session id UUID",
  "userId":  "user-uuid",
  "codeIndex": 1,
  // timeStamp : Milliseconds since Jan 1, 1970, 00:00:00.000 GMT
  "timeStamp": 1784578660000,
  "date": "Mon Jul 20 2026 23:17:40 GMT+0300 (GMT+03:00)",
  // expireTime: in seconds
  "expireTime": 86400,
  "verificationType": "byLink",

  // in testMode
  "secretCode": "123456",
}

POST /verification-services/mobile-2factor-verification/complete

Parameter Type Required Description
userId String Yes User ID
sessionId String Yes Session ID
secretCode String Yes Code via SMS

Response

{
  // user session data   
  "sessionId": "session-uuid",
  // ...
}

5.3 2FA Behavioral Notes

  • One active code per session
  • Cooldown: resendTimeWindow (e.g., 60s)
  • Expiration: expireTimeWindow (e.g., 5m)

6. Password Reset

6.1 By Email

Flow

  1. /start → Sends verification code via email
  2. /complete → Validates and resets password

POST /verification-services/password-reset-by-email/start

Parameter Type Required Description
email String Yes User email

Response

{
  "status": "OK", 
  "codeIndex": 1,
  // timeStamp : Milliseconds since Jan 1, 1970, 00:00:00.000 GMT
  "timeStamp": 1784578660000,
  "date": "Mon Jul 20 2026 23:17:40 GMT+0300 (GMT+03:00)",
  // expireTime: in seconds
  "expireTime": 86400,
  "verificationType": "byLink",

  // in testMode
  "secretCode": "123456",
  "userId": "user-uuid",
}

POST /verification-services/password-reset-by-email/complete

Parameter Type Required Description
email String Yes User email
secretCode String Yes Code received
password String Yes New password

Response

{
  "status": "OK", 
  "isVerified": true,
  "email": "user@email.com",
  // in testMode
  "userId": "user-uuid",
}

6.2 By Mobile

Flow

  1. /start → Sends SMS code
  2. /complete → Validates and resets password

POST /verification-services/password-reset-by-mobile/start

Parameter Type Required Description
mobile String Yes Mobile number

Response

{
  "status": "OK", 
  "codeIndex": 1,
  // timeStamp : Milliseconds since Jan 1, 1970, 00:00:00.000 GMT
  "timeStamp": 1784578660000,
  "date": "Mon Jul 20 2026 23:17:40 GMT+0300 (GMT+03:00)",
  // expireTime: in seconds
  "expireTime": 86400,
  "verificationType": "byLink",

  // in testMode
  "secretCode": "123456",
  "userId": "user-uuid",
}

POST /verification-services/password-reset-by-mobile/complete

Parameter Type Required Description
email String Yes Associated email
secretCode String Yes Code via SMS
password String Yes New password

Response

{
  "status": "OK", 
  "isVerified": true,
  "mobile": "+1 444 ....",
  // in testMode
  "userId": "user-uuid",
}

6.3 Behavioral Notes

  • Cooldown: 60s resend
  • Expiration: 24h
  • One session per user
  • Works without an active login session

7. Verification Method Types

7.1 byCode

User manually enters the 6-digit code in frontend.

7.2 byLink

Frontend handles a one-click verification via email/SMS link containing code parameters.

8) GET /currentuser — Current Session

Purpose Return the currently authenticated user’s session.

Route Type sessionInfo

Authentication Requires a valid access token (header or cookie).

Request

No parameters.

Example

axios.get("/currentuser", {
  headers: { Authorization: "Bearer <jwt>" }
});

Success (200)

Returns the session object (identity, tenancy, token metadata):

{
  "sessionId": "9cf23fa8-07d4-4e7c-80a6-ec6d6ac96bb9",
  "userId": "d92b9d4c-9b1e-4e95-842e-3fb9c8c1df38",
  "email": "user@example.com",
  "fullname": "John Doe",
  "roleId": "user",
  "tenantId": "abc123",
  "accessToken": "jwt-token-string",
  "...": "..."
}

Errors

  • 401 Unauthorized — No active session/token

    { "status": "ERR", "message": "No login found" }
    

Notes

  • Commonly called by web/mobile clients after login to hydrate session state.
  • Includes key identity/tenant fields and a token reference (if applicable).
  • Ensure a valid token is supplied to receive a 200 response.

9) GET /permissions — List Effective Permissions

Purpose Return all effective permission grants for the current user.

Route Type permissionFetch

Authentication Requires a valid access token.

Request

No parameters.

Example

axios.get("/permissions", {
  headers: { Authorization: "Bearer <jwt>" }
});

Success (200)

Array of permission grants (aligned with givenPermissions):

[
  {
    "id": "perm1",
    "permissionName": "adminPanel.access",
    "roleId": "admin",
    "subjectUserId": "d92b9d4c-9b1e-4e95-842e-3fb9c8c1df38",
    "subjectUserGroupId": null,
    "objectId": null,
    "canDo": true,
    "tenantCodename": "store123"
  },
  {
    "id": "perm2",
    "permissionName": "orders.manage",
    "roleId": null,
    "subjectUserId": "d92b9d4c-9b1e-4e95-842e-3fb9c8c1df38",
    "subjectUserGroupId": null,
    "objectId": null,
    "canDo": true,
    "tenantCodename": "store123"
  }
]

Field meanings (per item):

  • permissionName: Granted permission key.
  • roleId: Present if granted via role.
  • subjectUserId: Present if granted directly to the user.
  • subjectUserGroupId: Present if granted via group.
  • objectId: Present if scoped to a specific object (OBAC).
  • canDo: true if enabled, false if restricted.

Errors

  • 401 Unauthorized — No active session

    { "status": "ERR", "message": "No login found" }
    
  • 500 Internal Server Error — Unexpected failure

Notes

  • Available on all Mindbricks-generated services (not only Auth).
  • Auth service: Reads live givenPermissions from DB.
  • Other services: Typically respond from a cached/projected view (e.g., ElasticSearch) for faster checks.

Tip: Cache permission results client-side/server-side and refresh after login or permission updates.


10) GET /permissions/:permissionName — Check Permission Scope

Purpose Check whether the current user has a specific permission and return any scoped object exceptions/inclusions.

Route Type permissionScopeCheck

Authentication Requires a valid access token.

Path Parameters

Name Type Required Source
permissionName String Yes request.params.permissionName

Example

axios.get("/permissions/orders.manage", {
  headers: { Authorization: "Bearer <jwt>" }
});

Success (200)

{
  "canDo": true,
  "exceptions": [
    "a1f2e3d4-xxxx-yyyy-zzzz-object1",
    "b2c3d4e5-xxxx-yyyy-zzzz-object2"
  ]
}

Interpretation

  • If canDo: true: permission is generally granted except the listed exceptions (restrictions).
  • If canDo: false: permission is generally not granted, only allowed for the listed exceptions (selective overrides).
  • exceptions contains object IDs (UUID strings) from the relevant domain model.

Errors

  • 401 Unauthorized — No active session/token.

Services And Data Object

Auth Service

Authentication service for the project

Auth Service Data Objects

User A data object that stores the user information and handles login settings.

Auth Service Access urls

This service is accessible via the following environment-specific URLs:

  • Preview: https://linkedin.prw.mindbricks.com/auth-api
  • Staging: https://linkedin-stage.mindbricks.co/auth-api
  • Production: https://linkedin.mindbricks.co/auth-api

Get User API

This api is used by admin roles or the users themselves to get the user profile information.

Rest Route

The getUser API REST controller can be triggered via the following route:

/v1/users/:userId

Rest Request Parameters

The getUser api has got 1 request parameter

Parameter Type Required Population
userId ID true request.params?.userId
userId : This id paremeter is used to query the required data object.

REST Request To access the api you can use the REST controller with the path GET /v1/users/:userId

  axios({
    method: 'GET',
    url: `/v1/users/${userId}`,
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "user",
	"method": "GET",
	"action": "get",
	"appVersion": "Version",
	"rowCount": 1,
	"user": {
		"id": "ID",
		"email": "String",
		"password": "String",
		"fullname": "String",
		"avatar": "String",
		"roleId": "String",
		"emailVerified": "Boolean",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Update User API

This route is used by admins to update user profiles.

Rest Route

The updateUser API REST controller can be triggered via the following route:

/v1/users/:userId

Rest Request Parameters

The updateUser api has got 3 request parameters

Parameter Type Required Population
userId ID true request.params?.userId
fullname String false request.body?.fullname
avatar String false request.body?.avatar
userId : This id paremeter is used to select the required data object that will be updated
fullname : A string value to represent the fullname of the user
avatar : The avatar url of the user. A random avatar will be generated if not provided

REST Request To access the api you can use the REST controller with the path PATCH /v1/users/:userId

  axios({
    method: 'PATCH',
    url: `/v1/users/${userId}`,
    data: {
            fullname:"String",  
            avatar:"String",  
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "user",
	"method": "PATCH",
	"action": "update",
	"appVersion": "Version",
	"rowCount": 1,
	"user": {
		"id": "ID",
		"email": "String",
		"password": "String",
		"fullname": "String",
		"avatar": "String",
		"roleId": "String",
		"emailVerified": "Boolean",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Update Profile API

This route is used by users to update their profiles.

Rest Route

The updateProfile API REST controller can be triggered via the following route:

/v1/profile/:userId

Rest Request Parameters

The updateProfile api has got 3 request parameters

Parameter Type Required Population
userId ID true request.params?.userId
fullname String false request.body?.fullname
avatar String false request.body?.avatar
userId : This id paremeter is used to select the required data object that will be updated
fullname : A string value to represent the fullname of the user
avatar : The avatar url of the user. A random avatar will be generated if not provided

REST Request To access the api you can use the REST controller with the path PATCH /v1/profile/:userId

  axios({
    method: 'PATCH',
    url: `/v1/profile/${userId}`,
    data: {
            fullname:"String",  
            avatar:"String",  
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "user",
	"method": "PATCH",
	"action": "update",
	"appVersion": "Version",
	"rowCount": 1,
	"user": {
		"id": "ID",
		"email": "String",
		"password": "String",
		"fullname": "String",
		"avatar": "String",
		"roleId": "String",
		"emailVerified": "Boolean",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Create User API

This api is used by admin roles to create a new user manually from admin panels

Rest Route

The createUser API REST controller can be triggered via the following route:

/v1/users

Rest Request Parameters

The createUser api has got 4 request parameters

Parameter Type Required Population
avatar String false request.body?.avatar
email String true request.body?.email
password String true request.body?.password
fullname String true request.body?.fullname
avatar : The avatar url of the user. If not sent, a default random one will be generated.
email : A string value to represent the user's email.
password : A string value to represent the user's password. It will be stored as hashed.
fullname : A string value to represent the fullname of the user

REST Request To access the api you can use the REST controller with the path POST /v1/users

  axios({
    method: 'POST',
    url: '/v1/users',
    data: {
            avatar:"String",  
            email:"String",  
            password:"String",  
            fullname:"String",  
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "201",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "user",
	"method": "POST",
	"action": "create",
	"appVersion": "Version",
	"rowCount": 1,
	"user": {
		"id": "ID",
		"email": "String",
		"password": "String",
		"fullname": "String",
		"avatar": "String",
		"roleId": "String",
		"emailVerified": "Boolean",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Delete User API

This api is used by admins to delete user profiles.

Rest Route

The deleteUser API REST controller can be triggered via the following route:

/v1/users/:userId

Rest Request Parameters

The deleteUser api has got 1 request parameter

Parameter Type Required Population
userId ID true request.params?.userId
userId : This id paremeter is used to select the required data object that will be deleted

REST Request To access the api you can use the REST controller with the path DELETE /v1/users/:userId

  axios({
    method: 'DELETE',
    url: `/v1/users/${userId}`,
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "user",
	"method": "DELETE",
	"action": "delete",
	"appVersion": "Version",
	"rowCount": 1,
	"user": {
		"id": "ID",
		"email": "String",
		"password": "String",
		"fullname": "String",
		"avatar": "String",
		"roleId": "String",
		"emailVerified": "Boolean",
		"isActive": false,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Archive Profile API

This api is used by users to archive their profiles.

Rest Route

The archiveProfile API REST controller can be triggered via the following route:

/v1/archiveprofile/:userId

Rest Request Parameters

The archiveProfile api has got 1 request parameter

Parameter Type Required Population
userId ID true request.params?.userId
userId : This id paremeter is used to select the required data object that will be deleted

REST Request To access the api you can use the REST controller with the path DELETE /v1/archiveprofile/:userId

  axios({
    method: 'DELETE',
    url: `/v1/archiveprofile/${userId}`,
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "user",
	"method": "DELETE",
	"action": "delete",
	"appVersion": "Version",
	"rowCount": 1,
	"user": {
		"id": "ID",
		"email": "String",
		"password": "String",
		"fullname": "String",
		"avatar": "String",
		"roleId": "String",
		"emailVerified": "Boolean",
		"isActive": false,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

List Users API

The list of users is filtered by the tenantId.

Rest Route

The listUsers API REST controller can be triggered via the following route:

/v1/users

Rest Request Parameters The listUsers api has got no request parameters.

REST Request To access the api you can use the REST controller with the path GET /v1/users

  axios({
    method: 'GET',
    url: '/v1/users',
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "users",
	"method": "GET",
	"action": "list",
	"appVersion": "Version",
	"rowCount": "\"Number\"",
	"users": [
		{
			"id": "ID",
			"email": "String",
			"password": "String",
			"fullname": "String",
			"avatar": "String",
			"roleId": "String",
			"emailVerified": "Boolean",
			"isActive": true,
			"recordVersion": "Integer",
			"createdAt": "Date",
			"updatedAt": "Date",
			"_owner": "ID"
		},
		{},
		{}
	],
	"paging": {
		"pageNumber": "Number",
		"pageRowCount": "NUmber",
		"totalRowCount": "Number",
		"pageCount": "Number"
	},
	"filters": [],
	"uiPermissions": []
}

Search Users API

The list of users is filtered by the tenantId.

Rest Route

The searchUsers API REST controller can be triggered via the following route:

/v1/searchusers

Rest Request Parameters

The searchUsers api has got 1 request parameter

Parameter Type Required Population
keyword String true request.query?.keyword
keyword :

REST Request To access the api you can use the REST controller with the path GET /v1/searchusers

  axios({
    method: 'GET',
    url: '/v1/searchusers',
    data: {
    
    },
    params: {
             keyword:'"String"',  
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "users",
	"method": "GET",
	"action": "list",
	"appVersion": "Version",
	"rowCount": "\"Number\"",
	"users": [
		{
			"id": "ID",
			"email": "String",
			"password": "String",
			"fullname": "String",
			"avatar": "String",
			"roleId": "String",
			"emailVerified": "Boolean",
			"isActive": true,
			"recordVersion": "Integer",
			"createdAt": "Date",
			"updatedAt": "Date",
			"_owner": "ID"
		},
		{},
		{}
	],
	"paging": {
		"pageNumber": "Number",
		"pageRowCount": "NUmber",
		"totalRowCount": "Number",
		"pageCount": "Number"
	},
	"filters": [],
	"uiPermissions": []
}

Update Userrole API

This route is used by admin roles to update the user role.The default role is user when a user is registered. A user's role can be updated by superAdmin or admin

Rest Route

The updateUserRole API REST controller can be triggered via the following route:

/v1/userrole/:userId

Rest Request Parameters

The updateUserRole api has got 2 request parameters

Parameter Type Required Population
userId ID true request.params?.userId
roleId String true request.body?.roleId
userId : This id paremeter is used to select the required data object that will be updated
roleId : The new roleId of the user to be updated

REST Request To access the api you can use the REST controller with the path PATCH /v1/userrole/:userId

  axios({
    method: 'PATCH',
    url: `/v1/userrole/${userId}`,
    data: {
            roleId:"String",  
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "user",
	"method": "PATCH",
	"action": "update",
	"appVersion": "Version",
	"rowCount": 1,
	"user": {
		"id": "ID",
		"email": "String",
		"password": "String",
		"fullname": "String",
		"avatar": "String",
		"roleId": "String",
		"emailVerified": "Boolean",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Update Userpassword API

This route is used to update the password of users in the profile page by users themselves

Rest Route

The updateUserPassword API REST controller can be triggered via the following route:

/v1/userpassword/:userId

Rest Request Parameters

The updateUserPassword api has got 3 request parameters

Parameter Type Required Population
userId ID true request.params?.userId
oldPassword String true request.body?.oldPassword
newPassword String true request.body?.newPassword
userId : This id paremeter is used to select the required data object that will be updated
oldPassword : The old password of the user that will be overridden bu the new one. Send for double check.
newPassword : The new password of the user to be updated

REST Request To access the api you can use the REST controller with the path PATCH /v1/userpassword/:userId

  axios({
    method: 'PATCH',
    url: `/v1/userpassword/${userId}`,
    data: {
            oldPassword:"String",  
            newPassword:"String",  
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "user",
	"method": "PATCH",
	"action": "update",
	"appVersion": "Version",
	"rowCount": 1,
	"user": {
		"id": "ID",
		"email": "String",
		"password": "String",
		"fullname": "String",
		"avatar": "String",
		"roleId": "String",
		"emailVerified": "Boolean",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Update Userpasswordbyadmin API

This route is used to change any user password by admins only. Superadmin can chnage all passwords, admins can change only nonadmin passwords

Rest Route

The updateUserPasswordByAdmin API REST controller can be triggered via the following route:

/v1/userpasswordbyadmin/:userId

Rest Request Parameters

The updateUserPasswordByAdmin api has got 2 request parameters

Parameter Type Required Population
userId ID true request.params?.userId
password String true request.body?.password
userId : This id paremeter is used to select the required data object that will be updated
password : The new password of the user to be updated

REST Request To access the api you can use the REST controller with the path PATCH /v1/userpasswordbyadmin/:userId

  axios({
    method: 'PATCH',
    url: `/v1/userpasswordbyadmin/${userId}`,
    data: {
            password:"String",  
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "user",
	"method": "PATCH",
	"action": "update",
	"appVersion": "Version",
	"rowCount": 1,
	"user": {
		"id": "ID",
		"email": "String",
		"password": "String",
		"fullname": "String",
		"avatar": "String",
		"roleId": "String",
		"emailVerified": "Boolean",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Get Briefuser API

This route is used by public to get simple user profile information.

Rest Route

The getBriefUser API REST controller can be triggered via the following route:

/v1/briefuser/:userId

Rest Request Parameters

The getBriefUser api has got 1 request parameter

Parameter Type Required Population
userId ID true request.params?.userId
userId : This id paremeter is used to query the required data object.

REST Request To access the api you can use the REST controller with the path GET /v1/briefuser/:userId

  axios({
    method: 'GET',
    url: `/v1/briefuser/${userId}`,
    data: {
    
    },
    params: {
    
    }
  });

REST Response

This route's response is constrained to a select list of properties, and therefore does not encompass all attributes of the resource.

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "user",
	"method": "GET",
	"action": "get",
	"appVersion": "Version",
	"rowCount": 1,
	"user": {
		"fullname": "String",
		"avatar": "String",
		"isActive": true
	}
}

Register User API

This api is used by public users to register themselves

Rest Route

The registerUser API REST controller can be triggered via the following route:

/v1/registeruser

Rest Request Parameters

The registerUser api has got 4 request parameters

Parameter Type Required Population
avatar String false request.body?.avatar
password String true request.body?.password
fullname String true request.body?.fullname
email String true request.body?.email
avatar : The avatar url of the user. If not sent, a default random one will be generated.
password : The password defined by the the user that is being registered.
fullname : The fullname defined by the the user that is being registered.
email : The email defined by the the user that is being registered.

REST Request To access the api you can use the REST controller with the path POST /v1/registeruser

  axios({
    method: 'POST',
    url: '/v1/registeruser',
    data: {
            avatar:"String",  
            password:"String",  
            fullname:"String",  
            email:"String",  
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "201",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "user",
	"method": "POST",
	"action": "create",
	"appVersion": "Version",
	"rowCount": 1,
	"user": {
		"id": "ID",
		"email": "String",
		"password": "String",
		"fullname": "String",
		"avatar": "String",
		"roleId": "String",
		"emailVerified": "Boolean",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

JobApplication Service

Microservice handling job postings (created by recruiters/company admins), job applications (created by users), allowing job search, application submission, and status update workflows. Enforces business rules around application status, admin controls, and lets professionals apply and track job applications .within the network.

JobApplication Service Data Objects

JobPosting Job posting entity representing an open position with a company. Created/managed by company admins or recruiters. Fields include companyId, postedByUserId, title, details, requirements, employment type, salary, deadline, etc.

JobApplication Record of a user applying for a specific jobPosting (tracks application/resume/status/audit). Each application is unique per user x jobPosting.

JobApplication Service Access urls

This service is accessible via the following environment-specific URLs:

  • Preview: https://linkedin.prw.mindbricks.com/jobapplication-api
  • Staging: https://linkedin-stage.mindbricks.co/jobapplication-api
  • Production: https://linkedin.mindbricks.co/jobapplication-api

Delete Jobapplication API

Delete (soft) job application. Only applicant or admin for the job's company may delete.

Rest Route

The deleteJobApplication API REST controller can be triggered via the following route:

/v1/jobapplications/:jobApplicationId

Rest Request Parameters

The deleteJobApplication api has got 1 request parameter

Parameter Type Required Population
jobApplicationId ID true request.params?.jobApplicationId
jobApplicationId : This id paremeter is used to select the required data object that will be deleted

REST Request To access the api you can use the REST controller with the path DELETE /v1/jobapplications/:jobApplicationId

  axios({
    method: 'DELETE',
    url: `/v1/jobapplications/${jobApplicationId}`,
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "jobApplication",
	"method": "DELETE",
	"action": "delete",
	"appVersion": "Version",
	"rowCount": 1,
	"jobApplication": {
		"id": "ID",
		"jobPostingId": "ID",
		"applicantUserId": "ID",
		"coverLetter": "Text",
		"resumeUrl": "String",
		"lastStatusUpdateAt": "Date",
		"status": "Enum",
		"status_idx": "Integer",
		"appliedAt": "Date",
		"isActive": false,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Get Jobapplication API

Get job application record. Only applicant or admin of company may view.

Rest Route

The getJobApplication API REST controller can be triggered via the following route:

/v1/jobapplications/:jobApplicationId

Rest Request Parameters

The getJobApplication api has got 1 request parameter

Parameter Type Required Population
jobApplicationId ID true request.params?.jobApplicationId
jobApplicationId : This id paremeter is used to query the required data object.

REST Request To access the api you can use the REST controller with the path GET /v1/jobapplications/:jobApplicationId

  axios({
    method: 'GET',
    url: `/v1/jobapplications/${jobApplicationId}`,
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "jobApplication",
	"method": "GET",
	"action": "get",
	"appVersion": "Version",
	"rowCount": 1,
	"jobApplication": {
		"id": "ID",
		"jobPostingId": "ID",
		"applicantUserId": "ID",
		"coverLetter": "Text",
		"resumeUrl": "String",
		"lastStatusUpdateAt": "Date",
		"status": "Enum",
		"status_idx": "Integer",
		"appliedAt": "Date",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Update Jobposting API

Update job posting fields. Only company admins for companyId may update. Ownership enforced. Edits forbidden after deadline if desired.

Rest Route

The updateJobPosting API REST controller can be triggered via the following route:

/v1/jobpostings/:jobPostingId

Rest Request Parameters

The updateJobPosting api has got 12 request parameters

Parameter Type Required Population
jobPostingId ID true request.params?.jobPostingId
description Text true request.body?.description
title String true request.body?.title
applicationDeadline Date false request.body?.applicationDeadline
companyId ID true request.body?.companyId
employmentType Enum true request.body?.employmentType
salaryRange String false request.body?.salaryRange
location String false request.body?.location
visibility Enum true request.body?.visibility
workplaceType Enum true request.body?.workplaceType
status Enum true request.body?.status
companyName String true request.body?.companyName
jobPostingId : This id paremeter is used to select the required data object that will be updated
description : Detailed description of the job posting.
title : Job title/position name.
applicationDeadline : Last date for accepting applications. Checked during apply.
companyId : Company offering the job. FK to company:company
employmentType : Job employment type (full-time, part-time, contract, internship,temporary,volunteer,other).
salaryRange : Human-readable salary range (free-form for v1; can be refined later).
location : Primary job location (city, country, etc.)
visibility : Controls who can see/apply to this job: public (all) or private (admins only).
workplaceType : Workplace type (on-site,remote,hybrid).
status : status : active or closed
companyName : company name

REST Request To access the api you can use the REST controller with the path PATCH /v1/jobpostings/:jobPostingId

  axios({
    method: 'PATCH',
    url: `/v1/jobpostings/${jobPostingId}`,
    data: {
            description:"Text",  
            title:"String",  
            applicationDeadline:"Date",  
            companyId:"ID",  
            employmentType:"Enum",  
            salaryRange:"String",  
            location:"String",  
            visibility:"Enum",  
            workplaceType:"Enum",  
            status:"Enum",  
            companyName:"String",  
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "jobPosting",
	"method": "PATCH",
	"action": "update",
	"appVersion": "Version",
	"rowCount": 1,
	"jobPosting": {
		"id": "ID",
		"description": "Text",
		"title": "String",
		"applicationDeadline": "Date",
		"companyId": "ID",
		"employmentType": "Enum",
		"employmentType_idx": "Integer",
		"postedByUserId": "ID",
		"salaryRange": "String",
		"location": "String",
		"visibility": "Enum",
		"visibility_idx": "Integer",
		"workplaceType": "Enum",
		"workplaceType_idx": "Integer",
		"status": "Enum",
		"status_idx": "Integer",
		"companyName": "String",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Delete Jobposting API

Delete (soft) a job posting. Only admin for companyId may delete.

Rest Route

The deleteJobPosting API REST controller can be triggered via the following route:

/v1/jobpostings/:jobPostingId

Rest Request Parameters

The deleteJobPosting api has got 1 request parameter

Parameter Type Required Population
jobPostingId ID true request.params?.jobPostingId
jobPostingId : This id paremeter is used to select the required data object that will be deleted

REST Request To access the api you can use the REST controller with the path DELETE /v1/jobpostings/:jobPostingId

  axios({
    method: 'DELETE',
    url: `/v1/jobpostings/${jobPostingId}`,
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "jobPosting",
	"method": "DELETE",
	"action": "delete",
	"appVersion": "Version",
	"rowCount": 1,
	"jobPosting": {
		"id": "ID",
		"description": "Text",
		"title": "String",
		"applicationDeadline": "Date",
		"companyId": "ID",
		"employmentType": "Enum",
		"employmentType_idx": "Integer",
		"postedByUserId": "ID",
		"salaryRange": "String",
		"location": "String",
		"visibility": "Enum",
		"visibility_idx": "Integer",
		"workplaceType": "Enum",
		"workplaceType_idx": "Integer",
		"status": "Enum",
		"status_idx": "Integer",
		"companyName": "String",
		"isActive": false,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Get Jobposting API

Fetch a job posting by ID. Publicly visible if visibility=public, else only viewable by admins of company.

Rest Route

The getJobPosting API REST controller can be triggered via the following route:

/v1/jobpostings/:jobPostingId

Rest Request Parameters

The getJobPosting api has got 1 request parameter

Parameter Type Required Population
jobPostingId ID true request.params?.jobPostingId
jobPostingId : This id paremeter is used to query the required data object.

REST Request To access the api you can use the REST controller with the path GET /v1/jobpostings/:jobPostingId

  axios({
    method: 'GET',
    url: `/v1/jobpostings/${jobPostingId}`,
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "jobPosting",
	"method": "GET",
	"action": "get",
	"appVersion": "Version",
	"rowCount": 1,
	"jobPosting": {
		"id": "ID",
		"description": "Text",
		"title": "String",
		"applicationDeadline": "Date",
		"companyId": "ID",
		"employmentType": "Enum",
		"employmentType_idx": "Integer",
		"postedByUserId": "ID",
		"salaryRange": "String",
		"location": "String",
		"visibility": "Enum",
		"visibility_idx": "Integer",
		"workplaceType": "Enum",
		"workplaceType_idx": "Integer",
		"status": "Enum",
		"status_idx": "Integer",
		"companyName": "String",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Update Jobapplication API

Update job application (status/by admin, or resume/cover by applicant, limited). Only admins/recruiters for job's company, or applicant, may update. Status can only move forward, not revert to submitted.

Rest Route

The updateJobApplication API REST controller can be triggered via the following route:

/v1/jobapplications/:jobApplicationId

Rest Request Parameters

The updateJobApplication api has got 4 request parameters

Parameter Type Required Population
jobApplicationId ID true request.params?.jobApplicationId
coverLetter Text false request.body?.coverLetter
resumeUrl String false request.body?.resumeUrl
status Enum true request.body?.status
jobApplicationId : This id paremeter is used to select the required data object that will be updated
coverLetter : User's (optional) cover letter/body with application.
resumeUrl : URL/path to user resume/doc to share with recruiter/admin. User-provided.
status : Application status: submitted, in_review, accepted, rejected. Only updatable by admin/recruiter for this job.

REST Request To access the api you can use the REST controller with the path PATCH /v1/jobapplications/:jobApplicationId

  axios({
    method: 'PATCH',
    url: `/v1/jobapplications/${jobApplicationId}`,
    data: {
            coverLetter:"Text",  
            resumeUrl:"String",  
            status:"Enum",  
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "jobApplication",
	"method": "PATCH",
	"action": "update",
	"appVersion": "Version",
	"rowCount": 1,
	"jobApplication": {
		"id": "ID",
		"jobPostingId": "ID",
		"applicantUserId": "ID",
		"coverLetter": "Text",
		"resumeUrl": "String",
		"lastStatusUpdateAt": "Date",
		"status": "Enum",
		"status_idx": "Integer",
		"appliedAt": "Date",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Create Jobapplication API

Submit a job application for a jobPosting (by logged-in user). Only if not already applied, and before deadline. Sets status=submitted.

Rest Route

The createJobApplication API REST controller can be triggered via the following route:

/v1/jobapplications

Rest Request Parameters

The createJobApplication api has got 4 request parameters

Parameter Type Required Population
jobPostingId ID true request.body?.jobPostingId
coverLetter Text false request.body?.coverLetter
resumeUrl String false request.body?.resumeUrl
status Enum true request.body?.status
jobPostingId : FK to jobPosting: job applied for.
coverLetter : User's (optional) cover letter/body with application.
resumeUrl : URL/path to user resume/doc to share with recruiter/admin. User-provided.
status : Application status: submitted, in_review, accepted, rejected. Only updatable by admin/recruiter for this job.

REST Request To access the api you can use the REST controller with the path POST /v1/jobapplications

  axios({
    method: 'POST',
    url: '/v1/jobapplications',
    data: {
            jobPostingId:"ID",  
            coverLetter:"Text",  
            resumeUrl:"String",  
            status:"Enum",  
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "201",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "jobApplication",
	"method": "POST",
	"action": "create",
	"appVersion": "Version",
	"rowCount": 1,
	"jobApplication": {
		"id": "ID",
		"jobPostingId": "ID",
		"applicantUserId": "ID",
		"coverLetter": "Text",
		"resumeUrl": "String",
		"lastStatusUpdateAt": "Date",
		"status": "Enum",
		"status_idx": "Integer",
		"appliedAt": "Date",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

List Jobpostings API

List job postings. Public jobs visible to all; private jobs visible only to company admins or recruiters.

Rest Route

The listJobPostings API REST controller can be triggered via the following route:

/v1/jobpostings

Rest Request Parameters The listJobPostings api has got no request parameters.

REST Request To access the api you can use the REST controller with the path GET /v1/jobpostings

  axios({
    method: 'GET',
    url: '/v1/jobpostings',
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "jobPostings",
	"method": "GET",
	"action": "list",
	"appVersion": "Version",
	"rowCount": "\"Number\"",
	"jobPostings": [
		{
			"id": "ID",
			"description": "Text",
			"title": "String",
			"applicationDeadline": "Date",
			"companyId": "ID",
			"employmentType": "Enum",
			"employmentType_idx": "Integer",
			"postedByUserId": "ID",
			"salaryRange": "String",
			"location": "String",
			"visibility": "Enum",
			"visibility_idx": "Integer",
			"workplaceType": "Enum",
			"workplaceType_idx": "Integer",
			"status": "Enum",
			"status_idx": "Integer",
			"companyName": "String",
			"isActive": true,
			"recordVersion": "Integer",
			"createdAt": "Date",
			"updatedAt": "Date",
			"_owner": "ID"
		},
		{},
		{}
	],
	"paging": {
		"pageNumber": "Number",
		"pageRowCount": "NUmber",
		"totalRowCount": "Number",
		"pageCount": "Number"
	},
	"filters": [],
	"uiPermissions": []
}

List Jobapplications API

List job applications. Applicants see their own; admins of job's company can view all for their jobs; supports filter by status, job and applicant.

Rest Route

The listJobApplications API REST controller can be triggered via the following route:

/v1/jobapplications

Rest Request Parameters The listJobApplications api has got no request parameters.

REST Request To access the api you can use the REST controller with the path GET /v1/jobapplications

  axios({
    method: 'GET',
    url: '/v1/jobapplications',
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "jobApplications",
	"method": "GET",
	"action": "list",
	"appVersion": "Version",
	"rowCount": "\"Number\"",
	"jobApplications": [
		{
			"id": "ID",
			"jobPostingId": "ID",
			"applicantUserId": "ID",
			"coverLetter": "Text",
			"resumeUrl": "String",
			"lastStatusUpdateAt": "Date",
			"status": "Enum",
			"status_idx": "Integer",
			"appliedAt": "Date",
			"isActive": true,
			"recordVersion": "Integer",
			"createdAt": "Date",
			"updatedAt": "Date",
			"_owner": "ID"
		},
		{},
		{}
	],
	"paging": {
		"pageNumber": "Number",
		"pageRowCount": "NUmber",
		"totalRowCount": "Number",
		"pageCount": "Number"
	},
	"filters": [],
	"uiPermissions": []
}

Create Jobposting API

Create a new job posting. Only company admins/recruiters for companyId can create. postedByUserId set from session.

Rest Route

The createJobPosting API REST controller can be triggered via the following route:

/v1/jobpostings

Rest Request Parameters

The createJobPosting api has got 11 request parameters

Parameter Type Required Population
description Text true request.body?.description
title String true request.body?.title
applicationDeadline Date false request.body?.applicationDeadline
companyId ID false request.body?.companyId
employmentType Enum true request.body?.employmentType
salaryRange String false request.body?.salaryRange
location String false request.body?.location
visibility Enum true request.body?.visibility
workplaceType Enum true request.body?.workplaceType
status Enum true request.body?.status
companyName String true request.body?.companyName
description : Detailed description of the job posting.
title : Job title/position name.
applicationDeadline : Last date for accepting applications. Checked during apply.
companyId : Company offering the job. FK to company:company
employmentType : Job employment type (full-time, part-time, contract, internship,temporary,volunteer,other).
salaryRange : Human-readable salary range (free-form for v1; can be refined later).
location : Primary job location (city, country, etc.)
visibility : Controls who can see/apply to this job: public (all) or private (admins only).
workplaceType : Workplace type (on-site,remote,hybrid).
status : status : active or closed
companyName : company name

REST Request To access the api you can use the REST controller with the path POST /v1/jobpostings

  axios({
    method: 'POST',
    url: '/v1/jobpostings',
    data: {
            description:"Text",  
            title:"String",  
            applicationDeadline:"Date",  
            companyId:"ID",  
            employmentType:"Enum",  
            salaryRange:"String",  
            location:"String",  
            visibility:"Enum",  
            workplaceType:"Enum",  
            status:"Enum",  
            companyName:"String",  
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "201",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "jobPosting",
	"method": "POST",
	"action": "create",
	"appVersion": "Version",
	"rowCount": 1,
	"jobPosting": {
		"id": "ID",
		"description": "Text",
		"title": "String",
		"applicationDeadline": "Date",
		"companyId": "ID",
		"employmentType": "Enum",
		"employmentType_idx": "Integer",
		"postedByUserId": "ID",
		"salaryRange": "String",
		"location": "String",
		"visibility": "Enum",
		"visibility_idx": "Integer",
		"workplaceType": "Enum",
		"workplaceType_idx": "Integer",
		"status": "Enum",
		"status_idx": "Integer",
		"companyName": "String",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Networking Service

Handles professional networking logic for user-to-user connections: manages connection requests, accepted relationships, listing/removal, permissions, and state transitions. Publishes connection lifecycle events for notification...

Networking Service Data Objects

Connection Represents a single established user-to-user professional relationship (mutual connection). One record per unordered user pair, deleted on disconnect..

ConnectionRequest Tracks a user's request to connect with another user, supporting request/accept/reject/cancel, with audit timestamps.

Networking Service Access urls

This service is accessible via the following environment-specific URLs:

  • Preview: https://linkedin.prw.mindbricks.com/networking-api
  • Staging: https://linkedin-stage.mindbricks.co/networking-api
  • Production: https://linkedin.mindbricks.co/networking-api

Create Connection API

Create Connection

Rest Route

The createConnection API REST controller can be triggered via the following route:

/v1/connections

Rest Request Parameters

The createConnection api has got 2 request parameters

Parameter Type Required Population
userId1 ID true request.body?.userId1
userId2 ID true request.body?.userId2
userId1 : FK to auth:user.id. First user of the connection. Value must be lower of both user IDs lexically to ensure uniqueness regardless of order.
userId2 : FK to auth:user.id. Second user of the connection. Value must be higher of both user IDs lexically. Together with userId1 ensures uniqueness of unordered pair.

REST Request To access the api you can use the REST controller with the path POST /v1/connections

  axios({
    method: 'POST',
    url: '/v1/connections',
    data: {
            userId1:"ID",  
            userId2:"ID",  
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "201",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "connection",
	"method": "POST",
	"action": "create",
	"appVersion": "Version",
	"rowCount": 1,
	"connection": {
		"id": "ID",
		"connectedSince": "Date",
		"userId1": "ID",
		"userId2": "ID",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Delete Connectionrequest API

Sender or receiver may cancel/delete a connection request (soft-delete).

Rest Route

The deleteConnectionRequest API REST controller can be triggered via the following route:

/v1/connectionrequests/:connectionRequestId

Rest Request Parameters

The deleteConnectionRequest api has got 1 request parameter

Parameter Type Required Population
connectionRequestId ID true request.params?.connectionRequestId
connectionRequestId : This id paremeter is used to select the required data object that will be deleted

REST Request To access the api you can use the REST controller with the path DELETE /v1/connectionrequests/:connectionRequestId

  axios({
    method: 'DELETE',
    url: `/v1/connectionrequests/${connectionRequestId}`,
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "connectionRequest",
	"method": "DELETE",
	"action": "delete",
	"appVersion": "Version",
	"rowCount": 1,
	"connectionRequest": {
		"id": "ID",
		"receiverUserId": "ID",
		"senderUserId": "ID",
		"sentAt": "Date",
		"status": "Enum",
		"status_idx": "Integer",
		"respondedAt": "Date",
		"message": "String",
		"isActive": false,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Update Connectionrequest API

Allows receiver of a pending connection request to accept or reject request.

Rest Route

The updateConnectionRequest API REST controller can be triggered via the following route:

/v1/connectionrequests/:connectionRequestId

Rest Request Parameters

The updateConnectionRequest api has got 3 request parameters

Parameter Type Required Population
connectionRequestId ID true request.params?.connectionRequestId
status Enum true request.body?.status
respondedAt Date false request.body?.respondedAt
connectionRequestId : This id paremeter is used to select the required data object that will be updated
status : Request status: pending/accepted/rejected.
respondedAt : Timestamp when receiver accepted/rejected.

REST Request To access the api you can use the REST controller with the path PATCH /v1/connectionrequests/:connectionRequestId

  axios({
    method: 'PATCH',
    url: `/v1/connectionrequests/${connectionRequestId}`,
    data: {
            status:"Enum",  
            respondedAt:"Date",  
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "connectionRequest",
	"method": "PATCH",
	"action": "update",
	"appVersion": "Version",
	"rowCount": 1,
	"connectionRequest": {
		"id": "ID",
		"receiverUserId": "ID",
		"senderUserId": "ID",
		"sentAt": "Date",
		"status": "Enum",
		"status_idx": "Integer",
		"respondedAt": "Date",
		"message": "String",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

List Connections API

List all active connections where session user is a participant.

Rest Route

The listConnections API REST controller can be triggered via the following route:

/v1/connections

Rest Request Parameters The listConnections api has got no request parameters.

REST Request To access the api you can use the REST controller with the path GET /v1/connections

  axios({
    method: 'GET',
    url: '/v1/connections',
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "connections",
	"method": "GET",
	"action": "list",
	"appVersion": "Version",
	"rowCount": "\"Number\"",
	"connections": [
		{
			"id": "ID",
			"connectedSince": "Date",
			"userId1": "ID",
			"userId2": "ID",
			"isActive": true,
			"recordVersion": "Integer",
			"createdAt": "Date",
			"updatedAt": "Date",
			"_owner": "ID"
		},
		{},
		{}
	],
	"paging": {
		"pageNumber": "Number",
		"pageRowCount": "NUmber",
		"totalRowCount": "Number",
		"pageCount": "Number"
	},
	"filters": [],
	"uiPermissions": []
}

List Connectionrequests API

List connection requests involving current user, filterable by status (pending, accepted, rejected).

Rest Route

The listConnectionRequests API REST controller can be triggered via the following route:

/v1/connectionrequests

Rest Request Parameters The listConnectionRequests api has got no request parameters.

REST Request To access the api you can use the REST controller with the path GET /v1/connectionrequests

  axios({
    method: 'GET',
    url: '/v1/connectionrequests',
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "connectionRequests",
	"method": "GET",
	"action": "list",
	"appVersion": "Version",
	"rowCount": "\"Number\"",
	"connectionRequests": [
		{
			"id": "ID",
			"receiverUserId": "ID",
			"senderUserId": "ID",
			"sentAt": "Date",
			"status": "Enum",
			"status_idx": "Integer",
			"respondedAt": "Date",
			"message": "String",
			"isActive": true,
			"recordVersion": "Integer",
			"createdAt": "Date",
			"updatedAt": "Date",
			"_owner": "ID"
		},
		{},
		{}
	],
	"paging": {
		"pageNumber": "Number",
		"pageRowCount": "NUmber",
		"totalRowCount": "Number",
		"pageCount": "Number"
	},
	"filters": [],
	"uiPermissions": []
}

Create Connectionrequest API

Send a new connection request from logged-in user to another user.

Rest Route

The createConnectionRequest API REST controller can be triggered via the following route:

/v1/connectionrequests

Rest Request Parameters

The createConnectionRequest api has got 4 request parameters

Parameter Type Required Population
receiverUserId ID true request.body?.receiverUserId
status Enum true request.body?.status
respondedAt Date false request.body?.respondedAt
message String false request.body?.message
receiverUserId : FK to auth:user.id — target of the request.
status : Request status: pending/accepted/rejected.
respondedAt : Timestamp when receiver accepted/rejected.
message : Optional introductory message from sender to receiver.

REST Request To access the api you can use the REST controller with the path POST /v1/connectionrequests

  axios({
    method: 'POST',
    url: '/v1/connectionrequests',
    data: {
            receiverUserId:"ID",  
            status:"Enum",  
            respondedAt:"Date",  
            message:"String",  
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "201",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "connectionRequest",
	"method": "POST",
	"action": "create",
	"appVersion": "Version",
	"rowCount": 1,
	"connectionRequest": {
		"id": "ID",
		"receiverUserId": "ID",
		"senderUserId": "ID",
		"sentAt": "Date",
		"status": "Enum",
		"status_idx": "Integer",
		"respondedAt": "Date",
		"message": "String",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Delete Connection API

Break (delete) the connection between two users. Either user may disconnect.

Rest Route

The deleteConnection API REST controller can be triggered via the following route:

/v1/connections/:connectionId

Rest Request Parameters

The deleteConnection api has got 1 request parameter

Parameter Type Required Population
connectionId ID true request.params?.connectionId
connectionId : This id paremeter is used to select the required data object that will be deleted

REST Request To access the api you can use the REST controller with the path DELETE /v1/connections/:connectionId

  axios({
    method: 'DELETE',
    url: `/v1/connections/${connectionId}`,
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "connection",
	"method": "DELETE",
	"action": "delete",
	"appVersion": "Version",
	"rowCount": 1,
	"connection": {
		"id": "ID",
		"connectedSince": "Date",
		"userId1": "ID",
		"userId2": "ID",
		"isActive": false,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Get Connectionrequest API

Get a specific connection request by ID if sender/receiver.

Rest Route

The getConnectionRequest API REST controller can be triggered via the following route:

/v1/connectionrequests/:connectionRequestId

Rest Request Parameters

The getConnectionRequest api has got 1 request parameter

Parameter Type Required Population
connectionRequestId ID true request.params?.connectionRequestId
connectionRequestId : This id paremeter is used to query the required data object.

REST Request To access the api you can use the REST controller with the path GET /v1/connectionrequests/:connectionRequestId

  axios({
    method: 'GET',
    url: `/v1/connectionrequests/${connectionRequestId}`,
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "connectionRequest",
	"method": "GET",
	"action": "get",
	"appVersion": "Version",
	"rowCount": 1,
	"connectionRequest": {
		"id": "ID",
		"receiverUserId": "ID",
		"senderUserId": "ID",
		"sentAt": "Date",
		"status": "Enum",
		"status_idx": "Integer",
		"respondedAt": "Date",
		"message": "String",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Get Connection API

Get connection between session user and another user (if exists, not soft-deleted).

Rest Route

The getConnection API REST controller can be triggered via the following route:

/v1/connections/:connectionId

Rest Request Parameters

The getConnection api has got 1 request parameter

Parameter Type Required Population
connectionId ID true request.params?.connectionId
connectionId : This id paremeter is used to query the required data object.

REST Request To access the api you can use the REST controller with the path GET /v1/connections/:connectionId

  axios({
    method: 'GET',
    url: `/v1/connections/${connectionId}`,
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "connection",
	"method": "GET",
	"action": "get",
	"appVersion": "Version",
	"rowCount": 1,
	"connection": {
		"id": "ID",
		"connectedSince": "Date",
		"userId1": "ID",
		"userId2": "ID",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Company Service

Handles company profiles, company admin assignments, company following, and posting company updates/news. Enables professionals to follow companies, get updates, and enables admins to manage company presence..

Company Service Data Objects

CompanyFollower Tracks when a user follows a company to receive updates. Append-only, deletes for unfollow.

CompanyUpdate A post/news update created by company admin and visible to followers depending on visibility.

Company Represents a company profile and brand presence/pages on the network.

CompanyAdmin Tracks which users are assigned as admins for a company, allowing them to manage the company page and edits.

Company Service Access urls

This service is accessible via the following environment-specific URLs:

  • Preview: https://linkedin.prw.mindbricks.com/company-api
  • Staging: https://linkedin-stage.mindbricks.co/company-api
  • Production: https://linkedin.mindbricks.co/company-api

Get Companyadmin API

Get company admin record by ID. Only admins can query of their company.

Rest Route

The getCompanyAdmin API REST controller can be triggered via the following route:

/v1/companyadmins/:companyAdminId

Rest Request Parameters

The getCompanyAdmin api has got 1 request parameter

Parameter Type Required Population
companyAdminId ID true request.params?.companyAdminId
companyAdminId : This id paremeter is used to query the required data object.

REST Request To access the api you can use the REST controller with the path GET /v1/companyadmins/:companyAdminId

  axios({
    method: 'GET',
    url: `/v1/companyadmins/${companyAdminId}`,
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "companyAdmin",
	"method": "GET",
	"action": "get",
	"appVersion": "Version",
	"rowCount": 1,
	"companyAdmin": {
		"id": "ID",
		"assignedAt": "Date",
		"userId": "ID",
		"companyId": "ID",
		"assignedBy": "ID",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Follow Company API

Follow a company. Adds entry to companyFollower. Any logged-in user may follow. Cannot follow twice.

Rest Route

The followCompany API REST controller can be triggered via the following route:

/v1/followcompany

Rest Request Parameters

The followCompany api has got 3 request parameters

Parameter Type Required Population
userId ID true request.body?.userId
companyId ID true request.body?.companyId
followedAt Date true request.body?.followedAt
userId : FK to auth:user who follows the company.
companyId : FK to company:company being followed.
followedAt : Timestamp when user followed company.

REST Request To access the api you can use the REST controller with the path POST /v1/followcompany

  axios({
    method: 'POST',
    url: '/v1/followcompany',
    data: {
            userId:"ID",  
            companyId:"ID",  
            followedAt:"Date",  
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "201",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "companyFollower",
	"method": "POST",
	"action": "create",
	"appVersion": "Version",
	"rowCount": 1,
	"companyFollower": {
		"id": "ID",
		"userId": "ID",
		"companyId": "ID",
		"followedAt": "Date",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Remove Companyadmin API

Removes admin rights from a user for a company. Can only be performed by current admin, not self-removal unless last admin?

Rest Route

The removeCompanyAdmin API REST controller can be triggered via the following route:

/v1/removecompanyadmin/:companyAdminId

Rest Request Parameters

The removeCompanyAdmin api has got 1 request parameter

Parameter Type Required Population
companyAdminId ID true request.params?.companyAdminId
companyAdminId : This id paremeter is used to select the required data object that will be deleted

REST Request To access the api you can use the REST controller with the path DELETE /v1/removecompanyadmin/:companyAdminId

  axios({
    method: 'DELETE',
    url: `/v1/removecompanyadmin/${companyAdminId}`,
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "companyAdmin",
	"method": "DELETE",
	"action": "delete",
	"appVersion": "Version",
	"rowCount": 1,
	"companyAdmin": {
		"id": "ID",
		"assignedAt": "Date",
		"userId": "ID",
		"companyId": "ID",
		"assignedBy": "ID",
		"isActive": false,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Create Company API

Creates a new company profile (page). User initiating the company becomes initial admin (enforced in workflow).

Rest Route

The createCompany API REST controller can be triggered via the following route:

/v1/companies

Rest Request Parameters

The createCompany api has got 8 request parameters

Parameter Type Required Population
name String true request.body?.name
website String false request.body?.website
location String false request.body?.location
logoUrl String false request.body?.logoUrl
pageVisibility Enum true request.body?.pageVisibility
createdByUserId ID true request.body?.createdByUserId
description Text false request.body?.description
industry String false request.body?.industry
name : Company brand name. Displayed and searchable. Unique per company.
website : Official company website link.
location : Company HQ/main location string (e.g. city, country).
logoUrl : Uploaded image URL for company logo/branding.
pageVisibility : Visibility of the company page (public/private).
createdByUserId :
description : Company description / about section.
industry : Industry sector or market.

REST Request To access the api you can use the REST controller with the path POST /v1/companies

  axios({
    method: 'POST',
    url: '/v1/companies',
    data: {
            name:"String",  
            website:"String",  
            location:"String",  
            logoUrl:"String",  
            pageVisibility:"Enum",  
            createdByUserId:"ID",  
            description:"Text",  
            industry:"String",  
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "201",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "company",
	"method": "POST",
	"action": "create",
	"appVersion": "Version",
	"rowCount": 1,
	"company": {
		"id": "ID",
		"name": "String",
		"website": "String",
		"location": "String",
		"logoUrl": "String",
		"pageVisibility": "Enum",
		"pageVisibility_idx": "Integer",
		"createdByUserId": "ID",
		"description": "Text",
		"industry": "String",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Get Company API

Get a company page by ID. If public, anyone can view. If private, only admin/followers.

Rest Route

The getCompany API REST controller can be triggered via the following route:

/v1/companies/:companyId

Rest Request Parameters

The getCompany api has got 1 request parameter

Parameter Type Required Population
companyId ID true request.params?.companyId
companyId : This id paremeter is used to query the required data object.

REST Request To access the api you can use the REST controller with the path GET /v1/companies/:companyId

  axios({
    method: 'GET',
    url: `/v1/companies/${companyId}`,
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "company",
	"method": "GET",
	"action": "get",
	"appVersion": "Version",
	"rowCount": 1,
	"company": {
		"id": "ID",
		"name": "String",
		"website": "String",
		"location": "String",
		"logoUrl": "String",
		"pageVisibility": "Enum",
		"pageVisibility_idx": "Integer",
		"createdByUserId": "ID",
		"description": "Text",
		"industry": "String",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

List Companies API

List all (optionally filtered) companies, e.g. for directory/search, subject to visibility.

Rest Route

The listCompanies API REST controller can be triggered via the following route:

/v1/companies

Rest Request Parameters The listCompanies api has got no request parameters.

REST Request To access the api you can use the REST controller with the path GET /v1/companies

  axios({
    method: 'GET',
    url: '/v1/companies',
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "companies",
	"method": "GET",
	"action": "list",
	"appVersion": "Version",
	"rowCount": "\"Number\"",
	"companies": [
		{
			"id": "ID",
			"name": "String",
			"website": "String",
			"location": "String",
			"logoUrl": "String",
			"pageVisibility": "Enum",
			"pageVisibility_idx": "Integer",
			"createdByUserId": "ID",
			"description": "Text",
			"industry": "String",
			"isActive": true,
			"recordVersion": "Integer",
			"createdAt": "Date",
			"updatedAt": "Date",
			"_owner": "ID"
		},
		{},
		{}
	],
	"paging": {
		"pageNumber": "Number",
		"pageRowCount": "NUmber",
		"totalRowCount": "Number",
		"pageCount": "Number"
	},
	"filters": [],
	"uiPermissions": []
}

Update Company API

Updates fields of a company page/profile. Only current company admin can update.

Rest Route

The updateCompany API REST controller can be triggered via the following route:

/v1/companies/:companyId

Rest Request Parameters

The updateCompany api has got 9 request parameters

Parameter Type Required Population
companyId ID true request.params?.companyId
name String false request.body?.name
website String false request.body?.website
location String false request.body?.location
logoUrl String false request.body?.logoUrl
pageVisibility Enum false request.body?.pageVisibility
createdByUserId ID true request.body?.createdByUserId
description Text false request.body?.description
industry String false request.body?.industry
companyId : This id paremeter is used to select the required data object that will be updated
name : Company brand name. Displayed and searchable. Unique per company.
website : Official company website link.
location : Company HQ/main location string (e.g. city, country).
logoUrl : Uploaded image URL for company logo/branding.
pageVisibility : Visibility of the company page (public/private).
createdByUserId :
description : Company description / about section.
industry : Industry sector or market.

REST Request To access the api you can use the REST controller with the path PATCH /v1/companies/:companyId

  axios({
    method: 'PATCH',
    url: `/v1/companies/${companyId}`,
    data: {
            name:"String",  
            website:"String",  
            location:"String",  
            logoUrl:"String",  
            pageVisibility:"Enum",  
            createdByUserId:"ID",  
            description:"Text",  
            industry:"String",  
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "company",
	"method": "PATCH",
	"action": "update",
	"appVersion": "Version",
	"rowCount": 1,
	"company": {
		"id": "ID",
		"name": "String",
		"website": "String",
		"location": "String",
		"logoUrl": "String",
		"pageVisibility": "Enum",
		"pageVisibility_idx": "Integer",
		"createdByUserId": "ID",
		"description": "Text",
		"industry": "String",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Delete Company API

Deletes (soft-delete) a company page. Only current admin may delete.

Rest Route

The deleteCompany API REST controller can be triggered via the following route:

/v1/companies/:companyId

Rest Request Parameters

The deleteCompany api has got 1 request parameter

Parameter Type Required Population
companyId ID true request.params?.companyId
companyId : This id paremeter is used to select the required data object that will be deleted

REST Request To access the api you can use the REST controller with the path DELETE /v1/companies/:companyId

  axios({
    method: 'DELETE',
    url: `/v1/companies/${companyId}`,
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "company",
	"method": "DELETE",
	"action": "delete",
	"appVersion": "Version",
	"rowCount": 1,
	"company": {
		"id": "ID",
		"name": "String",
		"website": "String",
		"location": "String",
		"logoUrl": "String",
		"pageVisibility": "Enum",
		"pageVisibility_idx": "Integer",
		"createdByUserId": "ID",
		"description": "Text",
		"industry": "String",
		"isActive": false,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Assign Companyadmin API

Assigns a user as company admin. Must be called by an existing admin. Records assigning user and timestamp for audit.

Rest Route

The assignCompanyAdmin API REST controller can be triggered via the following route:

/v1/assigncompanyadmin

Rest Request Parameters

The assignCompanyAdmin api has got 4 request parameters

Parameter Type Required Population
assignedAt Date true request.body?.assignedAt
userId ID true request.body?.userId
companyId ID true request.body?.companyId
assignedBy ID true request.body?.assignedBy
assignedAt : Timestamp when admin assigned.
userId : FK to auth:user who is admin of this company.
companyId : FK to company.
assignedBy : User who assigned this admin (for audit).

REST Request To access the api you can use the REST controller with the path POST /v1/assigncompanyadmin

  axios({
    method: 'POST',
    url: '/v1/assigncompanyadmin',
    data: {
            assignedAt:"Date",  
            userId:"ID",  
            companyId:"ID",  
            assignedBy:"ID",  
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "201",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "companyAdmin",
	"method": "POST",
	"action": "create",
	"appVersion": "Version",
	"rowCount": 1,
	"companyAdmin": {
		"id": "ID",
		"assignedAt": "Date",
		"userId": "ID",
		"companyId": "ID",
		"assignedBy": "ID",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

List Companyadmins API

List all current admins for a given company. Only admins can query their company admin list.

Rest Route

The listCompanyAdmins API REST controller can be triggered via the following route:

/v1/companyadmins

Rest Request Parameters The listCompanyAdmins api has got no request parameters.

REST Request To access the api you can use the REST controller with the path GET /v1/companyadmins

  axios({
    method: 'GET',
    url: '/v1/companyadmins',
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "companyAdmins",
	"method": "GET",
	"action": "list",
	"appVersion": "Version",
	"rowCount": "\"Number\"",
	"companyAdmins": [
		{
			"id": "ID",
			"assignedAt": "Date",
			"userId": "ID",
			"companyId": "ID",
			"assignedBy": "ID",
			"isActive": true,
			"recordVersion": "Integer",
			"createdAt": "Date",
			"updatedAt": "Date",
			"_owner": "ID"
		},
		{},
		{}
	],
	"paging": {
		"pageNumber": "Number",
		"pageRowCount": "NUmber",
		"totalRowCount": "Number",
		"pageCount": "Number"
	},
	"filters": [],
	"uiPermissions": []
}

Get Companyupdate API

Get a company update/news post. Only public posts are visible to all, private are visible to company followers and company admins.

Rest Route

The getCompanyUpdate API REST controller can be triggered via the following route:

/v1/companyupdates/:companyUpdateId

Rest Request Parameters

The getCompanyUpdate api has got 1 request parameter

Parameter Type Required Population
companyUpdateId ID true request.params?.companyUpdateId
companyUpdateId : This id paremeter is used to query the required data object.

REST Request To access the api you can use the REST controller with the path GET /v1/companyupdates/:companyUpdateId

  axios({
    method: 'GET',
    url: `/v1/companyupdates/${companyUpdateId}`,
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "companyUpdate",
	"method": "GET",
	"action": "get",
	"appVersion": "Version",
	"rowCount": 1,
	"companyUpdate": {
		"id": "ID",
		"companyId": "ID",
		"content": "Text",
		"authorUserId": "ID",
		"attachmentUrls": "String",
		"visibility": "Enum",
		"visibility_idx": "Integer",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Unfollow Company API

Unfollow a company. Deletes companyFollower entry. Only current follower may unfollow.

Rest Route

The unfollowCompany API REST controller can be triggered via the following route:

/v1/unfollowcompany/:companyFollowerId

Rest Request Parameters

The unfollowCompany api has got 1 request parameter

Parameter Type Required Population
companyFollowerId ID true request.params?.companyFollowerId
companyFollowerId : This id paremeter is used to select the required data object that will be deleted

REST Request To access the api you can use the REST controller with the path DELETE /v1/unfollowcompany/:companyFollowerId

  axios({
    method: 'DELETE',
    url: `/v1/unfollowcompany/${companyFollowerId}`,
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "companyFollower",
	"method": "DELETE",
	"action": "delete",
	"appVersion": "Version",
	"rowCount": 1,
	"companyFollower": {
		"id": "ID",
		"userId": "ID",
		"companyId": "ID",
		"followedAt": "Date",
		"isActive": false,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

List Companyfollowers API

List all followers of a company. Only company admin can see list of all followers.

Rest Route

The listCompanyFollowers API REST controller can be triggered via the following route:

/v1/companyfollowers

Rest Request Parameters The listCompanyFollowers api has got no request parameters.

REST Request To access the api you can use the REST controller with the path GET /v1/companyfollowers

  axios({
    method: 'GET',
    url: '/v1/companyfollowers',
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "companyFollowers",
	"method": "GET",
	"action": "list",
	"appVersion": "Version",
	"rowCount": "\"Number\"",
	"companyFollowers": [
		{
			"id": "ID",
			"userId": "ID",
			"companyId": "ID",
			"followedAt": "Date",
			"isActive": true,
			"recordVersion": "Integer",
			"createdAt": "Date",
			"updatedAt": "Date",
			"_owner": "ID"
		},
		{},
		{}
	],
	"paging": {
		"pageNumber": "Number",
		"pageRowCount": "NUmber",
		"totalRowCount": "Number",
		"pageCount": "Number"
	},
	"filters": [],
	"uiPermissions": []
}

Create Companyupdate API

Posts a company update/news. Only active admin of company may post on that company's behalf.

Rest Route

The createCompanyUpdate API REST controller can be triggered via the following route:

/v1/companyupdates

Rest Request Parameters

The createCompanyUpdate api has got 5 request parameters

Parameter Type Required Population
companyId ID true request.body?.companyId
content Text true request.body?.content
authorUserId ID true request.body?.authorUserId
attachmentUrls String false request.body?.attachmentUrls
visibility Enum true request.body?.visibility
companyId : FK to company whose update this is.
content : Body/content of the update/news item.
authorUserId : FK to auth:user who authored the update (must be active admin at time of post).
attachmentUrls : Array of URLs for update attachments (files, images, links).
visibility : Update visibility: public (all) or private (followers only).

REST Request To access the api you can use the REST controller with the path POST /v1/companyupdates

  axios({
    method: 'POST',
    url: '/v1/companyupdates',
    data: {
            companyId:"ID",  
            content:"Text",  
            authorUserId:"ID",  
            attachmentUrls:"String",  
            visibility:"Enum",  
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "201",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "companyUpdate",
	"method": "POST",
	"action": "create",
	"appVersion": "Version",
	"rowCount": 1,
	"companyUpdate": {
		"id": "ID",
		"companyId": "ID",
		"content": "Text",
		"authorUserId": "ID",
		"attachmentUrls": "String",
		"visibility": "Enum",
		"visibility_idx": "Integer",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Update Companyupdate API

Update company update post/news. Only author or company admins may update.

Rest Route

The updateCompanyUpdate API REST controller can be triggered via the following route:

/v1/companyupdates/:companyUpdateId

Rest Request Parameters

The updateCompanyUpdate api has got 4 request parameters

Parameter Type Required Population
companyUpdateId ID true request.params?.companyUpdateId
content Text false request.body?.content
attachmentUrls String false request.body?.attachmentUrls
visibility Enum false request.body?.visibility
companyUpdateId : This id paremeter is used to select the required data object that will be updated
content : Body/content of the update/news item.
attachmentUrls : Array of URLs for update attachments (files, images, links).
visibility : Update visibility: public (all) or private (followers only).

REST Request To access the api you can use the REST controller with the path PATCH /v1/companyupdates/:companyUpdateId

  axios({
    method: 'PATCH',
    url: `/v1/companyupdates/${companyUpdateId}`,
    data: {
            content:"Text",  
            attachmentUrls:"String",  
            visibility:"Enum",  
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "companyUpdate",
	"method": "PATCH",
	"action": "update",
	"appVersion": "Version",
	"rowCount": 1,
	"companyUpdate": {
		"id": "ID",
		"companyId": "ID",
		"content": "Text",
		"authorUserId": "ID",
		"attachmentUrls": "String",
		"visibility": "Enum",
		"visibility_idx": "Integer",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Get Companyfollower API

Get a companyFollower record (for audit/profile/follower listing). Only follower/userId or company admin can get record.

Rest Route

The getCompanyFollower API REST controller can be triggered via the following route:

/v1/companyfollowers/:companyFollowerId

Rest Request Parameters

The getCompanyFollower api has got 1 request parameter

Parameter Type Required Population
companyFollowerId ID true request.params?.companyFollowerId
companyFollowerId : This id paremeter is used to query the required data object.

REST Request To access the api you can use the REST controller with the path GET /v1/companyfollowers/:companyFollowerId

  axios({
    method: 'GET',
    url: `/v1/companyfollowers/${companyFollowerId}`,
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "companyFollower",
	"method": "GET",
	"action": "get",
	"appVersion": "Version",
	"rowCount": 1,
	"companyFollower": {
		"id": "ID",
		"userId": "ID",
		"companyId": "ID",
		"followedAt": "Date",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Delete Companyupdate API

Delete (soft delete) a company update/news. Only author or current admin may delete.

Rest Route

The deleteCompanyUpdate API REST controller can be triggered via the following route:

/v1/companyupdates/:companyUpdateId

Rest Request Parameters

The deleteCompanyUpdate api has got 1 request parameter

Parameter Type Required Population
companyUpdateId ID true request.params?.companyUpdateId
companyUpdateId : This id paremeter is used to select the required data object that will be deleted

REST Request To access the api you can use the REST controller with the path DELETE /v1/companyupdates/:companyUpdateId

  axios({
    method: 'DELETE',
    url: `/v1/companyupdates/${companyUpdateId}`,
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "companyUpdate",
	"method": "DELETE",
	"action": "delete",
	"appVersion": "Version",
	"rowCount": 1,
	"companyUpdate": {
		"id": "ID",
		"companyId": "ID",
		"content": "Text",
		"authorUserId": "ID",
		"attachmentUrls": "String",
		"visibility": "Enum",
		"visibility_idx": "Integer",
		"isActive": false,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

List Companyupdates API

List company updates/news for a company. Public updates are visible to all, private to followers/admins.

Rest Route

The listCompanyUpdates API REST controller can be triggered via the following route:

/v1/companyupdates

Rest Request Parameters The listCompanyUpdates api has got no request parameters.

REST Request To access the api you can use the REST controller with the path GET /v1/companyupdates

  axios({
    method: 'GET',
    url: '/v1/companyupdates',
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "companyUpdates",
	"method": "GET",
	"action": "list",
	"appVersion": "Version",
	"rowCount": "\"Number\"",
	"companyUpdates": [
		{
			"id": "ID",
			"companyId": "ID",
			"content": "Text",
			"authorUserId": "ID",
			"attachmentUrls": "String",
			"visibility": "Enum",
			"visibility_idx": "Integer",
			"isActive": true,
			"recordVersion": "Integer",
			"createdAt": "Date",
			"updatedAt": "Date",
			"_owner": "ID"
		},
		{},
		{}
	],
	"paging": {
		"pageNumber": "Number",
		"pageRowCount": "NUmber",
		"totalRowCount": "Number",
		"pageCount": "Number"
	},
	"filters": [],
	"uiPermissions": []
}

Content Service

Handles creation, editing, and deletion of user posts (with attachments and visibility), user post feed aggregation, and post engagement (likes, comments). All with post-level visibility control (public/private)..

Content Service Data Objects

Post A user or company-authored post in the feed, with content, optional attachments, and public/private visibility. Belongs to a user (author) and optionally a company.

Like A record of a user liking a specific post. Each user can like a post only once. Used for engagement counts and activity feeds.

Comment A comment on a post. Can be a top-level or a reply to another comment (via parentCommentId).

Content Service Access urls

This service is accessible via the following environment-specific URLs:

  • Preview: https://linkedin.prw.mindbricks.com/content-api
  • Staging: https://linkedin-stage.mindbricks.co/content-api
  • Production: https://linkedin.mindbricks.co/content-api

Create Post API

Create a new post for the authenticated user. Visibility defaults to public. Posts can optionally belong to a company if author is a company admin. Attachments optional.

Rest Route

The createPost API REST controller can be triggered via the following route:

/v1/posts

Rest Request Parameters

The createPost api has got 5 request parameters

Parameter Type Required Population
content Text true request.body?.content
companyId ID false request.body?.companyId
authorUserId ID true request.body?.authorUserId
visibility Enum true request.body?.visibility
attachmentUrls String false request.body?.attachmentUrls
content : Main post content/body text
companyId : Optional. FK to company:company - if set, post is from company context (by admin).
authorUserId : FK to auth:user - the user who created the post. Required.
visibility : Post-level visibility: public or private.
attachmentUrls : Array of attachment URLs (e.g. images, docs, links). Optional.

REST Request To access the api you can use the REST controller with the path POST /v1/posts

  axios({
    method: 'POST',
    url: '/v1/posts',
    data: {
            content:"Text",  
            companyId:"ID",  
            authorUserId:"ID",  
            visibility:"Enum",  
            attachmentUrls:"String",  
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "201",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "post",
	"method": "POST",
	"action": "create",
	"appVersion": "Version",
	"rowCount": 1,
	"post": {
		"id": "ID",
		"content": "Text",
		"companyId": "ID",
		"authorUserId": "ID",
		"visibility": "Enum",
		"visibility_idx": "Integer",
		"attachmentUrls": "String",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Update Comment API

Update an existing comment. Only the author can update.

Rest Route

The updateComment API REST controller can be triggered via the following route:

/v1/comments/:commentId

Rest Request Parameters

The updateComment api has got 3 request parameters

Parameter Type Required Population
commentId ID true request.params?.commentId
content Text false request.body?.content
parentCommentId ID false request.body?.parentCommentId
commentId : This id paremeter is used to select the required data object that will be updated
content : Comment body/content.
parentCommentId : Optional. FK to comment. If set, this is a reply to the parent comment, otherwise a top-level comment.

REST Request To access the api you can use the REST controller with the path PATCH /v1/comments/:commentId

  axios({
    method: 'PATCH',
    url: `/v1/comments/${commentId}`,
    data: {
            content:"Text",  
            parentCommentId:"ID",  
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "comment",
	"method": "PATCH",
	"action": "update",
	"appVersion": "Version",
	"rowCount": 1,
	"comment": {
		"id": "ID",
		"authorUserId": "ID",
		"postId": "ID",
		"content": "Text",
		"parentCommentId": "ID",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

List Posts API

List posts matching filters, honoring post visibility. Public posts shown to all; private posts only to owners. Supports filtering by author, company, and visibility. Feed aggregation is handled at higher BFF layer.

Rest Route

The listPosts API REST controller can be triggered via the following route:

/v1/posts

Rest Request Parameters The listPosts api has got no request parameters.

REST Request To access the api you can use the REST controller with the path GET /v1/posts

  axios({
    method: 'GET',
    url: '/v1/posts',
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "posts",
	"method": "GET",
	"action": "list",
	"appVersion": "Version",
	"rowCount": "\"Number\"",
	"posts": [
		{
			"id": "ID",
			"content": "Text",
			"companyId": "ID",
			"authorUserId": "ID",
			"visibility": "Enum",
			"visibility_idx": "Integer",
			"attachmentUrls": "String",
			"isActive": true,
			"recordVersion": "Integer",
			"createdAt": "Date",
			"updatedAt": "Date",
			"_owner": "ID"
		},
		{},
		{}
	],
	"paging": {
		"pageNumber": "Number",
		"pageRowCount": "NUmber",
		"totalRowCount": "Number",
		"pageCount": "Number"
	},
	"filters": [],
	"uiPermissions": []
}

Like Post API

Like a post. User can like a post only once; duplicate likes prevented.

Rest Route

The likePost API REST controller can be triggered via the following route:

/v1/likepost

Rest Request Parameters

The likePost api has got 1 request parameter

Parameter Type Required Population
postId ID true request.body?.postId
postId : FK to content:post - the post that was liked. Required.

REST Request To access the api you can use the REST controller with the path POST /v1/likepost

  axios({
    method: 'POST',
    url: '/v1/likepost',
    data: {
            postId:"ID",  
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "201",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "like",
	"method": "POST",
	"action": "create",
	"appVersion": "Version",
	"rowCount": 1,
	"like": {
		"id": "ID",
		"likedAt": "Date",
		"postId": "ID",
		"userId": "ID",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Get Post API

Get a post by ID. Public posts visible to all. Private only visible to author or company admin (if company post).

Rest Route

The getPost API REST controller can be triggered via the following route:

/v1/posts/:postId

Rest Request Parameters

The getPost api has got 1 request parameter

Parameter Type Required Population
postId ID true request.params?.postId
postId : This id paremeter is used to query the required data object.

REST Request To access the api you can use the REST controller with the path GET /v1/posts/:postId

  axios({
    method: 'GET',
    url: `/v1/posts/${postId}`,
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "post",
	"method": "GET",
	"action": "get",
	"appVersion": "Version",
	"rowCount": 1,
	"post": {
		"id": "ID",
		"content": "Text",
		"companyId": "ID",
		"authorUserId": "ID",
		"visibility": "Enum",
		"visibility_idx": "Integer",
		"attachmentUrls": "String",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Create Comment API

Add a new comment to a post. Can be top-level (parentCommentId null) or a reply. Only authenticated users can comment.

Rest Route

The createComment API REST controller can be triggered via the following route:

/v1/comments

Rest Request Parameters

The createComment api has got 3 request parameters

Parameter Type Required Population
postId ID true request.body?.postId
content Text true request.body?.content
parentCommentId ID false request.body?.parentCommentId
postId : FK to content:post - the post this comment is for. Required.
content : Comment body/content.
parentCommentId : Optional. FK to comment. If set, this is a reply to the parent comment, otherwise a top-level comment.

REST Request To access the api you can use the REST controller with the path POST /v1/comments

  axios({
    method: 'POST',
    url: '/v1/comments',
    data: {
            postId:"ID",  
            content:"Text",  
            parentCommentId:"ID",  
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "201",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "comment",
	"method": "POST",
	"action": "create",
	"appVersion": "Version",
	"rowCount": 1,
	"comment": {
		"id": "ID",
		"authorUserId": "ID",
		"postId": "ID",
		"content": "Text",
		"parentCommentId": "ID",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Delete Post API

Delete (soft-delete) a post. Only the author (or company admin for company posts) may delete.

Rest Route

The deletePost API REST controller can be triggered via the following route:

/v1/posts/:postId

Rest Request Parameters

The deletePost api has got 1 request parameter

Parameter Type Required Population
postId ID true request.params?.postId
postId : This id paremeter is used to select the required data object that will be deleted

REST Request To access the api you can use the REST controller with the path DELETE /v1/posts/:postId

  axios({
    method: 'DELETE',
    url: `/v1/posts/${postId}`,
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "post",
	"method": "DELETE",
	"action": "delete",
	"appVersion": "Version",
	"rowCount": 1,
	"post": {
		"id": "ID",
		"content": "Text",
		"companyId": "ID",
		"authorUserId": "ID",
		"visibility": "Enum",
		"visibility_idx": "Integer",
		"attachmentUrls": "String",
		"isActive": false,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Update Post API

Update content, visibility, or attachments of an existing post by its owner or company admin (if company post).

Rest Route

The updatePost API REST controller can be triggered via the following route:

/v1/posts/:postId

Rest Request Parameters

The updatePost api has got 5 request parameters

Parameter Type Required Population
postId ID true request.params?.postId
content Text false request.body?.content
companyId ID false request.body?.companyId
visibility Enum false request.body?.visibility
attachmentUrls String false request.body?.attachmentUrls
postId : This id paremeter is used to select the required data object that will be updated
content : Main post content/body text
companyId : Optional. FK to company:company - if set, post is from company context (by admin).
visibility : Post-level visibility: public or private.
attachmentUrls : Array of attachment URLs (e.g. images, docs, links). Optional.

REST Request To access the api you can use the REST controller with the path PATCH /v1/posts/:postId

  axios({
    method: 'PATCH',
    url: `/v1/posts/${postId}`,
    data: {
            content:"Text",  
            companyId:"ID",  
            visibility:"Enum",  
            attachmentUrls:"String",  
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "post",
	"method": "PATCH",
	"action": "update",
	"appVersion": "Version",
	"rowCount": 1,
	"post": {
		"id": "ID",
		"content": "Text",
		"companyId": "ID",
		"authorUserId": "ID",
		"visibility": "Enum",
		"visibility_idx": "Integer",
		"attachmentUrls": "String",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

List Likes API

List likes on a given post (or by user). Supports filtering by postId and userId.

Rest Route

The listLikes API REST controller can be triggered via the following route:

/v1/likes

Rest Request Parameters The listLikes api has got no request parameters.

REST Request To access the api you can use the REST controller with the path GET /v1/likes

  axios({
    method: 'GET',
    url: '/v1/likes',
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "likes",
	"method": "GET",
	"action": "list",
	"appVersion": "Version",
	"rowCount": "\"Number\"",
	"likes": [
		{
			"id": "ID",
			"likedAt": "Date",
			"postId": "ID",
			"userId": "ID",
			"isActive": true,
			"recordVersion": "Integer",
			"createdAt": "Date",
			"updatedAt": "Date",
			"_owner": "ID"
		},
		{},
		{}
	],
	"paging": {
		"pageNumber": "Number",
		"pageRowCount": "NUmber",
		"totalRowCount": "Number",
		"pageCount": "Number"
	},
	"filters": [],
	"uiPermissions": []
}

Unlike Post API

Undo a like by user for a given post. Soft-deletes the like record.

Rest Route

The unlikePost API REST controller can be triggered via the following route:

/v1/unlikepost/:likeId

Rest Request Parameters

The unlikePost api has got 1 request parameter

Parameter Type Required Population
likeId ID true request.params?.likeId
likeId : This id paremeter is used to select the required data object that will be deleted

REST Request To access the api you can use the REST controller with the path DELETE /v1/unlikepost/:likeId

  axios({
    method: 'DELETE',
    url: `/v1/unlikepost/${likeId}`,
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "like",
	"method": "DELETE",
	"action": "delete",
	"appVersion": "Version",
	"rowCount": 1,
	"like": {
		"id": "ID",
		"likedAt": "Date",
		"postId": "ID",
		"userId": "ID",
		"isActive": false,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

List Comments API

List comments for a post (or by parentComment). Supports filtering by postId and parentCommentId. Sorted by creation date ascending.

Rest Route

The listComments API REST controller can be triggered via the following route:

/v1/comments

Rest Request Parameters The listComments api has got no request parameters.

REST Request To access the api you can use the REST controller with the path GET /v1/comments

  axios({
    method: 'GET',
    url: '/v1/comments',
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "comments",
	"method": "GET",
	"action": "list",
	"appVersion": "Version",
	"rowCount": "\"Number\"",
	"comments": [
		{
			"id": "ID",
			"authorUserId": "ID",
			"postId": "ID",
			"content": "Text",
			"parentCommentId": "ID",
			"isActive": true,
			"recordVersion": "Integer",
			"createdAt": "Date",
			"updatedAt": "Date",
			"_owner": "ID"
		},
		{},
		{}
	],
	"paging": {
		"pageNumber": "Number",
		"pageRowCount": "NUmber",
		"totalRowCount": "Number",
		"pageCount": "Number"
	},
	"filters": [],
	"uiPermissions": []
}

Get Comment API

Get a comment by ID. Any user can read comments. Soft-deleted comments not listed unless owner.

Rest Route

The getComment API REST controller can be triggered via the following route:

/v1/comments/:commentId

Rest Request Parameters

The getComment api has got 1 request parameter

Parameter Type Required Population
commentId ID true request.params?.commentId
commentId : This id paremeter is used to query the required data object.

REST Request To access the api you can use the REST controller with the path GET /v1/comments/:commentId

  axios({
    method: 'GET',
    url: `/v1/comments/${commentId}`,
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "comment",
	"method": "GET",
	"action": "get",
	"appVersion": "Version",
	"rowCount": 1,
	"comment": {
		"id": "ID",
		"authorUserId": "ID",
		"postId": "ID",
		"content": "Text",
		"parentCommentId": "ID",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

List Userposts API

list all posts of a user

Rest Route

The listUserPosts API REST controller can be triggered via the following route:

/v1/userposts

Rest Request Parameters The listUserPosts api has got no request parameters.

REST Request To access the api you can use the REST controller with the path GET /v1/userposts

  axios({
    method: 'GET',
    url: '/v1/userposts',
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "posts",
	"method": "GET",
	"action": "list",
	"appVersion": "Version",
	"rowCount": "\"Number\"",
	"posts": [
		{
			"id": "ID",
			"content": "Text",
			"companyId": "ID",
			"authorUserId": "ID",
			"visibility": "Enum",
			"visibility_idx": "Integer",
			"attachmentUrls": "String",
			"isActive": true,
			"recordVersion": "Integer",
			"createdAt": "Date",
			"updatedAt": "Date",
			"_owner": "ID"
		},
		{},
		{}
	],
	"paging": {
		"pageNumber": "Number",
		"pageRowCount": "NUmber",
		"totalRowCount": "Number",
		"pageCount": "Number"
	},
	"filters": [],
	"uiPermissions": []
}

Delete Comment API

Delete (soft-delete) a comment. Only the author may delete.

Rest Route

The deleteComment API REST controller can be triggered via the following route:

/v1/comments/:commentId

Rest Request Parameters

The deleteComment api has got 1 request parameter

Parameter Type Required Population
commentId ID true request.params?.commentId
commentId : This id paremeter is used to select the required data object that will be deleted

REST Request To access the api you can use the REST controller with the path DELETE /v1/comments/:commentId

  axios({
    method: 'DELETE',
    url: `/v1/comments/${commentId}`,
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "comment",
	"method": "DELETE",
	"action": "delete",
	"appVersion": "Version",
	"rowCount": 1,
	"comment": {
		"id": "ID",
		"authorUserId": "ID",
		"postId": "ID",
		"content": "Text",
		"parentCommentId": "ID",
		"isActive": false,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Messaging Service

Handles direct, private 1:1 and group messaging between users, conversation management, and message history/storage..

Messaging Service Data Objects

Message Message posted within a conversation. Tracks content, sender, readBy, and deletedFor status per user.

Conversation Messaging thread among users supporting 1:1 and group. Tracks participants, group status, and last message time.

Messaging Service Access urls

This service is accessible via the following environment-specific URLs:

  • Preview: https://linkedin.prw.mindbricks.com/messaging-api
  • Staging: https://linkedin-stage.mindbricks.co/messaging-api
  • Production: https://linkedin.mindbricks.co/messaging-api

List Messages API

List messages in a conversation, ordered by sentAt ascending. Only participants can view. Support filters such as min/max sentAt, unreadBy, etc.

Rest Route

The listMessages API REST controller can be triggered via the following route:

/v1/messages

Rest Request Parameters The listMessages api has got no request parameters.

REST Request To access the api you can use the REST controller with the path GET /v1/messages

  axios({
    method: 'GET',
    url: '/v1/messages',
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "messages",
	"method": "GET",
	"action": "list",
	"appVersion": "Version",
	"rowCount": "\"Number\"",
	"messages": [
		{
			"id": "ID",
			"content": "Text",
			"senderUserId": "ID",
			"deletedFor": "ID",
			"readBy": "ID",
			"conversationId": "ID",
			"sentAt": "Date",
			"isActive": true,
			"recordVersion": "Integer",
			"createdAt": "Date",
			"updatedAt": "Date",
			"_owner": "ID"
		},
		{},
		{}
	],
	"paging": {
		"pageNumber": "Number",
		"pageRowCount": "NUmber",
		"totalRowCount": "Number",
		"pageCount": "Number"
	},
	"filters": [],
	"uiPermissions": []
}

Update Conversation API

Update conversation (e.g., participants, group flag). Only group conversations can be updated. Only current participants can update. For group: can add/remove participants; 1:1 conversations can't change participantIds or isGroup.

Rest Route

The updateConversation API REST controller can be triggered via the following route:

/v1/conversations/:conversationId

Rest Request Parameters

The updateConversation api has got 4 request parameters

Parameter Type Required Population
conversationId ID true request.params?.conversationId
isGroup Boolean false request.body?.isGroup
participantIds ID false request.body?.participantIds
lastMessageAt Date false request.body?.lastMessageAt
conversationId : This id paremeter is used to select the required data object that will be updated
isGroup : True for group; false for one-to-one conversation (default false).
participantIds : Array of user IDs (auth:user) participating in the conversation (min 2).
lastMessageAt : Timestamp of most recent message sent in this conversation.

REST Request To access the api you can use the REST controller with the path PATCH /v1/conversations/:conversationId

  axios({
    method: 'PATCH',
    url: `/v1/conversations/${conversationId}`,
    data: {
            isGroup:"Boolean",  
            participantIds:"ID",  
            lastMessageAt:"Date",  
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "conversation",
	"method": "PATCH",
	"action": "update",
	"appVersion": "Version",
	"rowCount": 1,
	"conversation": {
		"id": "ID",
		"isGroup": "Boolean",
		"participantIds": "ID",
		"lastMessageAt": "Date",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Get Message API

Fetch a specific message if the requesting user is a participant in the conversation.

Rest Route

The getMessage API REST controller can be triggered via the following route:

/v1/messages/:messageId

Rest Request Parameters

The getMessage api has got 1 request parameter

Parameter Type Required Population
messageId ID true request.params?.messageId
messageId : This id paremeter is used to query the required data object.

REST Request To access the api you can use the REST controller with the path GET /v1/messages/:messageId

  axios({
    method: 'GET',
    url: `/v1/messages/${messageId}`,
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "message",
	"method": "GET",
	"action": "get",
	"appVersion": "Version",
	"rowCount": 1,
	"message": {
		"id": "ID",
		"content": "Text",
		"senderUserId": "ID",
		"deletedFor": "ID",
		"readBy": "ID",
		"conversationId": "ID",
		"sentAt": "Date",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Get Conversation API

Fetch details for a conversation thread. Only participants may view.

Rest Route

The getConversation API REST controller can be triggered via the following route:

/v1/conversations/:conversationId

Rest Request Parameters

The getConversation api has got 1 request parameter

Parameter Type Required Population
conversationId ID true request.params?.conversationId
conversationId : This id paremeter is used to query the required data object.

REST Request To access the api you can use the REST controller with the path GET /v1/conversations/:conversationId

  axios({
    method: 'GET',
    url: `/v1/conversations/${conversationId}`,
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "conversation",
	"method": "GET",
	"action": "get",
	"appVersion": "Version",
	"rowCount": 1,
	"conversation": {
		"id": "ID",
		"isGroup": "Boolean",
		"participantIds": "ID",
		"lastMessageAt": "Date",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Update Message API

Update content of a message or update readBy/deletedFor. Only sender may update content. Any participant can update their readBy/deletedFor entries. Content updates forbidden except for sender.

Rest Route

The updateMessage API REST controller can be triggered via the following route:

/v1/messages/:messageId

Rest Request Parameters

The updateMessage api has got 4 request parameters

Parameter Type Required Population
messageId ID true request.params?.messageId
content Text false request.body?.content
deletedFor ID false request.body?.deletedFor
readBy ID false request.body?.readBy
messageId : This id paremeter is used to select the required data object that will be updated
content : Raw message body/content.
deletedFor : Array of userIds who have deleted/hid this message (soft/hide).
readBy : Array of userIds who have read this message. Used for read receipts.

REST Request To access the api you can use the REST controller with the path PATCH /v1/messages/:messageId

  axios({
    method: 'PATCH',
    url: `/v1/messages/${messageId}`,
    data: {
            content:"Text",  
            deletedFor:"ID",  
            readBy:"ID",  
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "message",
	"method": "PATCH",
	"action": "update",
	"appVersion": "Version",
	"rowCount": 1,
	"message": {
		"id": "ID",
		"content": "Text",
		"senderUserId": "ID",
		"deletedFor": "ID",
		"readBy": "ID",
		"conversationId": "ID",
		"sentAt": "Date",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Delete Conversation API

Soft-delete a conversation thread. Only participants can delete. This is 'hide for all' (e.g., group exit or complete deletion).

Rest Route

The deleteConversation API REST controller can be triggered via the following route:

/v1/conversations/:conversationId

Rest Request Parameters

The deleteConversation api has got 1 request parameter

Parameter Type Required Population
conversationId ID true request.params?.conversationId
conversationId : This id paremeter is used to select the required data object that will be deleted

REST Request To access the api you can use the REST controller with the path DELETE /v1/conversations/:conversationId

  axios({
    method: 'DELETE',
    url: `/v1/conversations/${conversationId}`,
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "conversation",
	"method": "DELETE",
	"action": "delete",
	"appVersion": "Version",
	"rowCount": 1,
	"conversation": {
		"id": "ID",
		"isGroup": "Boolean",
		"participantIds": "ID",
		"lastMessageAt": "Date",
		"isActive": false,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

List Conversations API

List all conversations for the session user (where session userId in participantIds). Shows recent first (lastMessageAt desc).

Rest Route

The listConversations API REST controller can be triggered via the following route:

/v1/conversations

Rest Request Parameters The listConversations api has got no request parameters.

REST Request To access the api you can use the REST controller with the path GET /v1/conversations

  axios({
    method: 'GET',
    url: '/v1/conversations',
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "conversations",
	"method": "GET",
	"action": "list",
	"appVersion": "Version",
	"rowCount": "\"Number\"",
	"conversations": [
		{
			"id": "ID",
			"isGroup": "Boolean",
			"participantIds": "ID",
			"lastMessageAt": "Date",
			"isActive": true,
			"recordVersion": "Integer",
			"createdAt": "Date",
			"updatedAt": "Date",
			"_owner": "ID"
		},
		{},
		{}
	],
	"paging": {
		"pageNumber": "Number",
		"pageRowCount": "NUmber",
		"totalRowCount": "Number",
		"pageCount": "Number"
	},
	"filters": [],
	"uiPermissions": []
}

Delete Message API

Soft-delete a message. Sender can hard-delete for all (set isActive=false). Any participant can soft-delete (add own userId to deletedFor array).

Rest Route

The deleteMessage API REST controller can be triggered via the following route:

/v1/messages/:messageId

Rest Request Parameters

The deleteMessage api has got 1 request parameter

Parameter Type Required Population
messageId ID true request.params?.messageId
messageId : This id paremeter is used to select the required data object that will be deleted

REST Request To access the api you can use the REST controller with the path DELETE /v1/messages/:messageId

  axios({
    method: 'DELETE',
    url: `/v1/messages/${messageId}`,
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "message",
	"method": "DELETE",
	"action": "delete",
	"appVersion": "Version",
	"rowCount": 1,
	"message": {
		"id": "ID",
		"content": "Text",
		"senderUserId": "ID",
		"deletedFor": "ID",
		"readBy": "ID",
		"conversationId": "ID",
		"sentAt": "Date",
		"isActive": false,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Create Message API

Send a new message in a conversation. Only participants can send. On send, update conversation.lastMessageAt and set sentAt=now, senderUserId=session user. Add sender to readBy by default. Publish event for notification subsystem.

Rest Route

The createMessage API REST controller can be triggered via the following route:

/v1/messages

Rest Request Parameters

The createMessage api has got 6 request parameters

Parameter Type Required Population
content Text true request.body?.content
senderUserId ID true request.body?.senderUserId
deletedFor ID false request.body?.deletedFor
readBy ID false request.body?.readBy
conversationId ID true request.body?.conversationId
sentAt Date false request.body?.sentAt
content : Raw message body/content.
senderUserId : auth:user.id of message sender.
deletedFor : Array of userIds who have deleted/hid this message (soft/hide).
readBy : Array of userIds who have read this message. Used for read receipts.
conversationId : Conversation this message belongs to (messaging:conversation).
sentAt : Timestamp when message is sent (defaults to now on create).

REST Request To access the api you can use the REST controller with the path POST /v1/messages

  axios({
    method: 'POST',
    url: '/v1/messages',
    data: {
            content:"Text",  
            senderUserId:"ID",  
            deletedFor:"ID",  
            readBy:"ID",  
            conversationId:"ID",  
            sentAt:"Date",  
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "201",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "message",
	"method": "POST",
	"action": "create",
	"appVersion": "Version",
	"rowCount": 1,
	"message": {
		"id": "ID",
		"content": "Text",
		"senderUserId": "ID",
		"deletedFor": "ID",
		"readBy": "ID",
		"conversationId": "ID",
		"sentAt": "Date",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Create Conversation API

Create a new conversation (thread) for messaging; can be group (isGroup) or 1:1. Participants must include the session user. For 1:1, only two users allowed; for group, at least three. If 1:1 exists, prevent duplicate.

Rest Route

The createConversation API REST controller can be triggered via the following route:

/v1/conversations

Rest Request Parameters

The createConversation api has got 3 request parameters

Parameter Type Required Population
isGroup Boolean true request.body?.isGroup
participantIds ID true request.body?.participantIds
lastMessageAt Date false request.body?.lastMessageAt
isGroup : True for group; false for one-to-one conversation (default false).
participantIds : Array of user IDs (auth:user) participating in the conversation (min 2).
lastMessageAt : Timestamp of most recent message sent in this conversation.

REST Request To access the api you can use the REST controller with the path POST /v1/conversations

  axios({
    method: 'POST',
    url: '/v1/conversations',
    data: {
            isGroup:"Boolean",  
            participantIds:"ID",  
            lastMessageAt:"Date",  
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "201",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "conversation",
	"method": "POST",
	"action": "create",
	"appVersion": "Version",
	"rowCount": 1,
	"conversation": {
		"id": "ID",
		"isGroup": "Boolean",
		"participantIds": "ID",
		"lastMessageAt": "Date",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Profile Service

Handles user professional profiles, including experience, education, skills, languages, certifications, profile photo, and visibility controls. Enables recruiter search, elastic-style indexing, and profile editing, with all data linked to authenticated users..

Profile Service Data Objects

Profile Professional profile for a user, includes core info and arrays of experience/education/skills. One profile per user...

Premiumsubscription premium subscription for a user

Certification Official certification available for selection in user profile (dictionary only, not user relation).

Language Official language available for selection in user profile (dictionary only, not user relation).

Sys_premiumsubscriptionPayment A payment storage object to store the payment life cyle of orders based on premiumsubscription object. It is autocreated based on the source object's checkout config

Sys_paymentCustomer A payment storage object to store the customer values of the payment platform

Sys_paymentMethod A payment storage object to store the payment methods of the platform customers

Profile Service Access urls

This service is accessible via the following environment-specific URLs:

  • Preview: https://linkedin.prw.mindbricks.com/profile-api
  • Staging: https://linkedin-stage.mindbricks.co/profile-api
  • Production: https://linkedin.mindbricks.co/profile-api

Update Profile API

Updates the profile of the authenticated user. Includes visibility settings, skills, experience, etc.

Rest Route

The updateProfile API REST controller can be triggered via the following route:

/v1/profiles/:profileId

Rest Request Parameters

The updateProfile api has got 14 request parameters

Parameter Type Required Population
profileId ID true request.params?.profileId
summary Text false request.body?.summary
headline String false request.body?.headline
profilePhotoUrl String false request.body?.profilePhotoUrl
fullName String false request.body?.fullName
currentCompany String false request.body?.currentCompany
industry String false request.body?.industry
languages String false request.body?.languages
skills String false request.body?.skills
location String false request.body?.location
experience Object false request.body?.experience
profileVisibility Enum true request.body?.profileVisibility
education Object false request.body?.education
certifications String false request.body?.certifications
profileId : This id paremeter is used to select the required data object that will be updated
summary : Profile summary (bio/description).
headline : Short tagline or headline for profile.
profilePhotoUrl : URL for profile photo/avatar.
fullName : Full name for display/search.
currentCompany : Current employer/company, free text for now.
industry : Industry sector name for profile.
languages : Array of language names as string, links to language object (lookup/filter only).
skills : List of professional skills (free-form tags).
location : Location information (city, country, etc.)
experience : Array of experienceItem objects (job history).
profileVisibility : Controls who can view profile: public or private. Used in search/list visibility.
education : Array of educationItem objects (degrees/certificates).
certifications : Professional certifications by name, links to certification object.

REST Request To access the api you can use the REST controller with the path PATCH /v1/profiles/:profileId

  axios({
    method: 'PATCH',
    url: `/v1/profiles/${profileId}`,
    data: {
            summary:"Text",  
            headline:"String",  
            profilePhotoUrl:"String",  
            fullName:"String",  
            currentCompany:"String",  
            industry:"String",  
            languages:"String",  
            skills:"String",  
            location:"String",  
            experience:"Object",  
            profileVisibility:"Enum",  
            education:"Object",  
            certifications:"String",  
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "profile",
	"method": "PATCH",
	"action": "update",
	"appVersion": "Version",
	"rowCount": 1,
	"profile": {
		"id": "ID",
		"summary": "Text",
		"headline": "String",
		"profilePhotoUrl": "String",
		"userId": "ID",
		"fullName": "String",
		"currentCompany": "String",
		"industry": "String",
		"languages": "String",
		"skills": "String",
		"location": "String",
		"experience": "Object",
		"profileVisibility": "Enum",
		"profileVisibility_idx": "Integer",
		"education": "Object",
		"certifications": "String",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Delete Profile API

Deletes the profile of the authenticated user (soft delete).

Rest Route

The deleteProfile API REST controller can be triggered via the following route:

/v1/profiles/:profileId

Rest Request Parameters

The deleteProfile api has got 1 request parameter

Parameter Type Required Population
profileId ID true request.params?.profileId
profileId : This id paremeter is used to select the required data object that will be deleted

REST Request To access the api you can use the REST controller with the path DELETE /v1/profiles/:profileId

  axios({
    method: 'DELETE',
    url: `/v1/profiles/${profileId}`,
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "profile",
	"method": "DELETE",
	"action": "delete",
	"appVersion": "Version",
	"rowCount": 1,
	"profile": {
		"id": "ID",
		"summary": "Text",
		"headline": "String",
		"profilePhotoUrl": "String",
		"userId": "ID",
		"fullName": "String",
		"currentCompany": "String",
		"industry": "String",
		"languages": "String",
		"skills": "String",
		"location": "String",
		"experience": "Object",
		"profileVisibility": "Enum",
		"profileVisibility_idx": "Integer",
		"education": "Object",
		"certifications": "String",
		"isActive": false,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Delete Language API

Deletes a language entry from the dictionary.

Rest Route

The deleteLanguage API REST controller can be triggered via the following route:

/v1/languages/:languageId

Rest Request Parameters

The deleteLanguage api has got 1 request parameter

Parameter Type Required Population
languageId ID true request.params?.languageId
languageId : This id paremeter is used to select the required data object that will be deleted

REST Request To access the api you can use the REST controller with the path DELETE /v1/languages/:languageId

  axios({
    method: 'DELETE',
    url: `/v1/languages/${languageId}`,
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "language",
	"method": "DELETE",
	"action": "delete",
	"appVersion": "Version",
	"rowCount": 1,
	"language": {
		"id": "ID",
		"name": "String",
		"isActive": false,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Update Language API

Edit an existing language entry.

Rest Route

The updateLanguage API REST controller can be triggered via the following route:

/v1/languages/:languageId

Rest Request Parameters

The updateLanguage api has got 1 request parameter

Parameter Type Required Population
languageId ID true request.params?.languageId
languageId : This id paremeter is used to select the required data object that will be updated

REST Request To access the api you can use the REST controller with the path PATCH /v1/languages/:languageId

  axios({
    method: 'PATCH',
    url: `/v1/languages/${languageId}`,
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "language",
	"method": "PATCH",
	"action": "update",
	"appVersion": "Version",
	"rowCount": 1,
	"language": {
		"id": "ID",
		"name": "String",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

List Profiles API

Lists profiles by search/filter. Only public profiles are listed, unless the current user is the owner.

Rest Route

The listProfiles API REST controller can be triggered via the following route:

/v1/profiles

Rest Request Parameters The listProfiles api has got no request parameters.

REST Request To access the api you can use the REST controller with the path GET /v1/profiles

  axios({
    method: 'GET',
    url: '/v1/profiles',
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "profiles",
	"method": "GET",
	"action": "list",
	"appVersion": "Version",
	"rowCount": "\"Number\"",
	"profiles": [
		{
			"id": "ID",
			"summary": "Text",
			"headline": "String",
			"profilePhotoUrl": "String",
			"userId": "ID",
			"fullName": "String",
			"currentCompany": "String",
			"industry": "String",
			"languages": "String",
			"skills": "String",
			"location": "String",
			"experience": "Object",
			"profileVisibility": "Enum",
			"profileVisibility_idx": "Integer",
			"education": "Object",
			"certifications": "String",
			"isActive": true,
			"recordVersion": "Integer",
			"createdAt": "Date",
			"updatedAt": "Date",
			"_owner": "ID"
		},
		{},
		{}
	],
	"paging": {
		"pageNumber": "Number",
		"pageRowCount": "NUmber",
		"totalRowCount": "Number",
		"pageCount": "Number"
	},
	"filters": [],
	"uiPermissions": []
}

List Languages API

Lists all available languages for profile selection.

Rest Route

The listLanguages API REST controller can be triggered via the following route:

/v1/languages

Rest Request Parameters The listLanguages api has got no request parameters.

REST Request To access the api you can use the REST controller with the path GET /v1/languages

  axios({
    method: 'GET',
    url: '/v1/languages',
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "languages",
	"method": "GET",
	"action": "list",
	"appVersion": "Version",
	"rowCount": "\"Number\"",
	"languages": [
		{
			"id": "ID",
			"name": "String",
			"isActive": true,
			"recordVersion": "Integer",
			"createdAt": "Date",
			"updatedAt": "Date",
			"_owner": "ID"
		},
		{},
		{}
	],
	"paging": {
		"pageNumber": "Number",
		"pageRowCount": "NUmber",
		"totalRowCount": "Number",
		"pageCount": "Number"
	},
	"filters": [],
	"uiPermissions": []
}

Get Language API

Retrieves a language entry by ID.

Rest Route

The getLanguage API REST controller can be triggered via the following route:

/v1/languages/:languageId

Rest Request Parameters

The getLanguage api has got 1 request parameter

Parameter Type Required Population
languageId ID true request.params?.languageId
languageId : This id paremeter is used to query the required data object.

REST Request To access the api you can use the REST controller with the path GET /v1/languages/:languageId

  axios({
    method: 'GET',
    url: `/v1/languages/${languageId}`,
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "language",
	"method": "GET",
	"action": "get",
	"appVersion": "Version",
	"rowCount": 1,
	"language": {
		"id": "ID",
		"name": "String",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Create Language API

Add a new language to the dictionary for user profiles. Must be unique by name.

Rest Route

The createLanguage API REST controller can be triggered via the following route:

/v1/languages

Rest Request Parameters

The createLanguage api has got 1 request parameter

Parameter Type Required Population
name String true request.body?.name
name : Unique language name (e.g. English, Spanish).

REST Request To access the api you can use the REST controller with the path POST /v1/languages

  axios({
    method: 'POST',
    url: '/v1/languages',
    data: {
            name:"String",  
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "201",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "language",
	"method": "POST",
	"action": "create",
	"appVersion": "Version",
	"rowCount": 1,
	"language": {
		"id": "ID",
		"name": "String",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Create Profile API

Creates a new professional profile for the authenticated user. Each user can create only one profile.

Rest Route

The createProfile API REST controller can be triggered via the following route:

/v1/profiles

Rest Request Parameters

The createProfile api has got 13 request parameters

Parameter Type Required Population
summary Text false request.body?.summary
headline String false request.body?.headline
profilePhotoUrl String false request.body?.profilePhotoUrl
fullName String true request.body?.fullName
currentCompany String false request.body?.currentCompany
industry String false request.body?.industry
languages String false request.body?.languages
skills String false request.body?.skills
location String false request.body?.location
experience Object false request.body?.experience
profileVisibility Enum true request.body?.profileVisibility
education Object false request.body?.education
certifications String false request.body?.certifications
summary : Profile summary (bio/description).
headline : Short tagline or headline for profile.
profilePhotoUrl : URL for profile photo/avatar.
fullName : Full name for display/search.
currentCompany : Current employer/company, free text for now.
industry : Industry sector name for profile.
languages : Array of language names as string, links to language object (lookup/filter only).
skills : List of professional skills (free-form tags).
location : Location information (city, country, etc.)
experience : Array of experienceItem objects (job history).
profileVisibility : Controls who can view profile: public or private. Used in search/list visibility.
education : Array of educationItem objects (degrees/certificates).
certifications : Professional certifications by name, links to certification object.

REST Request To access the api you can use the REST controller with the path POST /v1/profiles

  axios({
    method: 'POST',
    url: '/v1/profiles',
    data: {
            summary:"Text",  
            headline:"String",  
            profilePhotoUrl:"String",  
            fullName:"String",  
            currentCompany:"String",  
            industry:"String",  
            languages:"String",  
            skills:"String",  
            location:"String",  
            experience:"Object",  
            profileVisibility:"Enum",  
            education:"Object",  
            certifications:"String",  
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "201",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "profile",
	"method": "POST",
	"action": "create",
	"appVersion": "Version",
	"rowCount": 1,
	"profile": {
		"id": "ID",
		"summary": "Text",
		"headline": "String",
		"profilePhotoUrl": "String",
		"userId": "ID",
		"fullName": "String",
		"currentCompany": "String",
		"industry": "String",
		"languages": "String",
		"skills": "String",
		"location": "String",
		"experience": "Object",
		"profileVisibility": "Enum",
		"profileVisibility_idx": "Integer",
		"education": "Object",
		"certifications": "String",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Get Profile API

Retrieves a user profile by ID. If private, only the owner can get; if public, anyone can view.

Rest Route

The getProfile API REST controller can be triggered via the following route:

/v1/profiles/:profileId

Rest Request Parameters

The getProfile api has got 1 request parameter

Parameter Type Required Population
profileId ID true request.params?.profileId
profileId : This id paremeter is used to query the required data object.

REST Request To access the api you can use the REST controller with the path GET /v1/profiles/:profileId

  axios({
    method: 'GET',
    url: `/v1/profiles/${profileId}`,
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "profile",
	"method": "GET",
	"action": "get",
	"appVersion": "Version",
	"rowCount": 1,
	"profile": {
		"id": "ID",
		"summary": "Text",
		"headline": "String",
		"profilePhotoUrl": "String",
		"userId": "ID",
		"fullName": "String",
		"currentCompany": "String",
		"industry": "String",
		"languages": "String",
		"skills": "String",
		"location": "String",
		"experience": "Object",
		"profileVisibility": "Enum",
		"profileVisibility_idx": "Integer",
		"education": "Object",
		"certifications": "String",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Delete Premuimsub API

Rest Route

The deletePremuimSub API REST controller can be triggered via the following route:

/v1/premuimsub/:premiumsubscriptionId

Rest Request Parameters

The deletePremuimSub api has got 1 request parameter

Parameter Type Required Population
premiumsubscriptionId ID true request.params?.premiumsubscriptionId
premiumsubscriptionId : This id paremeter is used to select the required data object that will be deleted

REST Request To access the api you can use the REST controller with the path DELETE /v1/premuimsub/:premiumsubscriptionId

  axios({
    method: 'DELETE',
    url: `/v1/premuimsub/${premiumsubscriptionId}`,
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "premiumsubscription",
	"method": "DELETE",
	"action": "delete",
	"appVersion": "Version",
	"rowCount": 1,
	"premiumsubscription": {
		"id": "ID",
		"profileId": "ID",
		"currency": "String",
		"status": "String",
		"price": "Double",
		"userId": "ID",
		"_paymentConfirmation": "Enum",
		"_paymentConfirmation_idx": "Integer",
		"isActive": false,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Update Certification API

Edit an existing certification entry.

Rest Route

The updateCertification API REST controller can be triggered via the following route:

/v1/certifications/:certificationId

Rest Request Parameters

The updateCertification api has got 1 request parameter

Parameter Type Required Population
certificationId ID true request.params?.certificationId
certificationId : This id paremeter is used to select the required data object that will be updated

REST Request To access the api you can use the REST controller with the path PATCH /v1/certifications/:certificationId

  axios({
    method: 'PATCH',
    url: `/v1/certifications/${certificationId}`,
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "certification",
	"method": "PATCH",
	"action": "update",
	"appVersion": "Version",
	"rowCount": 1,
	"certification": {
		"id": "ID",
		"name": "String",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Create Premuimsub API

Rest Route

The createPremuimSub API REST controller can be triggered via the following route:

/v1/premuimsub

Rest Request Parameters

The createPremuimSub api has got 5 request parameters

Parameter Type Required Population
profileId ID true request.body?.profileId
currency String true request.body?.currency
status String true request.body?.status
price Double true request.body?.price
userId ID true request.body?.userId
profileId : the profile id of the subscription
currency : currency
status :
price : the price of the subscription
userId : the userid of the subscription

REST Request To access the api you can use the REST controller with the path POST /v1/premuimsub

  axios({
    method: 'POST',
    url: '/v1/premuimsub',
    data: {
            profileId:"ID",  
            currency:"String",  
            status:"String",  
            price:"Double",  
            userId:"ID",  
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "201",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "premiumsubscription",
	"method": "POST",
	"action": "create",
	"appVersion": "Version",
	"rowCount": 1,
	"premiumsubscription": {
		"id": "ID",
		"profileId": "ID",
		"currency": "String",
		"status": "String",
		"price": "Double",
		"userId": "ID",
		"_paymentConfirmation": "Enum",
		"_paymentConfirmation_idx": "Integer",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

List Certifications API

Lists all available certifications for profile selection/display.

Rest Route

The listCertifications API REST controller can be triggered via the following route:

/v1/certifications

Rest Request Parameters The listCertifications api has got no request parameters.

REST Request To access the api you can use the REST controller with the path GET /v1/certifications

  axios({
    method: 'GET',
    url: '/v1/certifications',
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "certifications",
	"method": "GET",
	"action": "list",
	"appVersion": "Version",
	"rowCount": "\"Number\"",
	"certifications": [
		{
			"id": "ID",
			"name": "String",
			"isActive": true,
			"recordVersion": "Integer",
			"createdAt": "Date",
			"updatedAt": "Date",
			"_owner": "ID"
		},
		{},
		{}
	],
	"paging": {
		"pageNumber": "Number",
		"pageRowCount": "NUmber",
		"totalRowCount": "Number",
		"pageCount": "Number"
	},
	"filters": [],
	"uiPermissions": []
}

Update Premuimsub API

Rest Route

The updatePremuimSub API REST controller can be triggered via the following route:

/v1/premuimsub/:premiumsubscriptionId

Rest Request Parameters

The updatePremuimSub api has got 6 request parameters

Parameter Type Required Population
premiumsubscriptionId ID true request.params?.premiumsubscriptionId
profileId ID false request.body?.profileId
currency String false request.body?.currency
status String false request.body?.status
price Double false request.body?.price
userId ID false request.body?.userId
premiumsubscriptionId : This id paremeter is used to select the required data object that will be updated
profileId : the profile id of the subscription
currency : currency
status :
price : the price of the subscription
userId : the userid of the subscription

REST Request To access the api you can use the REST controller with the path PATCH /v1/premuimsub/:premiumsubscriptionId

  axios({
    method: 'PATCH',
    url: `/v1/premuimsub/${premiumsubscriptionId}`,
    data: {
            profileId:"ID",  
            currency:"String",  
            status:"String",  
            price:"Double",  
            userId:"ID",  
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "premiumsubscription",
	"method": "PATCH",
	"action": "update",
	"appVersion": "Version",
	"rowCount": 1,
	"premiumsubscription": {
		"id": "ID",
		"profileId": "ID",
		"currency": "String",
		"status": "String",
		"price": "Double",
		"userId": "ID",
		"_paymentConfirmation": "Enum",
		"_paymentConfirmation_idx": "Integer",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Get Premuimsub API

Rest Route

The getPremuimSub API REST controller can be triggered via the following route:

/v1/premuimsub/:premiumsubscriptionId

Rest Request Parameters

The getPremuimSub api has got 1 request parameter

Parameter Type Required Population
premiumsubscriptionId ID true request.params?.premiumsubscriptionId
premiumsubscriptionId : This id paremeter is used to query the required data object.

REST Request To access the api you can use the REST controller with the path GET /v1/premuimsub/:premiumsubscriptionId

  axios({
    method: 'GET',
    url: `/v1/premuimsub/${premiumsubscriptionId}`,
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "premiumsubscription",
	"method": "GET",
	"action": "get",
	"appVersion": "Version",
	"rowCount": 1,
	"premiumsubscription": {
		"id": "ID",
		"profileId": "ID",
		"currency": "String",
		"status": "String",
		"price": "Double",
		"userId": "ID",
		"_paymentConfirmation": "Enum",
		"_paymentConfirmation_idx": "Integer",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Create Certification API

Add a new certification for user profiles. Must be unique by name.

Rest Route

The createCertification API REST controller can be triggered via the following route:

/v1/certifications

Rest Request Parameters

The createCertification api has got 1 request parameter

Parameter Type Required Population
name String true request.body?.name
name : Unique certification name (e.g. PMP, CFA, AWS Certified).

REST Request To access the api you can use the REST controller with the path POST /v1/certifications

  axios({
    method: 'POST',
    url: '/v1/certifications',
    data: {
            name:"String",  
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "201",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "certification",
	"method": "POST",
	"action": "create",
	"appVersion": "Version",
	"rowCount": 1,
	"certification": {
		"id": "ID",
		"name": "String",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Get Certification API

Retrieves a certification entry by ID.

Rest Route

The getCertification API REST controller can be triggered via the following route:

/v1/certifications/:certificationId

Rest Request Parameters

The getCertification api has got 1 request parameter

Parameter Type Required Population
certificationId ID true request.params?.certificationId
certificationId : This id paremeter is used to query the required data object.

REST Request To access the api you can use the REST controller with the path GET /v1/certifications/:certificationId

  axios({
    method: 'GET',
    url: `/v1/certifications/${certificationId}`,
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "certification",
	"method": "GET",
	"action": "get",
	"appVersion": "Version",
	"rowCount": 1,
	"certification": {
		"id": "ID",
		"name": "String",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

List Premuimsub API

Rest Route

The listPremuimSub API REST controller can be triggered via the following route:

/v1/premuimsub

Rest Request Parameters The listPremuimSub api has got no request parameters.

REST Request To access the api you can use the REST controller with the path GET /v1/premuimsub

  axios({
    method: 'GET',
    url: '/v1/premuimsub',
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "premiumsubscriptions",
	"method": "GET",
	"action": "list",
	"appVersion": "Version",
	"rowCount": "\"Number\"",
	"premiumsubscriptions": [
		{
			"id": "ID",
			"profileId": "ID",
			"currency": "String",
			"status": "String",
			"price": "Double",
			"userId": "ID",
			"_paymentConfirmation": "Enum",
			"_paymentConfirmation_idx": "Integer",
			"isActive": true,
			"recordVersion": "Integer",
			"createdAt": "Date",
			"updatedAt": "Date",
			"_owner": "ID"
		},
		{},
		{}
	],
	"paging": {
		"pageNumber": "Number",
		"pageRowCount": "NUmber",
		"totalRowCount": "Number",
		"pageCount": "Number"
	},
	"filters": [],
	"uiPermissions": []
}

Delete Certification API

Deletes a certification entry from the dictionary.

Rest Route

The deleteCertification API REST controller can be triggered via the following route:

/v1/certifications/:certificationId

Rest Request Parameters

The deleteCertification api has got 1 request parameter

Parameter Type Required Population
certificationId ID true request.params?.certificationId
certificationId : This id paremeter is used to select the required data object that will be deleted

REST Request To access the api you can use the REST controller with the path DELETE /v1/certifications/:certificationId

  axios({
    method: 'DELETE',
    url: `/v1/certifications/${certificationId}`,
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "certification",
	"method": "DELETE",
	"action": "delete",
	"appVersion": "Version",
	"rowCount": 1,
	"certification": {
		"id": "ID",
		"name": "String",
		"isActive": false,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Get Premiumsubscriptionpayment2 API

This route is used to get the payment information by ID.

Rest Route

The getPremiumsubscriptionPayment2 API REST controller can be triggered via the following route:

/v1/premiumsubscriptionpayment2/:sys_premiumsubscriptionPaymentId

Rest Request Parameters

The getPremiumsubscriptionPayment2 api has got 1 request parameter

Parameter Type Required Population
sys_premiumsubscriptionPaymentId ID true request.params?.sys_premiumsubscriptionPaymentId
sys_premiumsubscriptionPaymentId : This id paremeter is used to query the required data object.

REST Request To access the api you can use the REST controller with the path GET /v1/premiumsubscriptionpayment2/:sys_premiumsubscriptionPaymentId

  axios({
    method: 'GET',
    url: `/v1/premiumsubscriptionpayment2/${sys_premiumsubscriptionPaymentId}`,
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "sys_premiumsubscriptionPayment",
	"method": "GET",
	"action": "get",
	"appVersion": "Version",
	"rowCount": 1,
	"sys_premiumsubscriptionPayment": {
		"id": "ID",
		"ownerId": "ID",
		"orderId": "ID",
		"paymentId": "String",
		"paymentStatus": "String",
		"statusLiteral": "String",
		"redirectUrl": "String",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

List Premiumsubscriptionpayments2 API

This route is used to list all payments.

Rest Route

The listPremiumsubscriptionPayments2 API REST controller can be triggered via the following route:

/v1/premiumsubscriptionpayments2

Rest Request Parameters The listPremiumsubscriptionPayments2 api has got no request parameters.

REST Request To access the api you can use the REST controller with the path GET /v1/premiumsubscriptionpayments2

  axios({
    method: 'GET',
    url: '/v1/premiumsubscriptionpayments2',
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "sys_premiumsubscriptionPayments",
	"method": "GET",
	"action": "list",
	"appVersion": "Version",
	"rowCount": "\"Number\"",
	"sys_premiumsubscriptionPayments": [
		{
			"id": "ID",
			"ownerId": "ID",
			"orderId": "ID",
			"paymentId": "String",
			"paymentStatus": "String",
			"statusLiteral": "String",
			"redirectUrl": "String",
			"isActive": true,
			"recordVersion": "Integer",
			"createdAt": "Date",
			"updatedAt": "Date",
			"_owner": "ID"
		},
		{},
		{}
	],
	"paging": {
		"pageNumber": "Number",
		"pageRowCount": "NUmber",
		"totalRowCount": "Number",
		"pageCount": "Number"
	},
	"filters": [],
	"uiPermissions": []
}

Create Premiumsubscriptionpayment API

This route is used to create a new payment.

Rest Route

The createPremiumsubscriptionPayment API REST controller can be triggered via the following route:

/v1/premiumsubscriptionpayment

Rest Request Parameters

The createPremiumsubscriptionPayment api has got 5 request parameters

Parameter Type Required Population
orderId ID true request.body?.orderId
paymentId String true request.body?.paymentId
paymentStatus String true request.body?.paymentStatus
statusLiteral String true request.body?.statusLiteral
redirectUrl String false request.body?.redirectUrl
orderId : an ID value to represent the orderId which is the ID parameter of the source premiumsubscription object
paymentId : A String value to represent the paymentId which is generated on the Stripe gateway. This id may represent different objects due to the payment gateway and the chosen flow type
paymentStatus : A string value to represent the payment status which belongs to the lifecyle of a Stripe payment.
statusLiteral : A string value to represent the logical payment status which belongs to the application lifecycle itself.
redirectUrl : A string value to represent return page of the frontend to show the result of the payment, this is used when the callback is made to server not the client.

REST Request To access the api you can use the REST controller with the path POST /v1/premiumsubscriptionpayment

  axios({
    method: 'POST',
    url: '/v1/premiumsubscriptionpayment',
    data: {
            orderId:"ID",  
            paymentId:"String",  
            paymentStatus:"String",  
            statusLiteral:"String",  
            redirectUrl:"String",  
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "201",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "sys_premiumsubscriptionPayment",
	"method": "POST",
	"action": "create",
	"appVersion": "Version",
	"rowCount": 1,
	"sys_premiumsubscriptionPayment": {
		"id": "ID",
		"ownerId": "ID",
		"orderId": "ID",
		"paymentId": "String",
		"paymentStatus": "String",
		"statusLiteral": "String",
		"redirectUrl": "String",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Update Premiumsubscriptionpayment API

This route is used to update an existing payment.

Rest Route

The updatePremiumsubscriptionPayment API REST controller can be triggered via the following route:

/v1/premiumsubscriptionpayment/:sys_premiumsubscriptionPaymentId

Rest Request Parameters

The updatePremiumsubscriptionPayment api has got 5 request parameters

Parameter Type Required Population
sys_premiumsubscriptionPaymentId ID true request.params?.sys_premiumsubscriptionPaymentId
paymentId String false request.body?.paymentId
paymentStatus String false request.body?.paymentStatus
statusLiteral String false request.body?.statusLiteral
redirectUrl String false request.body?.redirectUrl
sys_premiumsubscriptionPaymentId : This id paremeter is used to select the required data object that will be updated
paymentId : A String value to represent the paymentId which is generated on the Stripe gateway. This id may represent different objects due to the payment gateway and the chosen flow type
paymentStatus : A string value to represent the payment status which belongs to the lifecyle of a Stripe payment.
statusLiteral : A string value to represent the logical payment status which belongs to the application lifecycle itself.
redirectUrl : A string value to represent return page of the frontend to show the result of the payment, this is used when the callback is made to server not the client.

REST Request To access the api you can use the REST controller with the path PATCH /v1/premiumsubscriptionpayment/:sys_premiumsubscriptionPaymentId

  axios({
    method: 'PATCH',
    url: `/v1/premiumsubscriptionpayment/${sys_premiumsubscriptionPaymentId}`,
    data: {
            paymentId:"String",  
            paymentStatus:"String",  
            statusLiteral:"String",  
            redirectUrl:"String",  
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "sys_premiumsubscriptionPayment",
	"method": "PATCH",
	"action": "update",
	"appVersion": "Version",
	"rowCount": 1,
	"sys_premiumsubscriptionPayment": {
		"id": "ID",
		"ownerId": "ID",
		"orderId": "ID",
		"paymentId": "String",
		"paymentStatus": "String",
		"statusLiteral": "String",
		"redirectUrl": "String",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Delete Premiumsubscriptionpayment API

This route is used to delete a payment.

Rest Route

The deletePremiumsubscriptionPayment API REST controller can be triggered via the following route:

/v1/premiumsubscriptionpayment/:sys_premiumsubscriptionPaymentId

Rest Request Parameters

The deletePremiumsubscriptionPayment api has got 1 request parameter

Parameter Type Required Population
sys_premiumsubscriptionPaymentId ID true request.params?.sys_premiumsubscriptionPaymentId
sys_premiumsubscriptionPaymentId : This id paremeter is used to select the required data object that will be deleted

REST Request To access the api you can use the REST controller with the path DELETE /v1/premiumsubscriptionpayment/:sys_premiumsubscriptionPaymentId

  axios({
    method: 'DELETE',
    url: `/v1/premiumsubscriptionpayment/${sys_premiumsubscriptionPaymentId}`,
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "sys_premiumsubscriptionPayment",
	"method": "DELETE",
	"action": "delete",
	"appVersion": "Version",
	"rowCount": 1,
	"sys_premiumsubscriptionPayment": {
		"id": "ID",
		"ownerId": "ID",
		"orderId": "ID",
		"paymentId": "String",
		"paymentStatus": "String",
		"statusLiteral": "String",
		"redirectUrl": "String",
		"isActive": false,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

List Premiumsubscriptionpayments2 API

This route is used to list all payments.

Rest Route

The listPremiumsubscriptionPayments2 API REST controller can be triggered via the following route:

/v1/premiumsubscriptionpayments2

Rest Request Parameters The listPremiumsubscriptionPayments2 api has got no request parameters.

REST Request To access the api you can use the REST controller with the path GET /v1/premiumsubscriptionpayments2

  axios({
    method: 'GET',
    url: '/v1/premiumsubscriptionpayments2',
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "sys_premiumsubscriptionPayments",
	"method": "GET",
	"action": "list",
	"appVersion": "Version",
	"rowCount": "\"Number\"",
	"sys_premiumsubscriptionPayments": [
		{
			"id": "ID",
			"ownerId": "ID",
			"orderId": "ID",
			"paymentId": "String",
			"paymentStatus": "String",
			"statusLiteral": "String",
			"redirectUrl": "String",
			"isActive": true,
			"recordVersion": "Integer",
			"createdAt": "Date",
			"updatedAt": "Date",
			"_owner": "ID"
		},
		{},
		{}
	],
	"paging": {
		"pageNumber": "Number",
		"pageRowCount": "NUmber",
		"totalRowCount": "Number",
		"pageCount": "Number"
	},
	"filters": [],
	"uiPermissions": []
}

Get Premiumsubscriptionpaymentbyorderid API

This route is used to get the payment information by order id.

Rest Route

The getPremiumsubscriptionPaymentByOrderId API REST controller can be triggered via the following route:

/v1/premiumsubscriptionpaymentbyorderid/:orderId

Rest Request Parameters

The getPremiumsubscriptionPaymentByOrderId api has got 2 request parameters

Parameter Type Required Population
sys_premiumsubscriptionPaymentId ID true request.params?.sys_premiumsubscriptionPaymentId
orderId String true request.params?.orderId
sys_premiumsubscriptionPaymentId : This id paremeter is used to query the required data object.
orderId : This parameter will be used to select the data object that is queried

REST Request To access the api you can use the REST controller with the path GET /v1/premiumsubscriptionpaymentbyorderid/:orderId

  axios({
    method: 'GET',
    url: `/v1/premiumsubscriptionpaymentbyorderid/${orderId}`,
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "sys_premiumsubscriptionPayment",
	"method": "GET",
	"action": "get",
	"appVersion": "Version",
	"rowCount": 1,
	"sys_premiumsubscriptionPayment": {
		"id": "ID",
		"ownerId": "ID",
		"orderId": "ID",
		"paymentId": "String",
		"paymentStatus": "String",
		"statusLiteral": "String",
		"redirectUrl": "String",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Get Premiumsubscriptionpaymentbypaymentid API

This route is used to get the payment information by payment id.

Rest Route

The getPremiumsubscriptionPaymentByPaymentId API REST controller can be triggered via the following route:

/v1/premiumsubscriptionpaymentbypaymentid/:paymentId

Rest Request Parameters

The getPremiumsubscriptionPaymentByPaymentId api has got 2 request parameters

Parameter Type Required Population
sys_premiumsubscriptionPaymentId ID true request.params?.sys_premiumsubscriptionPaymentId
paymentId String true request.params?.paymentId
sys_premiumsubscriptionPaymentId : This id paremeter is used to query the required data object.
paymentId : This parameter will be used to select the data object that is queried

REST Request To access the api you can use the REST controller with the path GET /v1/premiumsubscriptionpaymentbypaymentid/:paymentId

  axios({
    method: 'GET',
    url: `/v1/premiumsubscriptionpaymentbypaymentid/${paymentId}`,
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "sys_premiumsubscriptionPayment",
	"method": "GET",
	"action": "get",
	"appVersion": "Version",
	"rowCount": 1,
	"sys_premiumsubscriptionPayment": {
		"id": "ID",
		"ownerId": "ID",
		"orderId": "ID",
		"paymentId": "String",
		"paymentStatus": "String",
		"statusLiteral": "String",
		"redirectUrl": "String",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Get Premiumsubscriptionpayment2 API

This route is used to get the payment information by ID.

Rest Route

The getPremiumsubscriptionPayment2 API REST controller can be triggered via the following route:

/v1/premiumsubscriptionpayment2/:sys_premiumsubscriptionPaymentId

Rest Request Parameters

The getPremiumsubscriptionPayment2 api has got 1 request parameter

Parameter Type Required Population
sys_premiumsubscriptionPaymentId ID true request.params?.sys_premiumsubscriptionPaymentId
sys_premiumsubscriptionPaymentId : This id paremeter is used to query the required data object.

REST Request To access the api you can use the REST controller with the path GET /v1/premiumsubscriptionpayment2/:sys_premiumsubscriptionPaymentId

  axios({
    method: 'GET',
    url: `/v1/premiumsubscriptionpayment2/${sys_premiumsubscriptionPaymentId}`,
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "sys_premiumsubscriptionPayment",
	"method": "GET",
	"action": "get",
	"appVersion": "Version",
	"rowCount": 1,
	"sys_premiumsubscriptionPayment": {
		"id": "ID",
		"ownerId": "ID",
		"orderId": "ID",
		"paymentId": "String",
		"paymentStatus": "String",
		"statusLiteral": "String",
		"redirectUrl": "String",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

Start Premiumsubscriptionpayment API

Start payment for premiumsubscription

Rest Route

The startPremiumsubscriptionPayment API REST controller can be triggered via the following route:

/v1/startpremiumsubscriptionpayment/:premiumsubscriptionId

Rest Request Parameters

The startPremiumsubscriptionPayment api has got 2 request parameters

Parameter Type Required Population
premiumsubscriptionId ID true request.params?.premiumsubscriptionId
paymentUserParams Object false request.body?.paymentUserParams
premiumsubscriptionId : This id paremeter is used to select the required data object that will be updated
paymentUserParams : The user parameters that should be defined to start a stripe payment process

REST Request To access the api you can use the REST controller with the path PATCH /v1/startpremiumsubscriptionpayment/:premiumsubscriptionId

  axios({
    method: 'PATCH',
    url: `/v1/startpremiumsubscriptionpayment/${premiumsubscriptionId}`,
    data: {
            paymentUserParams:"Object",  
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "premiumsubscription",
	"method": "PATCH",
	"action": "update",
	"appVersion": "Version",
	"rowCount": 1,
	"premiumsubscription": {
		"id": "ID",
		"profileId": "ID",
		"currency": "String",
		"status": "String",
		"price": "Double",
		"userId": "ID",
		"_paymentConfirmation": "Enum",
		"_paymentConfirmation_idx": "Integer",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	},
	"paymentResult": {
		"paymentTicketId": "ID",
		"orderId": "ID",
		"paymentId": "String",
		"paymentStatus": "Enum",
		"paymentIntentInfo": "Object",
		"statusLiteral": "String",
		"amount": "Double",
		"currency": "String",
		"success": true,
		"description": "String",
		"metadata": "Object",
		"paymentUserParams": "Object"
	}
}

Refresh Premiumsubscriptionpayment API

Refresh payment info for premiumsubscription from Stripe

Rest Route

The refreshPremiumsubscriptionPayment API REST controller can be triggered via the following route:

/v1/refreshpremiumsubscriptionpayment/:premiumsubscriptionId

Rest Request Parameters

The refreshPremiumsubscriptionPayment api has got 2 request parameters

Parameter Type Required Population
premiumsubscriptionId ID true request.params?.premiumsubscriptionId
paymentUserParams Object false request.body?.paymentUserParams
premiumsubscriptionId : This id paremeter is used to select the required data object that will be updated
paymentUserParams : The user parameters that should be defined to refresh a stripe payment process

REST Request To access the api you can use the REST controller with the path PATCH /v1/refreshpremiumsubscriptionpayment/:premiumsubscriptionId

  axios({
    method: 'PATCH',
    url: `/v1/refreshpremiumsubscriptionpayment/${premiumsubscriptionId}`,
    data: {
            paymentUserParams:"Object",  
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "premiumsubscription",
	"method": "PATCH",
	"action": "update",
	"appVersion": "Version",
	"rowCount": 1,
	"premiumsubscription": {
		"id": "ID",
		"profileId": "ID",
		"currency": "String",
		"status": "String",
		"price": "Double",
		"userId": "ID",
		"_paymentConfirmation": "Enum",
		"_paymentConfirmation_idx": "Integer",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	},
	"paymentResult": {
		"paymentTicketId": "ID",
		"orderId": "ID",
		"paymentId": "String",
		"paymentStatus": "Enum",
		"paymentIntentInfo": "Object",
		"statusLiteral": "String",
		"amount": "Double",
		"currency": "String",
		"success": true,
		"description": "String",
		"metadata": "Object",
		"paymentUserParams": "Object"
	}
}

Callback Premiumsubscriptionpayment API

Refresh payment values by gateway webhook call for premiumsubscription

Rest Route

The callbackPremiumsubscriptionPayment API REST controller can be triggered via the following route:

/v1/callbackpremiumsubscriptionpayment

Rest Request Parameters

The callbackPremiumsubscriptionPayment api has got 1 request parameter

Parameter Type Required Population
premiumsubscriptionId ID true request.body?.premiumsubscriptionId
premiumsubscriptionId : The order id parameter that will be read from webhook callback params

REST Request To access the api you can use the REST controller with the path POST /v1/callbackpremiumsubscriptionpayment

  axios({
    method: 'POST',
    url: '/v1/callbackpremiumsubscriptionpayment',
    data: {
            premiumsubscriptionId:"ID",  
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "premiumsubscription",
	"method": "POST",
	"action": "update",
	"appVersion": "Version",
	"rowCount": 1,
	"premiumsubscription": {
		"id": "ID",
		"profileId": "ID",
		"currency": "String",
		"status": "String",
		"price": "Double",
		"userId": "ID",
		"_paymentConfirmation": "Enum",
		"_paymentConfirmation_idx": "Integer",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	},
	"paymentResult": {
		"paymentTicketId": "ID",
		"orderId": "ID",
		"paymentId": "String",
		"paymentStatus": "Enum",
		"paymentIntentInfo": "Object",
		"statusLiteral": "String",
		"amount": "Double",
		"currency": "String",
		"success": true,
		"description": "String",
		"metadata": "Object",
		"paymentUserParams": "Object"
	}
}

Get Paymentcustomerbyuserid API

This route is used to get the payment customer information by user id.

Rest Route

The getPaymentCustomerByUserId API REST controller can be triggered via the following route:

/v1/paymentcustomers/:userId

Rest Request Parameters

The getPaymentCustomerByUserId api has got 2 request parameters

Parameter Type Required Population
sys_paymentCustomerId ID true request.params?.sys_paymentCustomerId
userId String true request.params?.userId
sys_paymentCustomerId : This id paremeter is used to query the required data object.
userId : This parameter will be used to select the data object that is queried

REST Request To access the api you can use the REST controller with the path GET /v1/paymentcustomers/:userId

  axios({
    method: 'GET',
    url: `/v1/paymentcustomers/${userId}`,
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "sys_paymentCustomer",
	"method": "GET",
	"action": "get",
	"appVersion": "Version",
	"rowCount": 1,
	"sys_paymentCustomer": {
		"id": "ID",
		"userId": "ID",
		"customerId": "String",
		"platform": "String",
		"isActive": true,
		"recordVersion": "Integer",
		"createdAt": "Date",
		"updatedAt": "Date",
		"_owner": "ID"
	}
}

List Paymentcustomers API

This route is used to list all payment customers.

Rest Route

The listPaymentCustomers API REST controller can be triggered via the following route:

/v1/paymentcustomers

Rest Request Parameters The listPaymentCustomers api has got no request parameters.

REST Request To access the api you can use the REST controller with the path GET /v1/paymentcustomers

  axios({
    method: 'GET',
    url: '/v1/paymentcustomers',
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "sys_paymentCustomers",
	"method": "GET",
	"action": "list",
	"appVersion": "Version",
	"rowCount": "\"Number\"",
	"sys_paymentCustomers": [
		{
			"id": "ID",
			"userId": "ID",
			"customerId": "String",
			"platform": "String",
			"isActive": true,
			"recordVersion": "Integer",
			"createdAt": "Date",
			"updatedAt": "Date",
			"_owner": "ID"
		},
		{},
		{}
	],
	"paging": {
		"pageNumber": "Number",
		"pageRowCount": "NUmber",
		"totalRowCount": "Number",
		"pageCount": "Number"
	},
	"filters": [],
	"uiPermissions": []
}

List Paymentcustomermethods API

This route is used to list all payment customer methods.

Rest Route

The listPaymentCustomerMethods API REST controller can be triggered via the following route:

/v1/paymentcustomermethods/:userId

Rest Request Parameters

The listPaymentCustomerMethods api has got 1 request parameter

Parameter Type Required Population
userId String true request.params?.userId
userId : This parameter will be used to select the data objects that want to be listed

REST Request To access the api you can use the REST controller with the path GET /v1/paymentcustomermethods/:userId

  axios({
    method: 'GET',
    url: `/v1/paymentcustomermethods/${userId}`,
    data: {
    
    },
    params: {
    
    }
  });

REST Response

{
	"status": "OK",
	"statusCode": "200",
	"elapsedMs": 126,
	"ssoTime": 120,
	"source": "db",
	"cacheKey": "hexCode",
	"userId": "ID",
	"sessionId": "ID",
	"requestId": "ID",
	"dataName": "sys_paymentMethods",
	"method": "GET",
	"action": "list",
	"appVersion": "Version",
	"rowCount": "\"Number\"",
	"sys_paymentMethods": [
		{
			"id": "ID",
			"paymentMethodId": "String",
			"userId": "ID",
			"customerId": "String",
			"cardHolderName": "String",
			"cardHolderZip": "String",
			"platform": "String",
			"cardInfo": "Object",
			"isActive": true,
			"recordVersion": "Integer",
			"createdAt": "Date",
			"updatedAt": "Date",
			"_owner": "ID"
		},
		{},
		{}
	],
	"paging": {
		"pageNumber": "Number",
		"pageRowCount": "NUmber",
		"totalRowCount": "Number",
		"pageCount": "Number"
	},
	"filters": [],
	"uiPermissions": []
}