LogoLogo
  • Home
  • Overview
  • Getting Started
  • Prompt Guide
  • API Reference
    • Authentication
      • Web3
      • Google OAuth
    • Account
    • Escrow
    • File upload
    • Wallet
Powered by GitBook
On this page
Export as PDF
  1. API Reference

Account

PreviousGoogle OAuthNextEscrow

Last updated 6 days ago

Get Current User Profile
Update Current User Profile
Update Current User Password
Get User by ID
List Users
Initiate Two-Factor authentication
Activate Two-Factor authentication
Deactivate Two-Factor authentication
Send Two-Factor Verification Code
End User Session
Delete Current User Account

Get Current User Profile

get

This endpoint makes an HTTP GET request to retrieve account information from the specified base URL.

Request

This endpoint requires no parameters.

Response

The response will include various details related to the user's account, such as their personal information, profile, two-factor authentication status, wallet status, social media links, achievements, and more.

The response will be in JSON format and will contain the requested account data.

The response will include the following fields:

  • status: The status of the request.

  • message: Any additional message related to the request.

  • data: An object containing the user's account information, including personal details, profile information, two-factor authentication status, wallet status, scores, socket status, referral code, creation date, username, profile completeness, background image, meta information, profile image, social media links, achievements, and KYC (Know Your Customer) status.

Please note that specific values within the response data have been intentionally masked for privacy and security reasons.

Authorizations
Responses
200
OK
application/json
Responseobject
get
GET /v1/account HTTP/1.1
Host: {{baseurl}}
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

OK

{
  "status": "success",
  "message": "OK",
  "data": {
    "_id": "6813a1ab1d3c66b889056c09",
    "firstName": "Alice",
    "lastName": "Bob",
    "email": "mail@example.com",
    "emailVerified": true,
    "role": "user",
    "type": "recipient",
    "profile": {
      "contact": {
        "country": "England",
        "state": "Manchester",
        "city": "Manchester",
        "address": "30, alice bob blvd.",
        "phone": "+4412345678987"
      },
      "bio": {
        "title": "Software Engineer",
        "description": "Builds software Products"
      },
      "talent": {
        "about": "About this user?. User is the best developer in the solar system",
        "availability": "available",
        "tags": [
          "product",
          "writing",
          "custom",
          "engineering",
          "devops",
          "web3",
          "crypto"
        ],
        "tagsIds": [
          {
            "_id": "6813a2721d3c66b889056c6a",
            "name": "product",
            "key": "product",
            "color": "#56F2E3",
            "categories": [],
            "isParent": false,
            "type": "",
            "entryCount": 1,
            "createdAt": "2025-05-01T16:33:54.790Z",
            "updatedAt": "2025-05-01T16:33:54.790Z",
            "__v": 0
          },
          {
            "_id": "6813a2721d3c66b889056c6e",
            "name": "writing",
            "key": "writing",
            "color": "#4091C4",
            "categories": [],
            "isParent": false,
            "type": "",
            "entryCount": 1,
            "createdAt": "2025-05-01T16:33:54.798Z",
            "updatedAt": "2025-05-01T16:33:54.798Z",
            "__v": 0
          },
          {
            "_id": "6813a2721d3c66b889056c72",
            "name": "custom",
            "key": "custom",
            "color": "#D7CFCD",
            "categories": [],
            "isParent": false,
            "type": "",
            "entryCount": 1,
            "createdAt": "2025-05-01T16:33:54.805Z",
            "updatedAt": "2025-05-01T16:33:54.805Z",
            "__v": 0
          },
          {
            "_id": "6813a2721d3c66b889056c76",
            "name": "engineering",
            "key": "engineering",
            "color": "#3E9CC4",
            "categories": [],
            "isParent": false,
            "type": "",
            "entryCount": 1,
            "createdAt": "2025-05-01T16:33:54.814Z",
            "updatedAt": "2025-05-01T16:33:54.814Z",
            "__v": 0
          },
          {
            "_id": "6813a2721d3c66b889056c7a",
            "name": "devops",
            "key": "devops",
            "color": "#FFF0CB",
            "categories": [],
            "isParent": false,
            "type": "",
            "entryCount": 1,
            "createdAt": "2025-05-01T16:33:54.822Z",
            "updatedAt": "2025-05-01T16:33:54.822Z",
            "__v": 0
          },
          {
            "_id": "6813a2721d3c66b889056c7e",
            "name": "web3",
            "key": "web3",
            "color": "#B0B8DE",
            "categories": [],
            "isParent": false,
            "type": "",
            "entryCount": 1,
            "createdAt": "2025-05-01T16:33:54.830Z",
            "updatedAt": "2025-05-01T16:33:54.830Z",
            "__v": 0
          },
          {
            "_id": "6813a2721d3c66b889056c82",
            "name": "crypto",
            "key": "crypto",
            "color": "#2A89FE",
            "categories": [],
            "isParent": false,
            "type": "",
            "entryCount": 1,
            "createdAt": "2025-05-01T16:33:54.838Z",
            "updatedAt": "2025-05-01T16:33:54.838Z",
            "__v": 0
          }
        ]
      }
    },
    "isPrivate": false,
    "walletGenerated": true,
    "score": 0,
    "twoFa": {
      "type": "undefined",
      "status": false,
      "securityQuestion": "undefined"
    },
    "profileCompleteness": 90,
    "socket": {
      "status": "OFFLINE"
    },
    "loggedInAt": "2025-05-01T16:30:35.844Z",
    "isUserNameUpdated": false,
    "referralCode": "Jg60",
    "web3Onboard": false,
    "accountType": "email",
    "createdAt": "2025-05-01T16:30:35.866Z",
    "userName": "alice-bob-kgnx",
    "emailVerifiedAt": "2025-05-01T04:32:18.000Z",
    "socials": {
      "github": "https://github.com/tester",
      "twitter": "https://twitter.com/tester",
      "linkedin": "https://linkedin.com/tester",
      "website": "https://mywebsite.com"
    },
    "achievements": [
      {
        "_id": "6813a1ac1d3c66b889056c34",
        "owner": "6813a1ab1d3c66b889056c09",
        "type": "five-star",
        "total": "20",
        "value": "0",
        "createdAt": "2025-05-01T16:30:36.556Z",
        "updatedAt": "2025-05-01T16:30:36.556Z",
        "__v": 0
      },
      {
        "_id": "6813a1ac1d3c66b889056c30",
        "owner": "6813a1ab1d3c66b889056c09",
        "type": "referral",
        "total": "10",
        "value": "0",
        "createdAt": "2025-05-01T16:30:36.547Z",
        "updatedAt": "2025-05-01T16:30:36.547Z",
        "__v": 0
      },
      {
        "_id": "6813a1ac1d3c66b889056c2c",
        "owner": "6813a1ab1d3c66b889056c09",
        "type": "review",
        "total": "60",
        "value": "0",
        "createdAt": "2025-05-01T16:30:36.540Z",
        "updatedAt": "2025-05-01T16:30:36.540Z",
        "__v": 0
      },
      {
        "_id": "6813a1ac1d3c66b889056c38",
        "owner": "6813a1ab1d3c66b889056c09",
        "type": "squad",
        "total": "10",
        "value": "0",
        "createdAt": "2025-05-01T16:30:36.565Z",
        "updatedAt": "2025-05-01T16:30:36.565Z",
        "__v": 0
      }
    ],
    "isVerified": true,
    "kyc": false,
    "kycStatus": "pending"
  }
}

Get User By ID

get

This endpoint makes an HTTP GET request to retrieve user account information based on the provided user ID.

Request

No request body is required for this endpoint.

Response

  • status (string): The status of the response.

  • message (string): A message related to the response.

  • data (object): An object containing user account information.

    • _id (string): User ID.

    • firstName (string): First name of the user.

    • lastName (string): Last name of the user.

    • role (string): Role of the user.

    • type (string): Type of the user.

    • profile (object): User profile information.

      • talent (object): Information related to user's talent.

        • tags (array): Array of tags associated with the user's talent.

        • tagsIds (array): Array of tag IDs associated with the user's talent.

        • availability (string): User's availability information.

      • verified (boolean): Indicates whether the user is verified.

    • isPrivate (boolean): Indicates whether the user's account is private.

    • score (number): User's score.

    • profileCompleteness (number): Completeness of the user's profile.

    • socket (object): Information related to user's socket status.

      • status (string): Status of the socket.

    • achievements (array): Array of user achievements.

      • _id (string): Achievement ID.

      • owner (string): Owner of the achievement.

      • type (string): Type of the achievement.

      • total (string): Total value of the achievement.

      • value (string): Value of the achievement.

      • createdAt (string): Achievement creation timestamp.

      • updatedAt (string): Achievement update timestamp.

      • __v (number): Version of the achievement.

    • kyc (boolean): Indicates whether the user has completed KYC (Know Your Customer) process.

    • kycStatus (string): Status of the KYC process.

Authorizations
Path parameters
idstringRequiredExample: 67f8eb57c6cfbd0c2349f2f8
Responses
200
OK
application/json
Responseobject
get
GET /v1/account/user/{id} HTTP/1.1
Host: {{baseurl}}
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

OK

{
  "status": "success",
  "message": "OK",
  "data": {
    "_id": "67f8eb57c6cfbd0c2349f2f8",
    "firstName": "Jukne",
    "lastName": "",
    "role": "user",
    "type": "recipient",
    "profile": {
      "talent": {
        "tags": [],
        "tagsIds": [],
        "availability": "available"
      },
      "verified": false
    },
    "isPrivate": false,
    "score": 0,
    "profileCompleteness": 0,
    "socket": {
      "status": "OFFLINE"
    },
    "achievements": [
      {
        "_id": "67f8eb58c6cfbd0c2349f318",
        "owner": "67f8eb57c6cfbd0c2349f2f8",
        "type": "five-star",
        "total": "20",
        "value": "0",
        "createdAt": "2025-04-11T10:13:44.068Z",
        "updatedAt": "2025-04-11T10:13:44.068Z",
        "__v": 0
      },
      {
        "_id": "67f8eb58c6cfbd0c2349f314",
        "owner": "67f8eb57c6cfbd0c2349f2f8",
        "type": "referral",
        "total": "10",
        "value": "0",
        "createdAt": "2025-04-11T10:13:44.058Z",
        "updatedAt": "2025-04-11T10:13:44.058Z",
        "__v": 0
      },
      {
        "_id": "67f8eb58c6cfbd0c2349f310",
        "owner": "67f8eb57c6cfbd0c2349f2f8",
        "type": "review",
        "total": "60",
        "value": "0",
        "createdAt": "2025-04-11T10:13:44.048Z",
        "updatedAt": "2025-04-11T10:13:44.048Z",
        "__v": 0
      },
      {
        "_id": "67f8eb58c6cfbd0c2349f31c",
        "owner": "67f8eb57c6cfbd0c2349f2f8",
        "type": "squad",
        "total": "10",
        "value": "0",
        "createdAt": "2025-04-11T10:13:44.080Z",
        "updatedAt": "2025-04-11T10:13:44.080Z",
        "__v": 0
      }
    ],
    "kyc": false,
    "kycStatus": null
  }
}

List Users

get

This endpoint allows you to search and filter users in the system based on various criteria such as role, profile completeness, skill tags, and keyword search. The results are paginated and can be customized using query parameters.

Request

Query Parameters

The endpoint accepts several query parameters to filter and customize the search results:

Pagination and Limiting

  • limit: Maximum number of results to return per page (e.g., 20)

  • page: Page number for paginated results (defaults to 1 if not specified)

Role Filtering

  • role: Filter users by their role in the system (e.g., "partner")

Profile Completeness Filtering

  • profileCompletenessMin: Minimum profile completeness percentage (e.g., 70)

  • profileCompletenessMax: Maximum profile completeness percentage (e.g., 100)

Skill-based Filtering

  • tags: Filter users who have specific skills or expertise (e.g., "ui design")

Ownership Filtering

  • owner: Boolean flag to filter by ownership status (e.g., true)

Keyword Search

  • search: Search term to find users by name or other relevant fields (e.g., "jer")

Response

The response provides comprehensive information about the search results, including pagination details and user profile data. The response begins with status indicators that provide immediate feedback about the API call:

  • status: Indicates the result of the operation, showing "success" when the request is processed successfully

  • message: A human-readable message describing the result, typically "OK" for successful operations

Pagination Details The response includes metadata about the pagination structure to help with navigation through large result sets:

  • pages: Total number of pages available based on the current limit setting

  • page: Current page number being displayed

  • total: Total number of records matching the search criteria

  • limit: Number of records displayed per page

  • position: Position indicator (typically the starting position of the current page)

User Profiles Collection The core of the response is the data array containing detailed information about each user matching the search criteria:

Basic User Information

  • _id: The unique identifier for the user in the system

  • firstName: The user's given name

  • lastName: The user's family name

  • role: The user's assigned role in the system (e.g., "user")

  • type: The user's account type (e.g., "recipient")

Contact Information The profile.contact object contains geographic and communication details:

  • country: The user's country of residence

  • state: The user's state or province

  • city: The user's city

  • address: The user's physical address

  • phone: The user's contact phone number with country code

Professional Information The profile.bio object provides insights into the user's professional background:

  • title: The user's professional title or position

  • description: A brief description of the user's professional activities

Skills and Expertise The profile.talent object details the user's skills and availability:

  • about: An extended description of the user's expertise and background

  • availability: The user's current availability status

  • tags: A list of skill keywords representing the user's areas of expertise

  • tagsIds: Detailed metadata about each skill tag including:

    • Unique identifier for each tag

    • Display name and system key

    • Color code for visual representation

    • Category associations

    • Parent/child relationships

    • Usage statistics (entry count)

    • Creation and update timestamps

Profile Status Indicators

  • isPrivate: Boolean flag indicating whether the profile is set to private

  • score: Numerical score assigned to the user based on platform activity

  • profileCompleteness: Percentage indicating how complete the user's profile is

  • socket.status: Current online status of the user (e.g., "OFFLINE")

  • createdAt: Timestamp when the user account was created

  • updatedAt: Timestamp when the user account was last updated

Achievement Information The achievements array provides details about the user's progress toward various platform achievements:

  • Each achievement includes:

    • Unique identifier

    • Owner reference

    • Achievement type (e.g., "five-star", "referral", "review", "squad")

    • Total target value

    • Current progress value

    • Creation and update timestamps

Bookmark Status

  • isBookmarked: Boolean flag indicating if the current user has bookmarked this profile

  • bookmarkId: Identifier of the bookmark if the profile is bookmarked

Notes

  • The search is case-insensitive for the search parameter

  • Multiple tags can be provided as comma-separated values

  • The API uses pagination to manage large result sets efficiently

  • Profile completeness is calculated based on how many optional profile fields have been filled out

  • The owner parameter can be used to filter for accounts owned by the current authenticated user

Authorizations
Query parameters
limitintegerOptionalExample: 20
Responses
200
OK
application/json
Responseobject
get
GET /v1/account/user HTTP/1.1
Host: {{baseurl}}
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

OK

{
  "status": "success",
  "message": "OK",
  "data": {
    "pages": 1,
    "page": 1,
    "total": 4,
    "limit": 12,
    "position": 1,
    "data": [
      {
        "_id": "6813a1ab1d3c66b889056c09",
        "firstName": "Alice",
        "lastName": "Bob",
        "role": "user",
        "type": "recipient",
        "profile": {
          "contact": {
            "country": "England",
            "state": "Manchester",
            "city": "Manchester",
            "address": "30, alice bob blvd.",
            "phone": "+4412345678987"
          },
          "bio": {
            "title": "Software Engineer",
            "description": "Builds software Products"
          },
          "talent": {
            "about": "About this user?. User is the best developer in the solar system",
            "availability": "available",
            "tags": [
              "product",
              "writing",
              "custom",
              "engineering",
              "devops",
              "web3",
              "crypto"
            ],
            "tagsIds": [
              {
                "_id": "6813a2721d3c66b889056c6a",
                "name": "product",
                "key": "product",
                "color": "#56F2E3",
                "categories": [],
                "isParent": false,
                "type": "",
                "entryCount": 1,
                "createdAt": "2025-05-01T16:33:54.790Z",
                "updatedAt": "2025-05-01T16:33:54.790Z",
                "__v": 0
              },
              {
                "_id": "6813a2721d3c66b889056c6e",
                "name": "writing",
                "key": "writing",
                "color": "#4091C4",
                "categories": [],
                "isParent": false,
                "type": "",
                "entryCount": 1,
                "createdAt": "2025-05-01T16:33:54.798Z",
                "updatedAt": "2025-05-01T16:33:54.798Z",
                "__v": 0
              },
              {
                "_id": "6813a2721d3c66b889056c72",
                "name": "custom",
                "key": "custom",
                "color": "#D7CFCD",
                "categories": [],
                "isParent": false,
                "type": "",
                "entryCount": 1,
                "createdAt": "2025-05-01T16:33:54.805Z",
                "updatedAt": "2025-05-01T16:33:54.805Z",
                "__v": 0
              },
              {
                "_id": "6813a2721d3c66b889056c76",
                "name": "engineering",
                "key": "engineering",
                "color": "#3E9CC4",
                "categories": [],
                "isParent": false,
                "type": "",
                "entryCount": 1,
                "createdAt": "2025-05-01T16:33:54.814Z",
                "updatedAt": "2025-05-01T16:33:54.814Z",
                "__v": 0
              },
              {
                "_id": "6813a2721d3c66b889056c7a",
                "name": "devops",
                "key": "devops",
                "color": "#FFF0CB",
                "categories": [],
                "isParent": false,
                "type": "",
                "entryCount": 1,
                "createdAt": "2025-05-01T16:33:54.822Z",
                "updatedAt": "2025-05-01T16:33:54.822Z",
                "__v": 0
              },
              {
                "_id": "6813a2721d3c66b889056c7e",
                "name": "web3",
                "key": "web3",
                "color": "#B0B8DE",
                "categories": [],
                "isParent": false,
                "type": "",
                "entryCount": 1,
                "createdAt": "2025-05-01T16:33:54.830Z",
                "updatedAt": "2025-05-01T16:33:54.830Z",
                "__v": 0
              },
              {
                "_id": "6813a2721d3c66b889056c82",
                "name": "crypto",
                "key": "crypto",
                "color": "#2A89FE",
                "categories": [],
                "isParent": false,
                "type": "",
                "entryCount": 1,
                "createdAt": "2025-05-01T16:33:54.838Z",
                "updatedAt": "2025-05-01T16:33:54.838Z",
                "__v": 0
              }
            ]
          }
        },
        "isPrivate": false,
        "score": 0,
        "profileCompleteness": 90,
        "socket": {
          "status": "OFFLINE"
        },
        "createdAt": "2025-05-01T16:30:35.866Z",
        "updatedAt": "2025-05-01T16:33:54.871Z",
        "achievements": [
          {
            "_id": "6813a1ac1d3c66b889056c34",
            "owner": "6813a1ab1d3c66b889056c09",
            "type": "five-star",
            "total": "20",
            "value": "0",
            "createdAt": "2025-05-01T16:30:36.556Z",
            "updatedAt": "2025-05-01T16:30:36.556Z",
            "__v": 0
          },
          {
            "_id": "6813a1ac1d3c66b889056c30",
            "owner": "6813a1ab1d3c66b889056c09",
            "type": "referral",
            "total": "10",
            "value": "0",
            "createdAt": "2025-05-01T16:30:36.547Z",
            "updatedAt": "2025-05-01T16:30:36.547Z",
            "__v": 0
          },
          {
            "_id": "6813a1ac1d3c66b889056c2c",
            "owner": "6813a1ab1d3c66b889056c09",
            "type": "review",
            "total": "60",
            "value": "0",
            "createdAt": "2025-05-01T16:30:36.540Z",
            "updatedAt": "2025-05-01T16:30:36.540Z",
            "__v": 0
          },
          {
            "_id": "6813a1ac1d3c66b889056c38",
            "owner": "6813a1ab1d3c66b889056c09",
            "type": "squad",
            "total": "10",
            "value": "0",
            "createdAt": "2025-05-01T16:30:36.565Z",
            "updatedAt": "2025-05-01T16:30:36.565Z",
            "__v": 0
          }
        ],
        "isBookmarked": false,
        "bookmarkId": ""
      }
    ]
  }
}

End User Session

post

This endpoint is used to log out from the user's account.

Request

  • No request body is required for this endpoint.

Response

  • status (string, required): Indicates the status of the operation.

  • message (string, required): Provides additional information about the operation.

  • data (object, required): Contains the data related to the operation.

Authorizations
Body
Responses
200
OK
application/json
Responseobject
post
POST /v1/account/logout HTTP/1.1
Host: {{baseurl}}
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

OK

{
  "status": "success",
  "message": "OK",
  "data": {}
}
  • GETGet Current User Profile
  • PATCHUpdate Current User Profile
  • PUTUpdate Current User Password
  • GETGet User By ID
  • GETList Users
  • POSTInitialize Two-Factor Authentication
  • POSTActivate Two-Factor Authentication
  • POSTDeactivate Two-Factor Authentication
  • POSTSend Two-Factor Verification Code
  • POSTEnd User Session
  • POSTDelete Current User Account

Update Current User Password

put

This endpoint allows the user to change their account password.

Request

  • oldPassword (string): The current password of the user.

  • newPassword (string): The new password for the user's account.

Response

The response for this request is a JSON object with the following properties:

  • status (string): The status of the request.

  • message (string): Any additional message related to the request.

  • data (object): An empty object is returned as data.

Authorizations
Body
objectOptionalExample: {"oldPassword":"1234@Abcde","newPassword":"1234567890@Abcde"}
Responses
202
Accepted
application/json
Responseobject
put
PUT /v1/account/password/change HTTP/1.1
Host: {{baseurl}}
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 61

{
  "oldPassword": "1234@Abcde",
  "newPassword": "1234567890@Abcde"
}
202

Accepted

{
  "status": "success",
  "message": "Password successfully changed",
  "data": {}
}

Initialize Two-Factor Authentication

post

This endpoint initiates a two-factor authentication process for a user account.

Request

  • type (string, required): Specifies the method of authentication (e.g. "email"). type is either email or google_auth.

Response

Upon successful initiation, the endpoint returns a status code of 202 and a JSON response with the following structure:

  • status (string): Indicates the status of the request.

  • message (string): Provides additional information about the status.

  • data.type (string): Represents the type of authentication method initiated.

Authorizations
Body
objectOptionalExample: {"type":"email"}
Responses
202
Accepted
application/json
Responseobject
post
POST /v1/account/initiate/2fa HTTP/1.1
Host: {{baseurl}}
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 16

{
  "type": "email"
}
202

Accepted

{
  "status": "success",
  "message": "TwoFA security is initiated",
  "data": {
    "type": "email"
  }
}

Activate Two-Factor Authentication

post

This endpoint allows you to activate two-factor authentication for the user's account.

Request

  • code (string) - The code for activating two-factor authentication.

Response

Upon successful execution, the endpoint returns a 200 status with a JSON response containing the following fields:

  • status (string) - Indicates the status of the operation.

  • message (string) - Provides additional information or error messages.

  • data (object) - Contains the data related to the activation process.

Authorizations
Body
objectOptionalExample: {"code":"383515"}
Responses
200
OK
application/json
Responseobject
post
POST /v1/account/activate/2fa HTTP/1.1
Host: {{baseurl}}
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 17

{
  "code": "383515"
}
200

OK

{
  "status": "success",
  "message": "OK",
  "data": {}
}

Deactivate Two-Factor Authentication

post

This endpoint is used to deactivate two-factor authentication for a user account.

Request

  • code (string, required): The code for two-factor authentication deactivation.

Response

  • status (string): The status of the request.

  • message (string): A message related to the deactivation process.

  • data (object): Additional data related to the deactivation, if any.

Authorizations
Body
objectOptionalExample: {"code":"637264"}
Responses
200
OK
application/json
Responseobject
post
POST /v1/account/deactivate/2fa HTTP/1.1
Host: {{baseurl}}
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 17

{
  "code": "637264"
}
200

OK

{
  "status": "success",
  "message": "OK",
  "data": {}
}

Send Two-Factor Verification Code

post

This endpoint enables the sending of two-factor authentication emails to users to verify their identity during security-sensitive operations.

Request

emailType: The type of email to send, which must be set to two_fa for this endpoint.

Response

When the request is successful, the API will return a response with HTTP status code 200 OK.

The response follows a standard format with three main fields:

The status field provides a high-level indication of the outcome of the request. For successful requests, this will be "success".

The message field provides a human-readable description of the outcome. For successful requests, this will be "Success".

The data field typically contains any information returned by the API. For this endpoint, the data object is empty as the primary action (sending the email) doesn't produce any data that needs to be returned.

If the email is successfully queued for delivery, you'll receive this empty data object, indicating that no further information is needed from the API at this point.

Usage Notes

  • The 2FA email will be sent to the email address associated with the authenticated user's account

  • The email will contain a verification code or link that expires after a set period of time

  • Users should be instructed to check both their inbox and spam folder

Authorizations
Query parameters
emailTypestringOptional

two_fa

Example: two_fa
Body
objectOptionalExample: {"password":"enter_password_here"}
Responses
200
OK
application/json
Responseobject
post
POST /v1/account/2fa/email HTTP/1.1
Host: {{baseurl}}
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 34

{
  "password": "enter_password_here"
}
200

OK

{
  "status": "success",
  "message": "Success",
  "data": {}
}

Delete Current User Account

post

This endpoint is used to delete the user's account.

Request

  • password (string, required): The user's account password.

Response

The response for this request is a JSON object with the following properties:

  • status (string): The status of the request.

  • message (string): A message related to the request status.

  • data (object): An empty object.

Authorizations
Body
objectOptionalExample: {"password":"Password@123."}
Responses
200
OK
application/json
Responseobject
post
POST /v1/account/delete-account HTTP/1.1
Host: {{baseurl}}
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 28

{
  "password": "Password@123."
}
200

OK

{
  "status": "success",
  "message": "success",
  "data": {}
}

Update Current User Profile

patch

This endpoint allows users to update their profile information including personal details, contact information, professional biography, talent-related information, and social media links.

Request

The request body allows users to update various aspects of their profile. Below is a detailed explanation of each field that can be included in the request:

Basic Personal Information

The request can update the user's fundamental identification information:

  • firstName: The user's given name, which appears on their profile and in communications

  • lastName: The user's family name or surname, completing their full name on the platform

Profile Information

The profile object contains nested objects that define different aspects of the user's professional identity:

Contact Information (profile.contact):

  • Geographic location details including country, state, and city that help with regional filtering and connecting with local opportunities

  • address: The user's physical address which is used for official communications

  • phone: An international format phone number (with country code) used for account verification and urgent communications

Professional Biography (profile.bio):

  • title: A concise job title or professional designation that appears in search results and profile headers

  • description: A brief professional summary that highlights the user's core professional activities and expertise

Talent Information (profile.talent):

  • about: An extended professional biography where users can elaborate on their experience, approach, and unique qualities

  • availability: Current working status (options include "available", "limited", or "unavailable") that signals to potential collaborators

  • tags: An array of skill keywords that are used for:

    • Profile discoverability in search

    • Matching with relevant projects

    • Categorizing the user's areas of expertise

    • Each tag is processed by the system to generate metadata including color coding and category placement

Social Media Profiles

The socials object connects the user's professional identity across platforms:

  • github: Link to the user's GitHub profile to showcase coding projects and contributions

  • twitter: Link to the user's Twitter/X profile for professional networking and content sharing

  • linkedin: Link to the user's LinkedIn profile for professional history verification

  • website: Link to the user's portfolio, blog, or company website

Field Behavior and Validation

  • Partial Updates: All fields in the request are optional. Only the fields included will be updated.

  • Field Dependencies:

    • When updating nested objects (like profile.contact), you can include just the specific sub-fields you want to update.

    • Changes to profile.talent.tags will trigger automatic tag processing on the server to generate tag metadata.

  • Validation Rules:

    • phone must be in international format (e.g., +4412345678987)

    • Social media links must be valid URLs with the correct domain (github.com, twitter.com, linkedin.com)

    • tags should contain known skill categories for optimal matching; custom tags will be processed but may not be categorized

Response

  • status: Indicates the result of the operation ("success" or "error")

  • message: A human-readable message describing the result

  • data: The updated user profile information containing:

    • Basic user information:

      • _id: Unique identifier for the user

      • firstName: User's first name

      • lastName: User's last name

      • email: User's email address

      • emailVerified: Boolean indicating if email is verified

      • role: User's role in the system (e.g., "user")

      • type: User type (e.g., "recipient")

      • userName: Generated username

      • emailVerifiedAt: Timestamp when email was verified

    • Profile information:

      • profile.contact: Contact details including country, state, city, address, and phone

      • profile.bio: Professional information including title and description

      • profile.talent: Skills information including availability status, about text, and tags

      • profile.talent.tagsIds: Detailed information about each tag including color codes and metadata

    • Social media links:

      • socials.github: GitHub profile URL

      • socials.twitter: Twitter profile URL

      • socials.linkedin: LinkedIn profile URL

      • socials.website: Personal website URL

    • Account status information:

      • isPrivate: Boolean indicating if profile is private

      • walletGenerated: Boolean indicating if wallet has been generated

      • score: User's score in the system

      • twoFa: Two-factor authentication settings

      • profileCompleteness: Profile completion percentage

      • socket.status: User's online status

      • loggedInAt: Last login timestamp

      • isUserNameUpdated: Boolean indicating if username has been manually updated

      • referralCode: User's referral code

      • web3Onboard: Boolean indicating web3 onboarding status

      • accountType: Type of account (e.g., "email")

      • isVerified: Boolean indicating if user is verified

      • kyc: Boolean indicating if KYC is completed

      • kycStatus: Current KYC verification status

    • Achievement information:

      • achievements: Array of achievement objects with type, total, and current value

The response indicates that the profile was successfully updated and returns the complete user data with the following key information:

  • User identification: The system assigned user ID "6813a1ab1d3c66b889056c09"

  • Contact details: Located in Manchester, England with the provided phone number

  • Professional details: Works as a Software Engineer who "Builds software Products"

  • Skills: Tagged with multiple skills including product, writing, engineering, devops, web3, and crypto

  • Social media: Links to GitHub, Twitter, LinkedIn, and personal website

  • Account status: Email is verified, account type is "email", user is verified but KYC status is pending

  • Achievement progress: Shows progress on various achievement types like reviews, referrals, and five-star ratings

  • System information: Account created on May 1, 2025, with the last login at 16:30:35 UTC

Notes

  • All fields in the request are optional. Only the fields you include will be updated.

  • The system automatically generates color codes and metadata for skills tags.

  • The email address cannot be updated through this endpoint.

  • The system assigns a random username if the user hasn't manually updated it.

Authorizations
Body
objectOptionalExample: {"firstName":"Alice","lastName":"Bob","profile":{"contact":{"country":"England","state":"Manchester","city":"Manchester","address":"30, alice bob blvd.","phone":"+4412345678987"},"bio":{"title":"Software Engineer","description":"Builds software Products"},"talent":{"about":"About this user?. User is the best developer in the solar system","availability":"available","tags":["product","writing","custom","engineering","devops","web3","crypto"]}},"socials":{"github":"https://github.com/tester","twitter":"https://twitter.com/tester","linkedin":"https://linkedin.com/tester","website":"https://mywebsite.com"}}
Responses
202
Accepted
application/json
Responseobject
patch
PATCH /v1/account/update HTTP/1.1
Host: {{baseurl}}
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 610

{
  "firstName": "Alice",
  "lastName": "Bob",
  "profile": {
    "contact": {
      "country": "England",
      "state": "Manchester",
      "city": "Manchester",
      "address": "30, alice bob blvd.",
      "phone": "+4412345678987"
    },
    "bio": {
      "title": "Software Engineer",
      "description": "Builds software Products"
    },
    "talent": {
      "about": "About this user?. User is the best developer in the solar system",
      "availability": "available",
      "tags": [
        "product",
        "writing",
        "custom",
        "engineering",
        "devops",
        "web3",
        "crypto"
      ]
    }
  },
  "socials": {
    "github": "https://github.com/tester",
    "twitter": "https://twitter.com/tester",
    "linkedin": "https://linkedin.com/tester",
    "website": "https://mywebsite.com"
  }
}
202

Accepted

{
  "status": "success",
  "message": "Profile updated successfully",
  "data": {
    "_id": "6813a1ab1d3c66b889056c09",
    "firstName": "Alice",
    "lastName": "Bob",
    "email": "mail@example.com",
    "emailVerified": true,
    "role": "user",
    "type": "recipient",
    "profile": {
      "contact": {
        "country": "England",
        "state": "Manchester",
        "city": "Manchester",
        "address": "30, alice bob blvd.",
        "phone": "+4412345678987"
      },
      "bio": {
        "title": "Software Engineer",
        "description": "Builds software Products"
      },
      "talent": {
        "about": "About this user?. User is the best developer in the solar system",
        "availability": "available",
        "tags": [
          "product",
          "writing",
          "custom",
          "engineering",
          "devops",
          "web3",
          "crypto"
        ],
        "tagsIds": [
          {
            "_id": "6813a2721d3c66b889056c6a",
            "name": "product",
            "key": "product",
            "color": "#56F2E3",
            "categories": [],
            "isParent": false,
            "type": "",
            "entryCount": 1,
            "createdAt": "2025-05-01T16:33:54.790Z",
            "updatedAt": "2025-05-01T16:33:54.790Z",
            "__v": 0
          },
          {
            "_id": "6813a2721d3c66b889056c6e",
            "name": "writing",
            "key": "writing",
            "color": "#4091C4",
            "categories": [],
            "isParent": false,
            "type": "",
            "entryCount": 1,
            "createdAt": "2025-05-01T16:33:54.798Z",
            "updatedAt": "2025-05-01T16:33:54.798Z",
            "__v": 0
          },
          {
            "_id": "6813a2721d3c66b889056c72",
            "name": "custom",
            "key": "custom",
            "color": "#D7CFCD",
            "categories": [],
            "isParent": false,
            "type": "",
            "entryCount": 1,
            "createdAt": "2025-05-01T16:33:54.805Z",
            "updatedAt": "2025-05-01T16:33:54.805Z",
            "__v": 0
          },
          {
            "_id": "6813a2721d3c66b889056c76",
            "name": "engineering",
            "key": "engineering",
            "color": "#3E9CC4",
            "categories": [],
            "isParent": false,
            "type": "",
            "entryCount": 1,
            "createdAt": "2025-05-01T16:33:54.814Z",
            "updatedAt": "2025-05-01T16:33:54.814Z",
            "__v": 0
          },
          {
            "_id": "6813a2721d3c66b889056c7a",
            "name": "devops",
            "key": "devops",
            "color": "#FFF0CB",
            "categories": [],
            "isParent": false,
            "type": "",
            "entryCount": 1,
            "createdAt": "2025-05-01T16:33:54.822Z",
            "updatedAt": "2025-05-01T16:33:54.822Z",
            "__v": 0
          },
          {
            "_id": "6813a2721d3c66b889056c7e",
            "name": "web3",
            "key": "web3",
            "color": "#B0B8DE",
            "categories": [],
            "isParent": false,
            "type": "",
            "entryCount": 1,
            "createdAt": "2025-05-01T16:33:54.830Z",
            "updatedAt": "2025-05-01T16:33:54.830Z",
            "__v": 0
          },
          {
            "_id": "6813a2721d3c66b889056c82",
            "name": "crypto",
            "key": "crypto",
            "color": "#2A89FE",
            "categories": [],
            "isParent": false,
            "type": "",
            "entryCount": 1,
            "createdAt": "2025-05-01T16:33:54.838Z",
            "updatedAt": "2025-05-01T16:33:54.838Z",
            "__v": 0
          }
        ]
      }
    },
    "isPrivate": false,
    "walletGenerated": true,
    "score": 0,
    "twoFa": {
      "type": "undefined",
      "status": false,
      "securityQuestion": "undefined"
    },
    "profileCompleteness": 0,
    "socket": {
      "status": "OFFLINE"
    },
    "loggedInAt": "2025-05-01T16:30:35.844Z",
    "isUserNameUpdated": false,
    "referralCode": "Jg60",
    "web3Onboard": false,
    "accountType": "email",
    "createdAt": "2025-05-01T16:30:35.866Z",
    "userName": "alice-bob-kgnx",
    "emailVerifiedAt": "2025-05-01T04:32:18.000Z",
    "socials": {
      "github": "https://github.com/tester",
      "twitter": "https://twitter.com/tester",
      "linkedin": "https://linkedin.com/tester",
      "website": "https://mywebsite.com"
    },
    "achievements": [
      {
        "_id": "6813a1ac1d3c66b889056c34",
        "owner": "6813a1ab1d3c66b889056c09",
        "type": "five-star",
        "total": "20",
        "value": "0",
        "createdAt": "2025-05-01T16:30:36.556Z",
        "updatedAt": "2025-05-01T16:30:36.556Z",
        "__v": 0
      },
      {
        "_id": "6813a1ac1d3c66b889056c30",
        "owner": "6813a1ab1d3c66b889056c09",
        "type": "referral",
        "total": "10",
        "value": "0",
        "createdAt": "2025-05-01T16:30:36.547Z",
        "updatedAt": "2025-05-01T16:30:36.547Z",
        "__v": 0
      },
      {
        "_id": "6813a1ac1d3c66b889056c2c",
        "owner": "6813a1ab1d3c66b889056c09",
        "type": "review",
        "total": "60",
        "value": "0",
        "createdAt": "2025-05-01T16:30:36.540Z",
        "updatedAt": "2025-05-01T16:30:36.540Z",
        "__v": 0
      },
      {
        "_id": "6813a1ac1d3c66b889056c38",
        "owner": "6813a1ab1d3c66b889056c09",
        "type": "squad",
        "total": "10",
        "value": "0",
        "createdAt": "2025-05-01T16:30:36.565Z",
        "updatedAt": "2025-05-01T16:30:36.565Z",
        "__v": 0
      }
    ],
    "isVerified": true,
    "kyc": false,
    "kycStatus": "pending"
  }
}

Personal information: First name "Alice", last name "Bob", email ""

mail@example.com