NAV
shell http

AuthNull

Welcome to the AuthNull API documentation!

AuthNull is a product providing secure authentication services. Our APIs allow you to easily integrate our authentication services into your application.

Our APIs follow the RESTful architecture, meaning that they are structured around the HTTP verbs (GET, POST, PUT, DELETE) and use the standard HTTP status codes to indicate success or failure.

We hope that our APIs will help you build more secure applications. If you have any questions or need further assistance, don't hesitate to reach out to us.

Installation Of Authnull Microservices

To install Authnull Microservices repository in your system, you can follow these general steps:

1.Install the framework: You can install the framework by following the instructions provided in their respective documentation. Link for the same : https://goa.design/implement/implementing/

2.Create a project: Once the framework is installed, create a new project using the command-line interface (CLI) or integrated development environment (IDE) provided by the framework. You can also use any existing project as a starting point.

3.Define the microservices: Identify the different components of your application that can be broken down into smaller, more manageable microservices. Define the interface for each microservice.

4.Implement the microservices: Write the code for each microservice, including the APIs for communication between the different microservices.

5.Test the microservices: To facilitate testing of each microservice,there are a unit tests for each component of the microservice. These unit tests can be automatically triggered and executed during the continuous integration (CI) process, helping to ensure that each microservice is functioning as expected. The unit tests can be stored in a dedicated folder such as /test within the Git repository.

6.Deploy the microservices: Deploy each microservice to a separate container or virtual machine.

7.Monitor the microservices: Monitor the performance of each microservice and the overall system. Use metrics and logs to identify issues and improve the system.

These are the general steps to install a microservices repository for backend APIs.

Authnull Web Application Installation Instructions

Instructions for installing the application:

Run npm install in your terminal/command prompt.

Instructions to run the Application on development mode:

  1. To launch the application in development mode, run npm run start in your terminal/command prompt.

  2. Once the application is running, access it in your browser by visiting http://127.0.0.1:5173/login.

Instructions to run the Application on production mode:

  1. Create a production build of the application using npm run build: production command

  2. Clone the svelte-server repository and run npm install to install it.

  3. Copy the dist folder from svelte-app root directory to the root directory of svelte-server.

  4. Run npm start from svelte-server directory using a terminal.

  5. Once the svelte-server starts, access it in your browser by visiting http://127.0.0.1:3000

Tech used in the application.

The application is built using a combination of technologies.

  1. Svelte is used as the primary JavaScript framework to develop the user interface

  2. Carbon Black serves as the design library for consistent and streamlined UI design.

  3. Vite is the chosen build tool for compiling and packaging the code for deployment.

Priviliged Access Management(PAM)

-

Privileged access management (PAM) is the combination of tools and technology used to secure, control and monitor access to an organization’s critical information and resources. Subcategories of PAM include shared access password management, privileged session management and application access management.

Privileged access management (PAM), a subdivision of Identity and Access Management (IAM), is a solution that provides organizations with better control and monitoring capabilities that decide who can have privileged access to critical assets, say, a computer or information system.

The solution should include the following functionalities:

Defining user roles Granting required privileges or access rights for the roles defined Distributing user information and access grants to all devices and systems that enforce access rights in organizations Monitoring privileged user activities and analyzing the same to detect anomalies

Endpoint Management

Endpoint management is the process of actively monitoring, detecting, and preventing malware attacks on devices that are connected to a network. This is typically done to implement security policies and monitor suspicious activities on endpoints.Its can be done by

1.Inventory / management of Endpoints or servers (windows, linux, macos and others)

2.Active Directory Sync for users (one way only).

3.Workflows to control permissions

4.endpoint user management through Endpoint User Management Service.

List Instances

The List Instances API allows users to retrieve a list of computing instances that belong to an endpoint group in a system or application.This API provides a simple and convenient way to access information about computing instances within an endpoint group and their status, configuration, or usage metrics.

curl POST 'https://api.authnull.kloudlearn.com/api/v1/instances/list' \ 
--header 'Content-Type: application/json' \
--data '{
  "domainId": 1,
"pageId": 1,
"pageSize": 10,
"filter":""
}'
POST /api/v1/instances/list HTTP/1.1
{
  "domainId": 1,
"pageId": 1,
"pageSize": 10,
"filter":""
}

Access Token

Authorization Key Required

HTTP Request

POST /api/v1/instances/list HTTP/1.1

Query Parameter

Parameter Description
domainId The domainId is used to specify the ID of the domain to which the endpoint belongs.
pageId Page ID refers to the page number.
pageSize Page size refers to the number of endpoints groups to be fetched.
filter filter is the search keyword for searching endpoint groups.

HTTP Response

All the instances listed below.

{
    "domainId": 1,
    "groupId": 0,
    "totalCount": 7,
    "instances": [
        {
            "totalUsers": 38,
            "instanceName": "SK2014",
            "osName": "RedHat",
            "publicIp": "192.168.3.1",
            "privateIp": "",
            "hostName": "",
            "status": "Inactive",
            "instanceId": 1,
            "totalGroups": 8
        }
      ]
    }

Add Instances

The Add Instance API allows users to add a new computing instance to an endpoint group in a system or application.This API provides a simple and secure way to add computing instances to an endpoint group and expand the computing infrastructure of an organization.

curl POST 'https://api.authnull.kloudlearn.com/api/v1/instances/addInstance \
--header 'Content-Type: application/json' \
--data '{
"domain_id":25,
"instance_name":"kloudone.vm",
"os_id":1,
"public_ip":"144.32.55.5",
"private_ip":"10.32.45.1"
}

POST /api/v1/instances/addInstance HTTP/1.1
{
"domainId":1234,
"instanceName":"kloudone.vm",
"osId":1,
"publicIp":"144.32.55.5",
"privateIp":"10.32.45.1",
}

Access Token

Authorization Key Required

HTTP Request

POST /api/v1/instances/addInstance HTTP/1.1

Query Parameter

Parameter Description
domainId The domainId is used to specify the ID of the domain to which the endpoint belongs.
instanceName The instanceName specifies the name of the instance that the endpoint belongs to.
osId The osId specifies the operating system identifier for the device associated with the endpoint.
publicIp The public IP refers to the unique identifier assigned to a device or network interface that is visible to the public internet.
privateIp The privateIp is used to specify the private IP address for an endpoint in a private network.

HTTP Response

Instance added to the list.

{
  "instanceId": "fdsf-dfdf-gfdsgf-fdsgfdg-fdge",
  "code": 200,
  "message": "success" 
}

Update Auth Type

The Update Auth Type API allows users to update the authentication type used for a computing instance within an endpoint group in a system or application. This API provides a simple and flexible way to manage the authentication methods used within an endpoint group and ensure that they meet the security requirements of an organization.

curl PUT https://api.authnull.kloudlearn.com/api/v1/instances/updateAuthType \
--header 'Content-Type: application/json' \
--data '{
    "instanceId":1,
    "domainId":1,
    "authType":"SSH,DID,Password"
}'
PUT /api/v1/instances/updateAuthType HTTP/1.1
{
    "instanceId":1,
    "domainId":1,
    "authType":"SSH,DID,Password"
}

Access Token

Authorization Key Required

HTTP Request

PUT /api/v1/instances/updateAuthType HTTP/1.1

Query Parameter

Parameter Description
instanceId The instanceId is used to specify the ID of the instances that are part of the endpoint.
domainId The domainId is used to specify the ID of the domain to which the endpoint belongs.
authType Authorization type

HTTP Response

Auth Type updated

{
  "Auth Type Updated"
}

Assign User to Endpoints

The Assign User to Endpoints API allows users to assign one or more users to specific computing instances within an endpoint group in a system or application. This API provides a simple and secure way to manage user access to computing instances and ensure that only authorized users can access sensitive information or resources.

curl POST 'https://api.authnull.kloudlearn.com/api/v1/instances/assignUsersToMachines  \
--header 'Content-Type: application/json' \
--data '{
    "instanceIds":[1,2],
    "domainId":1,
    "userIds":[106,103],
    "action" : "add"
}'
POST /api/v1/instances/assignUsersToMachines HTTP/1.1

{
    "instanceIds":[1,2],
    "domainId":1,
    "userIds":[106,103],
    "action" : "add"
}

{
    "instanceIds":[1,2],
    "domainId":1,
    "userIds":[106,103],
    "action" : "remove"
}

Access Token

Authorization Key Required

HTTP Request

POST /api/v1/instances/assignUsersToMachines HTTP/1.1

Query Parameter

Parameter Description
domainId The domainId is used to specify the ID of the domain to which the endpoint belongs.
instanceIds The instanceId is used to specify the ID of the instances that are part of the endpoint.
userId The userId is used to specify the unique identifier of a user to be added or removed from an endpoint.
action The action is used to specify the type of action to be performed on an endpoint, such as add or remove an endpoint.

HTTP Response

Assign user to endpoint

{
    "code": 200,
    "message": "Successfully Added"
}

Assign Groups To Endpoints

The Assign Groups to Endpoints API allows users to assign one or more groups to specific computing instances within an endpoint group in a system or application.

curl PUT 'https://api.authnull.kloudlearn.com/api/v1/instances/assignGroupToMachines  \
--header 'Content-Type: application/json' \
--data '{
    "instanceId":[1,2],
    "domainId":1,
    "groupId":[1,2,3],
     "action":"add"
}
'
PUT /api/v1/instances/assignGroupToMachines HTTP/1.1
{
    "instanceId":[1,2],
    "domainId":1,
    "groupId":[1,2,3],
     "action":"add"
}


 

{
    "instanceId":[1,2],
    "domainId":1,
    "groupId":[1,2,3],
     "action":"remove"
}

Access Token

Authorization Key Required

HTTP Request

PUT /api/v1/instances/assignGroupToMachines

Query Parameter

Parameter Description
domainId The domainId is used to specify the ID of the domain to which the endpoint belongs.
instanceId The instanceId is used to specify the ID of the instances that are part of the endpoint.
groupId The groupId is used to specify the unique identifier of an endpoint to retrieve, update or delete its information.
actions The action is used to specify the type of action to be performed on a endpoint, such as add or remove a endpoint.

HTTP Response

Group added to Machine

{
    "code": 200,
    "message": "Successfully Added"
}

Endpoint Group Management

The Endpoint Group Management module is a software component that enables the management of groups of endpoints within a system. This module provides a user interface for adding, modifying, and deleting endpoint groups, as well as associating endpoint users with these groups.

To add endpoint users to an endpoint group, simply select the desired group from the Endpoint Group Management module and navigate to the Endpoint Users section. From here, you can add or remove users as necessary.

Once endpoint users have been added to an endpoint group, you can generate an authentication flow for the group. This authentication flow determines how users in the group will be authenticated when accessing resources and applications within the system.

To generate an authentication flow for an endpoint group, select the desired group from the Endpoint Group Management module and navigate to the Authentication Flow section. From here, you can configure the authentication flow based on the specific needs of the group.

It is important to ensure that endpoint groups and associated authentication flows are properly configured and maintained to ensure secure and efficient access to resources and applications within the system. Regular monitoring and troubleshooting of the Endpoint Group Management module may be necessary to ensure its proper functioning.

List Endpoint Group

This lists all the Endpoint groups that are present. Endpoint groups refer to a collection of Linux endpoints

curl --location --request POST https://api.authnull.kloudlearn.com/api/v1/instanceGroup/listEndpointGroup \
--header 'Content-Type: application/json' \
--data '{
    "domainId" :"1",
     "filter" : "",
      "pageId": 1 , 
      "pageSize" :100
}'
POST /api/v1/instanceGroup/listEndpointGroup
{
    "domainId" :1,
     "filter" : "",
      "pageId": 1 , 
      "pageSize" :100
}

Access Token

Authorization Key Required

HTTP Request

POST /api/v1/instanceGroup/listEndpointGroup

Query Parameter

Parameter Description
domainId The domainId is used to specify the domain ID associated with the endpoint group.
pageId Page ID refers to the page number.
pageSize Page size refers to the number of endpoints groups to be fetched.
filter filter is the search keyword for searching endpoint groups.

HTTP Response

Endpoint listed.

{
    "totalCount": 2,
    "groups": [
        {
            "groupId": 60,
            "groupName": "test 5",
            "usersCount": 38
        },
        {
            "groupId": 62,
            "groupName": "test1",
            "usersCount": 38
        }
    ]
}

Add Endpoint Group

The Add Endpoint groups API allows users to add new Endpoint groups to a system or application.

curl --location --request POST https://api.authnull.kloudlearn.comapi/v1/instanceGroup/addInstanceGroup  \
--header 'Content-Type: application/json' \
--data '{
"domainId":1,
"instanceIds":[1,3],
"groupName":"SumanGhimiray",
"ou":"",
"cn":"",
"dc":""
}'
POST api/v1/instanceGroup/addInstanceGroup
{
"domainId":1,
"instanceIds":[1,3],
"groupName":"ServerGroup",
"ou":"",
"cn":"",
"dc":""
}

Access Token

Authorization Key Required

HTTP Request

POST api/v1/instanceGroup/addInstanceGroup

Query Parameter

Parameter Description
domainId Domain Id is the company/organization id within our Authnull platform.
instanceIds The instanceIds is used to specify the IDs of the instances that are part of the endpoint group.
groupName The groupName is used to specify the name of the endpoint group being created or modified.
ou The ou (organizational unit) is an optional parameter used to specify the organizational unit of the resources associated with the endpoint group.
cn The cn (common name) is an optional parameter used to specify the common name of the resources associated with the endpoint group.
dc The dc (domain component) is an optional parameter used to specify the domain component of the resources associated with the endpoint group.

HTTP Response

Endpoint added.

{
    "instanceId": 63,
    "Code": "200",
    "Message": "Successfully Updated Endpoint Group"
}

Delete Endpoint Group

The Delete Endpoint Group API allows users to delete an existing Endpoint group from a system or application.This API provides a straightforward and secure way to remove Endpoint groups that are no longer needed or that have become obsolete. It can be used by administrators, security teams, or developers who need to manage or monitor endpoint groups in an organization.

curl --location --request DELETE https://api.authnull.kloudlearn.com/api/v1/instanceGroup/deleteEndpointGroup  \
--header 'Content-Type: application/json' \
--data '{
    "domainId" : 2,
    "id": [555]
}'
DELETE api/v1/instanceGroup/deleteEndpointGroup
{
    "domainId" : 1 ,
    "id": 5
}

Access Token

Authorization Key Required

HTTP Request

DELETE api/v1/instanceGroup/deleteEndpointGroup

Query Parameter

Parameter Description
domainId Domain Id is the company/organization id within our Authnull platform.
epmGroupId The epmGroupId is used to specify the ID of an existing endpoint group to modify or retrieve its configuration.

HTTP Response

Endpoint Deleted

{
    "status": "Success",
    "message": "Group Deleted successfully"
}

Edit Endpoint Groups

The Edit Endpoint Group API allows users to modify an existing Endpoint group in a system or application.This API provides a simple and secure way to update Endpoint groups with new information or to modify existing attributes, such as the groups name, description, or metadata.

curl --location --request PUT 'https://api.authnull.kloudlearn.com/api/v1/instanceGroup/editInstanceGroup' \
--header 'Content-Type: application/json' \
--data '{
"domainId":1,
"instanceIds":[3,5,6],
"groupName":"sefali",
"groupId" :22
}'
PUT /api/v1/instanceGroup/editInstanceGroup
{
"domainId":16,
"instanceIds":[1,2],
"groupName":"Ghimiray"
}

Access Token

Authorization Key Required

HTTP Request

PUT /api/v1/epmGroupManagement/editEPMGroupStatus HTTP/1.1

Query Parameter

Parameter Description
domainId Domain Id is the company/organization id within our Authnull platform.
instanceIds The instanceIds is used to specify the IDs of the instances that are part of the endpoint group.
groupName The groupName is used to specify the name of the endpoint group being created or modified.

HTTP Response

Endpoint Status Updated.

{
    "status": "Success",
    "message": "Status Updated Successfully"
}

Assign Users To Endpoint Group

The Assign users to Endpoint Group API allows users to assign or add users to an existing Endpoint group in a system or application.This API provides a convenient and secure way to manage user access to Endpoint groups and ensure that only authorized users can access or modify endpoints within the group.

curl --location 'https://api.authnull.kloudlearn.com/api/v1/instanceGroup/assignUsersToEndpointGroup' \
--header 'Content-Type: application/json' \
--data '{
"domainId":1234,
"groupId":9,
"userIds":[2,3],
"action":"add"
}'
POST /api/v1/instances/assignUsersToEndpointGroup
{
"domainId":1234,
"groupId":9,
"userIds":[2,3],
"action":"add"
}

{
"domainId":1234,
"groupId":9,
"userIds":[2,3],
"action":"remove"
}

Access Token

Authorization Key Required

HTTP Request

POST /api/v1/instances/assignUsersToEndpointGroup

Query Parameter

Parameter Description
domainId Domain Id is the company/organization id within our Authnull platform.
groupId The groupId is used to specify the unique identifier of a group to retrieve, update or delete its information.
action The action is used to specify the type of action to be performed on a group, such as add or remove a group.
userId The userId is used to specify the unique identifier of a user to be added or removed from a group.

HTTP Response

Endpoint Status Updated.

{
    "status": "Success",
    "message": "Users Added/Removed successfully"
}

Add Auth Flow

The Add Authflow API allows users to add a new authentication flow to an existing Endpoint group in a system or application. Authentication flow is the process that users go through to verify their identity before accessing an endpoint or device.

This API provides a simple and secure way to manage authentication flows for Endpoint groups and ensure that only authorized users can access or modify endpoints within the group.

curl --location 'https://api.authnull.kloudlearn.com/api/v1/instanceGroup/addAuthFlowToInstanceGroup' \
--header 'Content-Type: application/json' \
--data '{
"domainId":1234,
"groupId":13,
"authFlow":"SSH,DID"
}'
POST /api/v1/instanceGroup/addAuthFlowToInstanceGroup
{
"domainId":1234,
"groupId":9,
"authFlow":"SSH,DID"
}

Access Token

Authorization Key Required

HTTP Request

POST /api/v1/instanceGroup/addAuthFlowToInstanceGroup

Query Parameter

Parameter Description
domainId Domain Id is the company/organization id within our Authnull platform.
groupId The groupId is used to specify the unique identifier of a group to retrieve, update or delete its information.
authFlow The authFlow is used to specify the type of authentication flow to be used for accessing the group management API

HTTP Response

Auth flow added

{
    "instanceId": 13,
    "code": "200",
    "message": "Auth Flow Updated"
}

Update Instance Group Status

The Update Instance Group Status API allows users to update the status of an instance group in a system or application. This API provides a simple and secure way to manage the status of instance groups and ensure that they are running smoothly and efficiently.

curl --location --request PUT 'https://api.authnull.kloudlearn.com/api/v1/instanceGroup/updateInstanceGroupStatus' \
--header 'Content-Type: application/json' \
--data '{
"domainId":1234,
"groupId":9,
"status":"Disabled"
}'
PUT /api/v1/instanceGroup/updateInstanceGroupStatus
{
"domainId":1234,
"groupId":9,
"status":"Disabled"
}

Access Token

Authorization Key Required

HTTP Request

PUT /api/v1/instanceGroup/updateInstanceGroupStatus

Query Parameter

Parameter Description
domainId Domain Id is the company/organization id within our Authnull platform.
groupId The groupId is used to specify the unique identifier of a group to retrieve, update or delete its information.
status The status parameter for API endpoint group management is used to specify the current status of a group, such as whether it is active or inactive

HTTP Response

Instance Group status updated

{
    "status": "Success",
    "message": "Status Updated Successfully"
}

Fetch Instance Group Detail

The Fetch Instance Group Detail API that allows users to retrieve detailed information about an instance group in a system or application.This API provides a convenient and secure way to access detailed information about instance groups .

curl --location 'http://localhost:9090/api/v1/instanceGroup/fetchInstanceGroupDetail' \
--header 'Content-Type: application/json' \
--data '{
"domainId":4,
"groupId":45
}'
POST /api/v1/instanceGroup/fetchInstanceGroupDetail
{
"domainId":4,
"groupId":4
}

Access Token

Authorization Key Required

HTTP Request

POST /api/v1/instanceGroup/fetchInstanceGroupDetail

Query Parameter

Parameter Description
domainId Domain Id is the company/organization id within our Authnull platform.
groupId The groupId is used to specify the unique identifier of a group to retrieve, update or delete its information.

HTTP Response

Instance group detail fetched

{
    "instanceName": "sk123",
    "os": "sk",
    "hostName": "SK980",
    "privateIp": "123.432.3",
    "publicIp": "123.43.23",
    "state": "Active"
}

Update Credential Policy

The Update Credential Policy API allows users to update the credential policy for an endpoint group in a system or application.This API provides a simple and secure way to manage credential policies for endpoint groups and ensure that they are configured to meet the security requirements of an organization.

curl --location --request PUT 'https://api.authnull.kloudlearn.com/api/v1/instances/updateCredentialPolicyToEndpointGroup' \
--header 'Content-Type: application/json' \
--data '{

"groupId":1,
"domainId":1,
"ttlUser":"",
"priviligedUser":"",
"policyId":"",
"homeDir":""
}'
PUT /api/v1/instances/updateCredentialPolicyToEndpointGroup
{

"groupId":1,
"domainId":1,
"ttlUser":"",
"priviligedUser":"",
"policyId":"",
"homeDir":""
}

Access Token

Authorization Key Required

HTTP Request

PUT /api/v1/instances/updateCredentialPolicyToEndpointGroup

Query Parameter

Parameter Description
domainId Domain Id is the company/organization id within our Authnull platform.
groupId The groupId is used to specify the unique identifier of a group to retrieve, update or delete its information.
ttlUser The ttlUser refers to the Time-to-Live (TTL) value for user sessions.
priviligedUser The privilegedUser allows certain users to have elevated access and permissions within the endpoint group.
policyId The policyId specifies the ID of the policy associated with the group.
homeDir The homeDir specifies the default directory path for users accessing the endpoint group.

HTTP Response

Credential Policy Updated

{
    "code": 200,
    "message": "Successfully Updated"
}

Delete Credential Policy

The Delete Credential Policy API allows users to delete the credential policy for an endpoint group in a system or application.It typically requires authentication to ensure that only authorized users can delete credential policies.

curl --location --request DELETE 'https://api.authnull.kloudlearn.com/api/v1/instances/deleteCredentialPolicyToEndpointGroup' \
--header 'Content-Type: application/json' \
--data '{
"groupId":1,
"domainId":1,
"credPolicyId":""
}'
DELETE /api/v1/instances/deleteCredentialPolicyToEndpointGroup
{
"groupId":1,
"domainId":1,
"credPolicyId":""
}

Access Token

Authorization Key Required

HTTP Request

DELETE /api/v1/instances/deleteCredentialPolicyToEndpointGroup

Query Parameter

Parameter Description
domainId Domain Id is the company/organization id within our Authnull platform.
groupId The groupId is used to specify the unique identifier of a group to retrieve, update or delete its information.
credPolicyId The credPolicyId specifies the credential policy to be associated with the endpoint group.

HTTP Response

Credential Policy Deleted

{
    "code": 200,
    "message": "Successfully Deleted"
}

Endpoint User Management

The Endpoint User Management manages endpoint users creation, creates credentials based on credential type and assigns them to wallets. The users are also imported from the Authnull Agent running per instance, and are assigned to wallets. All the synchronization happens with the Authnull Agent for endpoint users

List User

The List User API allows users to retrieve a list of all the users in the system or application for endpoint user management.The API may return a list of user details and any relevant permissions or access rights.

curl --location 'http://localhost:9090/api/v1/endpointUsers/listAllEpmUsers' \
--header 'Content-Type: application/json' \
--data '{
    "domainId":1,
    "pageId": 1,
    "pageSize": 10,
    "filter": {
        "filterBy": "username",
        "value": "bijay"
    },
    "instanceIds": [1,2]
}'
POST /api/v1/endpointUsers/listAllEpmUsers HTTP/1.1
{
    "domainId":1,
    "pageId": 1,
    "pageSize": 10,
    "filter": {
        "filterBy": "username",
        "value": "bijay"
    },
    "instanceIds": [1,2]
}

Access Token

Authorization Key Required

HTTP Request

POST /api/v1/endpointUsers/listAllEpmUsers HTTP/1.1

Query Parameters

Parameter Description
pageId Page ID refers to the page number.
pageSize Page size refers to the number of endpoints groups to be fetched.
domainId Domain Id is the company/organization id within our Authnull platform.
instanceId The instanceId is used to specify the ID of the instances that are part of the endpoint.
filter filter is the search keyword for searching endpoint groups.

HTTP response

{
    "totalCount": 2,
    "epmUsers": [
        {
            "credType": "Password",
            "userId": 1785,
            "userName": "bijaySuperCredential",
            "source": "",
            "userType": "Local User",
            "instanceIds": [
                1
            ],
            "assign": true,
            "credentialId": "124",
            "hostNames": [
                "kloudone01.vm"
            ]
        },
        {
            "credType": "Password",
            "userId": 1772,
            "userName": "Bijay",
            "source": "",
            "userType": "Local User",
            "instanceIds": [
                2
            ],
            "assign": true,
            "credentialId": "124",
            "hostNames": [
                "kloudone02.vm"
            ]
        }
    ]
}

successfully shown list of all endpoint user

Add Endpoint User Info

The Add Endpoint User Info API allows users to add endpoint-specific information to a user account in the system or application for endpoint user management. This API provides a simple and efficient way to manage user accounts and ensure that endpoint-specific information is associated with each user.

curl --location 'https://api.authnull.kloudlearn.com/api/v1/endpointUsers/addEpmUserInfo' \
--header 'Content-Type: application/json' \
--data '{
"domainId":4,
"userName":"as",
"userType":"12",
"credType":"asd",
"password":"XXXX",
"motp":"",
"did":"",
"privilegedUser":"",
"sshKey":"asdfg"
}'
POST /api/v1/endpointUsers/addEpmUserInfo HTTP/1.1
{
"domainId":1,
"userType":"Local",
"credType":"password",
"password":"",
"privilegedUser":"true",
"userName":"testManjuupdate",
"sshKey":"",
"motp":"",
"did":""
}

Access Token

Authorization Key Required

HTTP Request

POST /api/v1/endpointUsers/addEpmUserInfo HTTP/1.1

Query Parameters

Parameter Description
domainId Domain Id is the company/organization id within our Authnull platform.
userType Roles is the user is admin or user it signify.
credType The credType specifies the type of credential used for authentication or authorization purposes.
password The password refers to the authentication credential used to verify the identity of the user making the request.
privilegedUser The privilegedUser allows certain users to have elevated access and permissions within the endpoint.
userName an identification used by a person with access to a computer, network, or online service.
sshKey The sshKey allows for secure access to an endpoint using a pre-shared cryptographic key.
motp MOTP parameter is used for Multi-One Time Password authentication on API endpoints to ensure secure access and prevent unauthorized usage.
did The did specifies the unique decentralized identifier associated with a decentralized identity, allowing for authentication and authorization of data exchange and access within a decentralized identity ecosystem.

HTTP response

{
    "status": "Success",
    "message": "User Added successfully",
    "userId": "71"
}

User Added successfully

Get Endpoint User detail

The Get Endpoint User Detail API is a part of the User Management endpoint and is used to retrieve detailed information about a specific user. This API endpoint requires the user unique identifier as input and returns information and any associated metadata. It is useful for retrieving specific user information to display or manipulate within an application.

curl --location 'https://api.authnull.kloudlearn.com/api/v1/endpointUsers/epmUserDetail' \
--header 'Content-Type: application/json' \
--data '{
    "domainId":1,
    "userId":25
}'
POST /api/v1/endpointUsers/getEpmUserDetail
{
"userId":26,
"domainId":1
}

Access Token

Authorization Key Required

HTTP Request

POST /api/v1/endpointUsers/getEpmUserDetail HTTP/1.1

Query Parameters

Parameter Description
domainId Domain Id is the company/organization id within our Authnull platform.
userIds The userId is used to specify the unique identifier of a user to be added or removed from an endpoint.

HTTP response

{
"domainId":1,
"userId":26,
"userType":"Local",
"credType":"password",
"password":"xxxx",
"privilegedUser":"true",
"userName":"testManjuupdate",
"sshKey":"",
"motp":"",
"did":""
}

Epm User Detail Fetched

Update Endpoint User Info

The Update Endpoint User Info API is a part of the User Management endpoint and is used to update a user information. This API endpoint requires the user unique identifier and the updated information as input. Upon successful execution, the API returns a success message indicating that the user information has been updated.

curl --location --request PUT 'https://api.authnull.kloudlearn.com/api/v1/endpointUsers/updateEpmUserInfo' \
--header 'Content-Type: application/json' \
--data '{
"userId":26,
"domainId":1,
"userType":"Local",
"credType":"password",
"password":"xxxx",
"privilegedUser":"true",
"userName":"testManjuupdate",
"sshKey":"",
"motp":"",
"did":""
}'
PUT /api/v1/endpointUsers/updateEpmUserInfo HTTP/1.1
{
"userId":26,
"domainId":1,
"userType":"Local",
"credType":"password",
"password":"xxxx",
"privilegedUser":"true",
"userName":"testManjuupdate",
"sshKey":"",
"motp":"",
"did":""
}

Access Token

Authorization Key Required

HTTP Request

PUT /api/v1/endpointUsers/updateEpmUserInfo HTTP/1.1

Query Parameters

Parameter Description
userId The userId is used to specify the unique identifier of a user to be added or removed from an endpoint.
domainId Domain Id is the company/organization id within our Authnull platform.
userType Roles is the user is admin or user it signify.
credType The credType specifies the type of credential used for authentication or authorization purposes.
passord The password refers to the authentication credential used to verify the identity of the user making the request.
privilegedUser The privilegedUser allows certain users to have elevated access and permissions within the endpoint
userName an identification used by a person with access to a computer, network, or online service.
sshKey The sshKey allows for secure access to an endpoint using a pre-shared cryptographic key.
motp MOTP parameter is used for Multi-One Time Password authentication on API endpoints to ensure secure access and prevent unauthorized usage.
did The did specifies the unique decentralized identifier associated with a decentralized identity, allowing for authentication and authorization of data exchange and access within a decentralized identity ecosystem.

HTTP response

{
    "status": "Success",
    "message": "User Updated successfully",
    "userId": "26"
}

EPM User Info updated

Update User Wallet

The Update User Wallet API is a service that allows developers to programmatically update the wallet balance of a user on the Lums platform. This API can be used to add or subtract funds from a user wallet balance, and can be integrated into various applications such as e-commerce platforms, gaming sites, or any other platform that requires user wallets. The API uses secure authentication and authorization protocols to ensure that only authorized users have access to wallet update functionalities. With this API, developers can provide a seamless user experience by enabling users to add funds to their wallet or make purchases directly from their wallet balance.

curl --location --request PUT 'https://api.authnull.kloudlearn.com/api/v1/endpointUsers/updateUserWallet' \
--header 'Content-Type: application/json' \
--data '{
    "epmUserId":[402],
    "domainId":1,
    "authnullUserNames":[104,105],
    "groupId":[381,382],
    "instanceId":[15,16],
    "assignMultiple": "false",
    "userType":"local",
    "privilegedUser":"yes",
    "credentialId":[0],
    "credentialType":"password"
    "issuerId":1
    }'
PUT /api/v1/endpointUsers/updateUserWallet HTTP/1.1
{
"epmUserId":[402],
"domainId":1,
"authnullUserNames":[104,105],
"groupId":[381,382],
"instanceId":[15,16],
"assignMultiple": "false",
"userType":"local",
"privilegedUser":"yes",
"credentialId":[0],
"credentialType":"password"
"issuerId":1
}

Access Token

Authorization Key Required

HTTP Request

PUT /api/v1/endpointUsers/updateUserWallet HTTP/1.1

Query Parameters

Parameter Description
epmUserId The userId is used to specify the unique identifier of a user to be added or removed from an endpoint.
domainId Domain Id is the company/organization id within our Authnull platform.
authnullUserNames The authnullUserNames specifies the usernames of the users whose wallets need to be updated.
groupId The groupId is used to specify the ID of the wallet group to which the user wallet belongs.
instanceId The instanceId specifies the unique identifier of the user wallet instance to be updated.
privilegedUser The privilegedUser allows certain users to have elevated access and permissions within the endpoint
assignMultiple The assignMultiple allows multiple wallet values to be updated simultaneously for a user.
userType The userType specifies the type of user for which the wallet is being updated.
credentialId The credentialId is used to specify the unique identifier for the users wallet credential.
credentialType The credentialType specifies the type of credential being updated for the users wallet, such as a credit card or bank account.
issuerId The issuerId is used to specify the ID of the entity that issued the wallet.

HTTP response

{
    "status": "Success",
    "message": " Wallet Updated"
}

Wallet updated

Delete Endpoint User

The Delete Endpoint User API is a part of the User Management endpoint and is used to delete a user account. This API endpoint requires the user unique identifier as input, and upon successful execution, the user account is removed from the system. This API is useful for administrative purposes, such as removing inactive or unauthorized user accounts.

curl --location --request DELETE 'https://api.authnull.kloudlearn.com/api/v1/endpointUsers/deleteEpmUser' \
--header 'Content-Type: application/json' \
--data '{
    "domainId": 1,
    "key": "34rfdhuytqwrtttbcv",
    "epmUsers": [
        {
            "epmUserId": 514,
            "userName": "hema",
            "instanceId": 17
        },
        {
            "epmUserId": 515,
            "userName": "hema",
            "instanceId": 17
        }
    ]
}'
DELETE api/v1/endpointUsers/deleteEpmUser HTTP/1.1
{
    "domainId": 1,
    "key": "34rfdhuytqwrtttbcv",
    "epmUsers": [
        {
            "epmUserId": 514,
            "userName": "hema",
            "instanceId": 17
        },
        {
            "epmUserId": 515,
            "userName": "hema",
            "instanceId": 17
        }
    ]
}

Access Token

Authorization Key Required

HTTP Request

DELETE api/v1/endpointUsers/deleteEpmUser HTTP/1.1

Query Parameters

Parameter Description
domainId Domain Id is the company/organization id within our Authnull platform.
epmUserId The epmUserId is used to identify the unique user ID associated with a particular endpoint in order to perform user-specific operations.
userName an identification used by a person with access to a computer, network, or online service.
instanceId The instanceId is used to specify the ID of the instances that are part of the endpoint.

HTTP response

{
    "status": "Success",
    "message": "User deleted successfully"
}

Endpoint User deleted

Password Policy

A proper password complexity policy would be: eight characters for the length of a password and at least three types of the following characters used: uppercase letters, lowercase letters, digits, and special characters. Add the following parameters and their values: minlen, dcredit, ucredit, lcredit, and ocredit.

Add Password Policy

The Add Password Policy API is a part of the Password Policy endpoint in User Management and is used to define the password requirements for user accounts. This API endpoint requires input such as password length, complexity rules, and expiration policies. Upon successful execution, the API returns a success message indicating that the password policy has been added. This API is useful for enforcing security standards for user passwords and reducing the risk of security breaches.

curl --location 'https://api.authnull.kloudlearn.com/api/v1/instances/addPasswordPolicy' \
--header 'Content-Type: application/json' \
--data '{
    "policyName":"PolicynonMachineTest",
    "templateName":"Template1",
    "minLen":"5",
    "maxLen":"10",
    "firstChar":"",
    "allowUpperLower":"",
    "allowSpecial":"yes",
    "allowNumeric":"yes"
}'
POST /api/v1/instances/addPasswordPolicy HTTP/1.1
{
    "policyName":"PolicynonMachineTest",
    "templateName":"Template1",
    "minLen":"5",
    "maxLen":"10",
    "firstChar":"",
    "allowUpperLower":"",
    "allowSpecial":"yes",
    "allowNumeric":"yes"
}

Access Token

Authorization Key Required

HTTP Request

POST /api/v1/instances/addPasswordPolicy HTTP/1.1

Query Parameters

Parameter Description
policyName The policyName refers to the name of the policy that should be applied to the specified endpoint.
templateName The templateName refers to the name of the password policy template that is being used to apply a set of rules and restrictions for creating and managing user passwords.
minLen The minLen sets the minimum required length for a users password.
maxLen The minLen sets the Maximum required length for a users password.
firstChar The firstChar specifies whether the password requires the first character to be uppercase, lowercase, or a digit.
allowUpperLower The allowUpperLower specifies whether the password policy allows the use of both uppercase and lowercase letters in passwords.
allowSpecial The allowSpecial determines whether special characters are allowed in user passwords.
allowNumeric The allowNumeric specifies whether or not numeric characters are allowed in user passwords.

HTTP response

successfully Added Password Policy

{
    "code": 200,
    "message": "Successfully Added Password Policy"
}

Delete Password Policy

The Delete Password Policy API is a part of the Password Policy endpoint in User Management and is used to remove an existing password policy. This API endpoint requires the unique identifier of the policy to be deleted as input, and upon successful execution, the policy is removed from the system. This API is useful for administrative purposes, such as updating password policies or removing outdated policies. It is important to note that removing a password policy may affect the security of user accounts and should be done with caution.

curl --location --request DELETE 'https://api.authnull.kloudlearn.com/api/v1/instances/deletePasswordPolicy' \
--header 'Content-Type: application/json' \
--data '{
    "policyId":1
}'
DELETE /api/v1/instances/deletePasswordPolicy HTTP/1.1
[
  {
        "policyId":1

    }
]

Access Token

Authorization Key Required

HTTP Request

DELETE /api/v1/instances/deletePasswordPolicy HTTP/1.1

Query Parameters

Parameter Description
policyId The policyId specifies the unique identifier of a password policy to be retrieved, updated, or deleted.

HTTP response

successfully deleted Password Policy

[
  {
    "policyName":"PolicynonMachineTest",
    "templateName":"Template1",
    "minLen":"5",
    "maxLen":"10",
    "firstChar":"",
    "allowUpperLower":"",
    "allowSpecial":"yes",
    "allowNumeric":"yes"
}
]

List All Password Policy

The List All Password Policy API is a part of the Password Policy endpoint in User Management and is used to retrieve a list of all existing password policies. This API endpoint returns a list of policies, each with its unique identifier and associated settings such as password length and complexity rules. This API is useful for administrative purposes, such as reviewing the current password policies or managing multiple policies for different user groups or applications.

curl --location 'https://api.authnull.kloudlearn.com/api/v1/instances/listPasswordPolicy' \
--header 'Content-Type: application/json' \
--data '{
    "machineIds":[1,2,3],
    "pageId":1,
    "pageSize": 10
}'
POST /api/v1/instances/listAllPasswordPolicy HTTP/1.1
{
    "machineIds":[1,2,3],
    "pageId":1,
    "pageSize": 10
}

Access Token

Authorization Key Required

HTTP Request

POST /api/v1/instances/addPasswordPolicy HTTP/1.1

Query Parameters

Parameter Description
machineIds The machineIds is used to filter the password policies based on the machine IDs associated with them.
pageId Page ID refers to the page number.
pageSize Page size refers to the number of endpoints groups to be fetched.

HTTP response

successfully Listed All Password Policy

{
    "totalPolicies": 17,
    "totalPages": 2,
    "passwordPolicies": [
        {
            "policyId": 2,
            "policyName": "PolicyManjuTest",
            "minLen": "5",
            "maxLen": "10",
            "firstChar": "",
            "allowUpperLower": "",
            "allowSpecial": "yes",
            "allowNumeric": "yes"
        }
    ]
}

Assign Policy To Endpoints

The Assign Policy to Endpoints API is a part of the Password Policy endpoint in User Management and is used to assign an existing password policy to a specific endpoint or group of endpoints. This API endpoint requires the unique identifier of the policy and the identifier of the endpoint(s) to be assigned to as input. Upon successful execution, the API returns a success message indicating that the policy has been assigned to the specified endpoint(s). This API is useful for managing password policies for different applications or user groups and ensuring consistent security standards across multiple endpoints.

curl --location 'https://api.authnull.kloudlearn.com/api/v1/instances/assignPolicyToMachine' \
--header 'Content-Type: application/json' \
--data '{
    "policyId":2,
    "instanceId":1

}'
POST /api/v1/instances/assignPolicyToMachine HTTP/1.1
[
  {
    "policyId":2,
    "instanceId":1


}
]

This will Assign Policy To Machine.

HTTP AuthKey

Authorization Key Required

HTTP Request

POST /api/v1/instances/assignPolicyToMachine HTTP/1.1

Query Parameters

Parameter Description
policyId The policyId specifies the unique identifier of a password policy to be retrieved, updated, or deleted.
instanceId The instanceId is used to specify the ID of the instances that are part of the endpoint.

HTTP response

successfully Assigned Policy To endpoint

{
    "code": 200,
    "message": "Successfully Assigned Password Policy To Endpoint"
}

Update Password Policy

The Update Password Policy API is a part of the Password Policy endpoint in User Management and is used to update an existing password policy. This API endpoint requires the unique identifier of the policy and the updated policy settings as input, such as password length, complexity rules, or expiration policies.This API is useful for modifying password policies to reflect changing security needs or standards. It is important to note that updating a password policy may affect the security of user accounts and should be done with caution.

curl --location --request PUT 'https://api.authnull.kloudlearn.com/api/v1/instances/updatePasswordPolicy' \
--header 'Content-Type: application/json' \
--data '{
    "policyId": 1,
    "policyName":"testPolicy",
    "minLen":"",
    "maxLen": "",
    "firstChar": "",
    "allowUpperLower":"",
    "allowSpecial":"",
    "allowNumeric":""

}'
POST /api/v1/instances/updatePasswordPolicy HTTP/1.1
[
  {
        "policyId":2,
        "policyName":"PolicyManjuTest1",
        "minLen":"3",
        "maxLen":"5",
        "firstChar":"",
        "allowUpperLower":"",
        "allowSpecial":"",
        "allowNumeric":""


    }
]

Access Token

Authorization Key Required

HTTP Request

POST /api/v1/instances/updatePasswordPolicy HTTP/1.1

Query Parameters

Parameter Description
policyName The policyName refers to the name of the policy that should be applied to the specified endpoint.
templateName The templateName refers to the name of the password policy template that is being used to apply a set of rules and restrictions for creating and managing user passwords.
minLen The minLen sets the minimum required length for a users password.
maxLen The minLen sets the Maximum required length for a users password.
firstChar The firstChar specifies whether the password requires the first character to be uppercase, lowercase, or a digit.
allowUpperLower The allowUpperLower specifies whether the password policy allows the use of both uppercase and lowercase letters in passwords.
allowSpecial The allowSpecial determines whether special characters are allowed in user passwords.
allowNumeric The allowNumeric specifies whether or not numeric characters are allowed in user passwords.

HTTP response

successfully updated Password Policy

[
 {
  "Updated Successfully"
 }
]

Validate Password

The Validate Password API is a part of the Password Policy endpoint in User Management and is used to validate if a password meets the specified password policy requirements. This API endpoint requires the user password as input and returns a success message indicating if the password meets the policy requirements or an error message indicating which policy requirements were not met. This API is useful for ensuring that user passwords meet the specified security standards and reducing the risk of security breaches. It is typically used in conjunction with other password policy management APIs.

curl --location 'https://api.authnull.kloudlearn.com/api/v1/instances/validatePassword' \
--header 'Content-Type: application/json' \
--data '{

"machineId":"",

"password":""

}'
POST /api/v1/instances/validatePolicy HTTP/1.1
{

machineId:"",

password:""

}

Access Token

Authorization Key Required

HTTP Request

POST /api/v1/instances/validatePolicy HTTP/1.1

Query Parameters

Parameter Description
policyName The policyName refers to the name of the policy that should be applied to the specified endpoint.
templateName The templateName refers to the name of the password policy template that is being used to apply a set of rules and restrictions for creating and managing user passwords.
minLen The minLen sets the minimum required length for a users password.
maxLen The minLen sets the Maximum required length for a users password.
firstChar The firstChar specifies whether the password requires the first character to be uppercase, lowercase, or a digit.
allowUpperLower The allowUpperLower specifies whether the password policy allows the use of both uppercase and lowercase letters in passwords.
allowSpecial The allowSpecial determines whether special characters are allowed in user passwords.
allowNumeric The allowNumeric specifies whether or not numeric characters are allowed in user passwords.

HTTP response

successfully Password Policy validated

[
 {
  "Validation Successful"
 }
]

Authnull Agent

Authnull Agent runs as a daemon on specifc instances and synchronizes users, groups from each endpoint. It has the functionality to actively discover user groups /manage passwords / perform password rotations / sshkey management asynchronously. The agent also discovers users/groups / passwords/ keys /delete user groups from SAAS platform and synchronizes back to the endpoint. The agent can be deployed using the Add Endpoint Section following the configuration file.

Installation Steps

(How to Install/ Download)

Helm install Endpoint Agent chart

Helm helps you manage Kubernetes applications — Helm Charts help you define, install, and upgrade even the most complex Kubernetes application.

Charts are easy to create, version, share, and publish

Install Helm with a package manager, or download a binary.

brew install helm

brew install helm

Once installed, unpack the helm binary and add it to your PATH and you are good to go! Check the docs for further installation and usage instructions.

Configuration File

(How to setup)

1.Now generate API key from authnull,after the generation of the API Key save the config file and restart the Endpoint Agent.

2.Register API triggers from agent

3.Send new Key API and periodically check new key from agent if there are any .

Add Machine Api

The Add Machine API is a software component that can be integrated into the Lums Agent to enable the addition of new machines to the system via an API call. This API allows external systems or scripts to programmatically add new machines to the Lums Agent, simplifying the process of onboarding new machines.

curl --location --request POST 'https://api.authnull.kloudlearn.com/api/v1/machine/add-machine' \
POST /api/v1/instances/add-instance HTTP/1.1
{
  "domainId": 1,
  "instanceName": "abc-xyz",
  "osId": 1,
  "publicIp": "192.168.1.1",
  "privateIp": "172.64.32.1",
}


Access Token

Authorization Key Required Required

HTTP Request

POST /api/v1/machine/add-machine HTTP/1.1

Query Parameter

Parameter Description
machineKey The machineKey is used to authenticate and uniquely identify a machine to be added to the Lums monitoring system.
osId The osId is used to specify the operating system of the machine being added to the agent.
publicIpAddress The publicIpAddress is used to specify the public IP address of the machine to be added to the Lums workspace.
privateIpAddress The privateIpAddress specifies the private IP address of the machine being added to the Lums platform.

HTTP Response

{
    "instanceId": "11",
    "code": "201",
    "message": "Success"
}

Maintenance

Endpoint Agents maintained by checking Privilige Status API, this happens periodically to check whether the users/groups priviliges are updatedor not.

AD Agent

The AD agent is a software component that enables the import of user groups from a connected active directory. Once installed and configured, the AD agent runs as a daemon process that continuously retrieves and updates user group information from the active directory.

To install the AD agent, follow the instructions provided in the Configuration file, which can be downloaded from the Add Directory module. The Configuration file contains all the necessary information and parameters required to install and configure the AD agent.

Once the AD agent is installed and running, the imported user groups will be listed under the Directory Users section of the application. These user groups can then be used to manage access to various resources and applications within the system.

It is important to ensure that the AD agent is properly configured and maintained to ensure accurate and up-to-date user group information. Regular monitoring and troubleshooting of the AD agent may be necessary to ensure its proper functioning.

Daemon

The daemon is the program that runs continuously in the background to synchronize user and group information to the AD proxy. The daemon may be designed to run on a dedicated server or workstation and can be configured to perform periodic checks or real-time synchronization between the source system (such as Active Directory) and the target system (such as the AD proxy).

Configuration File

  1. The windows server of 2012 and above is needed.

  2. You need access to window server to install okta Active Directory agent.

3.The agent host server must be a member of the same windows domain as your active directory.

  1. The windows server where the agent reside must be on at all time.

Save ActiveDirectory Configuration

curl POST "https://api.authnull.kloudlearn.com/api/v1/saveActiveDirectoryConfig"
POST api/v1/saveActiveDirectoryConfig HTTP/1.1
[
 {
    "directoryName":"xyz-xyz-xyz", 
    "accountName":"abc-abc-abc", 
    "appUrl":"www.kloudlearn.com", 
    "domainId":"1"
}
]

Active Directory is a directory service or container which stores data objects on your local network environment. The service records data on users, devices, applications, groups, and devices in a hierarchical structure. Active Directory enables users to log on to and manage a variety of resources from one location. Login credentials are unified so that it is easier to manage multiple devices without having to enter account details to access each individual machine.

Access Token

Authorization Key Required

HTTP Request

POST api/v1/saveActiveDirectoryConfig HTTP/1.1

Query Parameters

Parameter Description
directoryName The directoryName specifies the name of the directory where the configuration data will be saved.
appUrl The appUrl is used to specify the URL of the application that is integrated with the Active Directory.
accountName The accountName specifies the name of the Active Directory account being configured.
domainId This is the unique ID assigned by the registry to the domain.

HTTP response

ActiveDirectory Configure successfully saved

Restart the Agent

For Restart the agent what will happen is the installation will complete and all the api incluging the Active Directory will configure and import the group and the user to active directory of the AuthNull.

Import Users From LDIF

The Import Users API is a software component that can be integrated into the Active Directory API Communications module to enable the import of user data from external systems or sources. This API allows for the automation of user data management, simplifying the process of adding or updating user information in the Active Directory.

curl --location 'https://api.authnull.kloudlearn.com/api/v1/integrations/activeDirectory/importLdif' \
--form 'file=@"/C:/Users/HP/Downloads/sample.ldif"' \
--form 'fileName="paul.txt"' \
--form 'domainId="1"'
POST /api/v1/integrations/activeDirectory/importLdif HTTP/1.1
Multipart form data
file:
filename:
domainId:

Access Token

Authorization Key Required

HTTP Request

POST /api/v1/integrations/activeDirectory/importLdif HTTP/1.1

Query Parameters

Parameter Description
file The file specifies the path and filename of the LDIF file containing the user data to be imported.
filename The filename specifies the name of the LDIF file containing the user data to be imported into the Active Directory.
domainId The domainId specifies the identifier of the Active Directory domain where the users are imported.

HTTP response

Import Job Added to Queue

Active Directory API Communications

The Active Directory API Communications involves the use of APIs to synchronize user and group information between a SaaS platform and an Active Directory (AD) server. In this process, the AD APIs in Authnull, a middleware component, communicate with the agent to push the user and group information from the SaaS platform to the AD server.

The synchronization process begins with the AD APIs retrieving the user and group information from the SaaS platform. The APIs then communicate with the agent to push this information to the AD server. The agent acts as a bridge between the SaaS platform and the AD server, enabling secure communication and data transfer.

This synchronization process ensures that the user and group information in the AD server is up-to-date and reflects the latest changes made in the SaaS platform. It is useful for managing user access and permissions across multiple platforms and ensuring consistent security standards.

Overall, the Active Directory API Communications is an essential component of identity and access management in modern IT environments, providing seamless integration and secure communication between different systems.

Import Users

The Import Users API is a software component that can be integrated into the Active Directory API Communications module to enable the import of user data from external systems or sources. This API allows for the automation of user data management, simplifying the process of adding or updating user information in the Active Directory.

curl POST "https://api.authnull.kloudlearn.com/api/v1/importUsers"
POST api/v1/importUsers HTTP/1.1
[
{
    "ldapHost":"ldap.forumsys.com",
    "ldapPort":"389",
    "baseDN":"dc=example,dc=com",
    "filter":"(ou=italians)",
    "bindDN":"BindDN",
    "domainID":"91"
}
]

This will Import Users.

Access Token

Authorization Key Required

HTTP Request

POST api/v1/importUsers HTTP/1.1

Query Parameters

Parameter Description
ldapHost The ldapHost specifies the LDAP server hostname or IP address to connect to for importing user information.
ldapPort The ldapPort specifies the port number used for LDAP communication during the import process in Active Directory API Communications..
baseDN The baseDN specifies the base distinguished name for the search in which the imported users will be added..
filter The filter allows for specifying criteria to select specific user accounts for import..
bindDN The bindDN specifies the distinguished name of the user account used to authenticate and authorize the API request.
domainID The domainID specifies the identifier of the domain to which the users should be imported.

HTTP response

successfully Imported Users

Get Import Status

The Get Import Status API is a software component that can be integrated into the Active Directory API Communications module to enable the retrieval of import status information for user data imports. This API allows for the monitoring and tracking of user data imports, providing real-time status updates on the progress of import operations.

curl  POST "https://api.authnull.kloudlearn.com/api/v1/getImportStatus" 
POST api/v1/getImportStatus HTTP/1.1
[
{
    "DirectoryName":"ldap.forumsys.com"
}
]

This will Get Import Status.

Access Token

Authorization Key Required

HTTP Request

POST api/v1/getImportStatus HTTP/1.1

Query Parameters

Parameter Description
directoryName Name of the Directory.

HTTP response

Imported status successfully

Mapping API

The Mapping API is a software component that can be integrated into the Active Directory API Communications module to enable the mapping of user attributes between external systems and the Active Directory. This API allows for the customization of user attribute mapping, simplifying the process of managing user data across different systems.

Reconfigure Active Directory

The Reconfigure Active Directory API is a software component that can be used to update the configuration settings for the Active Directory API Communications module. This API allows for the customization and adjustment of the communication settings between the Active Directory and external systems.

curl POST "https://api.authnull.kloudlearn.com/api/v1/reConfigure" 
POST api/v1/reConfigure HTTP/1.1
[
FieldMappings: {

email "[email protected]",

slack: "JohnDoe",

username: "John",

department: "IT",

group: "groupA",

subgroup: "subgroupA",

roles: "admin",

location: "India",

region: "United States",

primaryApp: "kloudone",

fax: "1234567890"

}
]

This will reConfigure Active Directory.

Access Token

Authorization Key Required

HTTP Request

POST api/v1/reConfigure HTTP/1.1

Query Parameters

Parameter Description
groupID GrouId is the id of group.
fieldMappings FieldMappings is the mapping of the field.

HTTP response

successfully reConfigured Active Directory

Decentralized Identities

Decentralized identities (DIDs) are a type of digital identity that is not controlled by any central authority or organization. Instead, DIDs are created and managed by the individual user, giving them greater control and ownership over their personal data and online presence.

DIDs are typically based on blockchain technology, which provides a secure and transparent way to store and manage identity information. Each DID is assigned a unique identifier, which can be used to authenticate and verify the identity of the user in a variety of contexts, such as logging into websites, accessing financial services, or participating in online communities.

One of the key benefits of DIDs is that they allow individuals to maintain their privacy and control over their personal data. Instead of relying on centralized databases or third-party identity providers, DIDs are stored locally on the users device and can be selectively shared with others as needed. This enables users to share only the information that is necessary, without revealing unnecessary or sensitive details.

DIDs are also designed to be interoperable, meaning that they can be used across different platforms and applications. This enables users to maintain a consistent identity across different services, without having to create and manage multiple accounts or identities.

Overall, DIDs represent a promising new approach to digital identity management that prioritizes user control and privacy. As the technology continues to evolve, it has the potential to transform the way that individuals interact with the digital world, enabling greater security, privacy, and trust in online interactions.

Create DID for Issuer

Verifiable credentials are a form of digital identity that allows individuals and organizations to securely and selectively share information about themselves. By creating an Issuer DID, an entity can establish a trusted identity on a decentralized network, and issue verifiable credentials that can be cryptographically verified by third parties.

https://api.did.kloudlearn.com/api/v1/did/createIssuerDid
curl --location --request POST 'https://api.did.kloudlearn.com/api/v1/did/createIssuerDid'  </span>
--header 'Content-Type: application/json' </span>
--data '{
  "domainId": 1,
  "method": "key",
  "name": "Broadcom R&D",
  "description": "R&D department of Broadcom"
}'
{
  "domainId": 1,
  "method": "key",
  "name": "Broadcom R&D",
  "description": "R&D department of Broadcom"
}

Access Token

Authorization Key Required

HTTP Request

https://api.did.kloudlearn.com/api/v1/did/createIssuerDid

Query Parameters

Parameter Description
method This refers to the specific DID method that will be used to create the DID. A DID method is a set of rules and specifications that govern how a DID is created, stored, and used. There are many different DID methods available, each with its own unique features and requirements.
domainId This refers to the company or organization who is using the service.
description The description allows developers to provide additional information and context about the data being shared or requested within a decentralized identity ecosystem.

{
  "id": "did:key:z6MkkHNepDyi2FYcNAwAHaujXaPFZG8dAzUFPJvneySxmXAK",
  "code": 200,
  "message": "Successfully created DID",
  "status": "Success"
}

HTTP Response

Successfully created DID

Create DID for Holder

A Holder DID is a Decentralized Identifier (DID) that is used by an user to store and control their own verifiable credentials.

curl --location --request POST 'https://api.did.kloudlearn.com/api/v1/did/createHolderDid'  </span>
--header 'Content-Type: application/json' </span>
--data '{
  "method": "brcm",
  "domainId": 1 ,
  "walletUserId" : 104,
  "issuerId" : 126,
  "name":"Hema",
  "description":"This is a backend Test"
}'
POST /api/v1/did/createHolderDid HTTP/1.1
{
  "method": "brcm",
  "domainId": 1 ,
  "walletUserId" : 104,
  "issuerId" : 126,
  "name":"Hema",
  "description":"This is a backend Test"
}

Access Token

Authorization Key Required

HTTP Request

POST /api/v1/did/createHolderDid HTTP/1.1

Query Parameters

Parameter Description
method This refers to the specific DID method that will be used to create the DID. A DID method is a set of rules and specifications that govern how a DID is created, stored, and used. There are many different DID methods available, each with its own unique features and requirements.
domainId This refers to the company or organization which the user is part of.
walletUserId This refers to the unique ID of the user.
issuerDid The issuerDid is a required field used to identify the decentralized identity issuer and verify the authenticity of the credentials associated with the identity.
name The name is used to specify a user-friendly name or label for the decentralized identity credentials, making them easier to manage and identify.
description The description allows developers to provide additional information and context about the data being shared or requested within a decentralized identity ecosystem.

{
  "id": "did:key:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
  "code": 200,
  "message": "Successfully created DID",
  "status": "Success"
}

HTTP Response

Successfully created DID

DID List

The DID List API in Decentralized Identities (DIDs) enables users to access and retrieve a list of available Decentralized Identifiers (DIDs) registered on a decentralized network. The API allows users to search and filter the list based on their specific needs and requirements, providing them with a way to discover and connect with other participants in the decentralized identity ecosystem.

POST /api/v1/did/DIDList HTTP/1.1
curl --location --request POST 'https://api.did.kloudlearn.com/api/v1/did/DIDList' </span>
--header 'Content-Type: application/json' </span>
--data '{
  "domainId": 1,
  "issuerId": 2,
  "userId": 104
}'
{
  "domainId": 1,
  "issuerId": 2,
  "userId": 104
}

Access Token

Authorization Key Required

HTTP Request

POST /api/v1/did/DIDList HTTP/1.1

Query Parameters

Parameter Description
domainId This refers to the company or organization who is using the service.
issuerDID The issuerDid is a required field used to identify the decentralized identity issuer and verify the authenticity of the credentials associated with the identity.
userId The userId specifies the unique identifier associated with a user, enabling secure authentication and authorization of data exchange and access within a decentralized identity ecosystem.
[
    {
        "DIDType": "Issuer",
        "domainId": 1,
        "did": "did:brcm:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
        "issuerName": "Broadcom",
        "credentialIssued": 1,
        "desc": "This a issuer DID",
        "lastYpdatedAt": "02-12-2023 12:12:12"
    },
    {
        "DIDType": "User",
        "domainId": 1,
        "did": "did:brcm:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
        "issuerName": "Broadcom",
        "credentialIssued": 1,
        "desc": "This a User DID",
        "lastYpdatedAt": "02-12-2023 12:12:12"
    },
    {
        "DIDType": "User",
        "domainId": 1,
        "did": "did:brcm:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
        "issuerName": "Broadcom",
        "credentialIssued": 1,
        "desc": "This a User DID",
        "lastYpdatedAt": "02-12-2023 12:12:12"
    },
    {
        "DIDType": "User",
        "domainId": 1,
        "did": "did:brcm:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
        "issuerName": "Broadcom",
        "credentialIssued": 1,
        "desc": "This a User DID",
        "lastYpdatedAt": "02-12-2023 12:12:12"
    }
  ]

HTTP Response

Successfully Listed DID

Search DID

The SEARCH DID API is an API (Application Programming Interface) used in decentralized identities to search for and retrieve information about a specific DID (Decentralized Identifier) on a given network or ledger.

The SEARCH DID API allows developers to query a specific network or ledger to find information related to a specific DID. This can include information such as public keys, service endpoints, and other metadata associated with the DID.

curl --location --request POST 'https://api.did.kloudlearn.com/api/v1/did/SearchDID' </span>
--header 'Content-Type: application/json' </span>
--data '{
  "name":"hema",
  "didType":"ISSUER",
  "pageNumber":1,
  "pageSize":10
}'
POST https://api.did.kloudlearn.com/api/v1/did/SearchDID HTTP/1.1
{
  "name":"hema",
  "didType":"ISSUER",
  "pageNumber":1,
  "pageSize":10
}

Access Token

Authorization Key Required

HTTP Request

POST https://api.did.kloudlearn.com/api/v1/did/SearchDID HTTP/1.1

Query Parameters

Parameter Description
name The name is used to specify a user-friendly name or label for the decentralized identity credentials, making them easier to manage and identify.
didType The didType parameter in search DID API specifies the type of Decentralized Identifier (DID) that should be searched for.
pageNumber The pageNumber is used to specify the page number of results to retrieve when querying for DIDs.
pageSize The pageSize specifies the number of search results to be returned per page.

{
  "count": 1,
  "didList": [
    {
      "didType": "Issuer",
      "domainId": 1,
      "did": "did:key:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
      "issuerName": "hema",
      "credentialIssued": 1,
      "desc": "test",
      "lastUpdatedAt": "02-12-2023 12:12:12"
    }
  ]
}

HTTP Response

API found successfully

Delete DID

The DELETE DID API is used to delete a decentralized identifier (DID) and its associated data from the underlying decentralized ledger, which can be useful in scenarios such as revoking a users access or deleting outdated information.

curl --location --request DELETE 'https://api.did.kloudlearn.com/api/v1/did/deleteDid' </span>
--header 'Content-Type: application/json' </span>
--data '{
  "domainId": 1,
  "dids": [
    {
      "type": "Issuer",
      "did": "did:key:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    } ,
    {
      "type": "User",
      "did": "did:brcm:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    }
  ]
}'
DELETE https://api.did.kloudlearn.com/api/v1/did/deleteDid HTTP/1.1
{
  "domainId": 1,
  "dids": [
    {
      "type": "Issuer",
      "did": "did:key:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    } ,
    {
      "type": "User",
      "did": "did:brcm:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    }
  ]
}

Access Token

Authorization Key Required

HTTP Request

DELETE https://api.did.kloudlearn.com/api/v1/did/deleteDid HTTP/1.1

Query Parameters

Parameter Description
domainId This refers to the company or organization which the user is part of.
dids The did specifies the unique decentralized identifier associated with a decentralized identity, allowing for authentication and authorization of data exchange and access within a decentralized identity ecosystem.
type The type specifies the type of data being shared or requested within a decentralized identity ecosystem, such as a public key or verifiable credential.
{
  "code": 200,
  "message": "2 DIDs deleted successfully",
  "status": "Success"
}

HTTP Response

DIDs deleted successfully

Create Schema

The Create Schema API in Decentralized Identities (DIDs) enables issuers to create and manage a list of verifiable credential schemas that can be used to define the structure and rules for different types of credentials. The API allows issuers to define the attributes and format of each schema, and publish the list to a decentralized network, making it available for use by other participants in the ecosystem

curl --location --request POST 'https://api.did.kloudlearn.com/api/v1/schema/createSchema' </span>
--header 'Content-Type: application/json' </span>
--data '{
  "author": "did:key:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", 
  "name": "EPM User",
  "schema": {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "description": "EPM User Schema",
    "type": "object",
    "properties": {
      "userId": {
        "type": "number"
      },
      "name": {
        "type": "string"
      }
    },
    "additionalProperties": false
  },
  "sign": false
}
'
POST /api/v1/schema/createSchema HTTP/1.1
{
  "author": "did:key:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", 
  "name": "EPM User",
  "schema": {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "description": "EPM User Schema",
    "type": "object",
    "properties": {
      "userId": {
        "type": "number"
      },
      "name": {
        "type": "string"
      }
    },
    "additionalProperties": false
  },
  "sign": false
}

Access Token

Authorization Key Required

HTTP Request

POST /api/v1/schema/createSchema HTTP/1.1

Query Parameters

Parameter Description
author The author is used to identify the entity or individual who created the decentralized identity credentials or the verifiable presentation request.
name The name is used to specify a user-friendly name or label for the decentralized identity credentials, making them easier to manage and identify.
schema The schema is a required field used to define the data structure and format of the verifiable credential or presentation, ensuring interoperability and standardization across different identity systems.
description The description allows developers to provide additional information and context about the data being shared or requested within a decentralized identity ecosystem.
type The type specifies the type of data being shared or requested within a decentralized identity ecosystem, such as a public key or verifiable credential.
properties The properties allows developers to define additional metadata or attributes about the data being shared or requested within a decentralized identity ecosystem, such as the issuer or expiration date of a verifiable credential.
userId The userId specifies the unique identifier associated with a decentralized identity and is typically used to authenticate and authorize access to specific resources or data.
additionalProperties The additionalProperties allows developers to define custom or non-standard properties and values for the data being shared or requested within a decentralized identity ecosystem.
sign The sign is used to sign data with a private key associated with a decentralized identity, providing proof of ownership and enabling secure data exchange within a decentralized identity ecosystem.

{
    "id": "d97534d3-260c-4341-b578-e033dcf3bb99",
    "Schema": {
        "type": "https://w3c-ccg.github.io/vc-json-schemas/schema/2.0/schema.json",
        "version": "1.0",
        "id": "d97534d3-260c-4341-b578-e033dcf3bb99",
        "name": "EPM User",
        "author": "did:key:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
        "authored": "2023-02-28T15:34:42Z",
        "Schema": {
            "$id": "d97534d3-260c-4341-b578-e033dcf3bb99",
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "additionalProperties": false,
            "description": "EPM User Schema",
            "properties": {
                "name": {
                    "type": "string"
                },
                "userId": {
                    "type": "number"
                }
            },
            "type": "object"
        }
    }
}

HTTP Response

Schema List created

Credential Schema List

The Credential Schema List API in Decentralized Identities (DIDs) enables users to access and retrieve a list of available verifiable credential schemas published on a decentralized network. The API allows users to search and filter the list based on their specific needs and requirements, enabling them to create and manage verifiable credentials in a secure, transparent, and interoperable manner.

curl --location --request POST 'https://api.did.kloudlearn.com/api/v1/credential' </span>
--header 'Content-Type: application/json' </span>
--data '{
   "domainId": 1,
   "issuerDid": "did:brcm:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}
'
POST /api/v1/credential/credentialSchemaList HTTP/1.1
{
   "domainId": 1,
   "issuerDid": "did:brcm:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}

Access Token

Authorization Key Required

HTTP Request

POST /api/v1/credential/credentialSchemaList HTTP/1.1

Query Parameters

Parameter Description
domainId This refers to the company or organization which the user is part of.
issuerDID The issuerDid is a required field used to identify the decentralized identity issuer and verify the authenticity of the credentials associated with the identity.

[
    {
        "id": 1,
        "name": "SSH"
    }
]

HTTP Response

Credential Schema Listed

Create Verifiable Credential

Verifiable Credentials (VCs) are digital credentials that contain information about a person or entity, which can be verified by others. A Decentralized Identifier (DID) is a unique identifier that allows individuals or organizations to control their own digital identity. Combining these two technologies, a Verifiable Credential DID is a digital credential that is associated with a DID, allowing for secure and decentralized verification of the credentials authenticity and ownership

curl --location --request POST 'https://api.authnull.kloudlearn.com/api/v1/issueVerifiableCredential'  </span>
--header 'Content-Type: application/json' </span>
--data '{
    "domainId" : 1,
    "issuerDid" : "did:key:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    "holderDid": "did:key:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    "schemaId" : 1,
    "credentialName": "EPM User",
    "metadata":{
        "epmUsername": "john",
            "epmPassword": "xxx",
            "holderDID": "did:key:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
            "holderId": 1
    },
    "expiry": "2024-01-01T00:00:00Z"
}'
POST /api/v1/credential/createCredential HTTP/1.1
{
    "domainId" : 1,
    "issuerDid" : "did:key:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    "holderDid": "did:key:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    "schemaId" : 1,
    "credentialName": "EPM User",
    "metadata":{
        "epmUsername": "john",
            "epmPassword": "xxx",
            "holderDID": "did:key:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
            "holderId": 1
    },
    "expiry": "2024-01-01T00:00:00Z"
}

Access Token

Authorization Key Required

HTTP Request

POST /api/v1/credential/createCredential HTTP/1.1

Query Parameters

Parameter Description
domainId This refers to the company or organization who is issuing the VC or Verifiable Credential.
issuerDid The issuerDid is a required field used to identify the decentralized identity issuer and verify the authenticity of the credentials associated with the identity.
holderDid The holderDid is a required field used to identify the holder of the decentralized identity credentials being used for authentication or authorization purposes.
schemaId It refers to the schema used to create the verifiable credential.
metadata These are the set of properties or claims.
 {
    "code": 200,
    "message": "Credential Assigned successfully",
    "status": "SUCCESS"
}

HTTP Response

Credential Assigned successfully

Assign Credential to wallet

The Assign Credential to Wallet API in Decentralized Identities (DIDs) enables users to securely store and manage their verifiable credentials in a decentralized wallet. This API allows users to request, receive and store verifiable credentials issued by trusted issuers, providing them with greater control and ownership over their personal data.

curl --location 'https://api.did.kloudlearn.com/api/v1/walletService/assignWalletUser' </span>
--header 'Content-Type: application/json' </span>
--data '{
  "walletId":[1,3],
  "userId": [104.105],
  "credentialId": [10]
}'
POST /api/v1/walletService/assignWalletUser HTTP/1.1
{
  "walletId":[1,3],
  "userId": [104.105],
  "credentialId": [10]
}

Access Token

Authorization Key Required

HTTP Request

POST /api/v1/walletService/assignWalletUser HTTP/1.1

Query Parameters

Parameter Description
walletId The walletId is an optional field used to specify the unique identifier of the digital wallet containing the users decentralized identity credentials.
userId The userId specifies the unique identifier associated with a decentralized identity and is typically used to authenticate and authorize access to specific resources or data.
credentialId The credentialId specifies the unique identifier associated with a verifiable credential, allowing for easy retrieval and management of verifiable credentials within a decentralized identity ecosystem.

{
    "code": 200,
    "message": "Successfully Assigned Wallet",
    "status": "Success"
}

HTTP Response

Presentation Request raised Successfully

Poll Presentation Request

The acknowledge credential API is an essential component of decentralized identity (DID) systems. It is a programming interface that enables a user to acknowledge or verify a digital credential issued by another party.This API is critical in ensuring the integrity and trustworthiness of digital credentials, as it enables users to verify the authenticity and validity of a credential before accepting it. Moreover, it provides users with control over their personal information by allowing them to disclose only the information necessary to prove their qualifications or identity.

curl --location --request POST 'https://api.did.kloudlearn.com/api/v1/walletService/pollPresentationRequest' </span>
--header 'Content-Type: application/json' </span>
--data '{
  "walletId": 1,
  "walletKey": "xxxxxx",
  "holderDid": "did:key:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}'
POST api/v1/walletService/pollPresentationRequest HTTP/1.1
{
  "walletId": 1,
  "walletKey": "xxxxx",
  "holderDid": "did:key:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}

Access Token

Authorization Key Required

HTTP Request

POST https://api.authnull.kloudlearn.com/api/v1/walletService/pollPresentationRequest HTTP/1.1

Query Parameters

Parameter Description
walletId The walletId parameter in the API of Decentralized Identities refers to the unique identifier of a digital wallet that holds a users decentralized identities, verifiable credentials, and other related data.
walletKey The walletKey is a private key used to sign and authenticate DID transactions and operations within a decentralized network.
holderDid The holderDid is a required field used to identify the holder of the decentralized identity credentials being used for authentication or authorization purposes.
{
  "id": "e8ffeca4-62e0-47e0-8751-4fa353b8f139",
  "input_descriptors": [
    {
      "id": "epmUser",
      "name": "EPM User Verifiable Credential",
      "purpose": "The EPM User VC allows to access to Linux Endpoints.",
      "format": {
        "jwt_vc": {
          "alg": [
            "EdDSA"
          ]
        }
      },
      "constraints": {
        "fields": [
          {
            "id": "epmUsername",
            "path": [
              "$.credentialSubject.epmUsername"
            ]
          },
          {
            "id": "epmPassword",
            "path": [
              "$.credentialSubject.epmPassword"
            ]
          },
          {
            "id": "holderDID",
            "path": [
              "$.credentialSubject.holderDID"
            ]
          },
          {
            "id": "holderId",
            "path": [
              "$.credentialSubject.holderId"
            ]
          }
        ]
      }
    }
  ]
}

HTTP Response

Credential Accepted

Submit Presentation Response

The Submit Presentation Response API in Decentralized Identities (DIDs) enables holders to respond to presentation requests from verifiers by submitting a verifiable presentation that meets the requested criteria. The API allows holders to selectively disclose only the information that is necessary, while maintaining control and ownership over their personal data.

curl POST https://api.did.kloudlearn.com/api/v1/walletService/submitPresentation
POST https://api.did.kloudlearn.com/api/v1/walletService/submitPresentation HTTP/1.1
{
  "walletId": 79,
  "holderDid": "did:key:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
  "presentationRequestId": 64,
  "presentation": {
    "@context": [
      "https://www.w3.org/2018/credentials/v1"
    ],
    "credentialSchema": {
      "id": "d31ce42d-dffc-4178-93bd-838757d3df5d",
      "type": "JsonSchemaValidator2018"
    },
    "credentialSubject": {
      "epmPassword": "xxxxxx",
      "epmUsername": "muthu",
      "holderDID": "did:key:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
      "holderId": "1",
      "id": "did:key:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    },
    "expirationDate": "2028-12-12T00:00:00Z",
    "id": "f8e394c8-e6b8-4a68-a452-9e36a2879c8a",
    "issuanceDate": "2023-03-01T08:38:17Z",
    "issuer": "did:key:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    "type": [
      "VerifiableCredential"
    ],
    "proof": {
      "type": "Ed25519Signature2018",
      "created": "2020-02-03T17:23:49Z",
      "jws": "eyJhbGciOiJFZERTQSIsImI2NCI6ZmFsc2UsImNyaXQiOlsiYjY0Il19..AUQ3AJ23WM5vMOWNtYKuqZBekRAOUibOMH9XuvOd39my1sO-X9R4QyAXLD2ospssLvIuwmQVhJa-F0xMOnkvBg",
      "proofPurpose": "assertionMethod",
      "verificationMethod": "https://example.edu/issuers/keys/1"
    }
  }
}

Access Token

Authorization Key Required

HTTP Request

POST https://api.did.kloudlearn.com/api/v1/walletService/submitPresentation HTTP/1.1

Query Parameters

Parameter Description
walletId The walletId is an optional field used to specify the unique identifier of the digital wallet containing the users decentralized identity credentials.
presentationRequestId The presentationRequestId is a required field used to identify the request for a verifiable credential presentation, allowing the holder of the credential to provide the necessary proof of identity for authentication or authorization purposes.
presentation The presentation is used to specify the verifiable credential presentation data in a serialized format, which can be used to verify the authenticity and validity of the presented credentials.
holderDID The holderDid is a required field used to identify the holder of the decentralized identity credentials being used for authentication or authorization purposes.
type The type specifies the type of data being shared or requested within a decentralized identity ecosystem, such as a public key or verifiable credential.
id The id specifies the unique identifier associated with a decentralized identity and is typically used to authenticate and authorize access to specific resources or data.
{
  "code": 200,
  "status": "Success",
  "message": "Successfully submitted presentation"
}

HTTP Response

Successfully submitted presentation

Create Schema List

The Create Schema List API in Decentralized Identities (DIDs) enables issuers to create and manage a list of verifiable credential schemas that can be used to define the structure and rules for different types of credentials. The API allows issuers to define the attributes and format of each schema, and publish the list to a decentralized network, making it available for use by other participants in the ecosystem

curl --location --request POST 'https://api.did.kloudlearn.com/api/v1/schema/createSchema
POST /api/v1/schema/createSchema HTTP/1.1
{
  "author": "did:key:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", 
  "name": "EPM User",
  "schema": {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "description": "EPM User Schema",
    "type": "object",
    "properties": {
      "userId": {
        "type": "number"
      },
      "name": {
        "type": "string"
      }
    },
    "additionalProperties": false
  },
  "sign": false
}

Access Token

Authorization Key Required

HTTP Request

POST /api/v1/schema/createSchema HTTP/1.1

Query Parameters

Parameter Description
author The author is used to identify the entity or individual who created the decentralized identity credentials or the verifiable presentation request.
name The name is used to specify a user-friendly name or label for the decentralized identity credentials, making them easier to manage and identify.
schema The schema is a required field used to define the data structure and format of the verifiable credential or presentation, ensuring interoperability and standardization across different identity systems.
description The description allows developers to provide additional information and context about the data being shared or requested within a decentralized identity ecosystem.
type The type specifies the type of data being shared or requested within a decentralized identity ecosystem, such as a public key or verifiable credential.
properties The properties allows developers to define additional metadata or attributes about the data being shared or requested within a decentralized identity ecosystem, such as the issuer or expiration date of a verifiable credential.
userId The userId specifies the unique identifier associated with a decentralized identity and is typically used to authenticate and authorize access to specific resources or data.
additionalProperties The additionalProperties allows developers to define custom or non-standard properties and values for the data being shared or requested within a decentralized identity ecosystem.
sign The sign is used to sign data with a private key associated with a decentralized identity, providing proof of ownership and enabling secure data exchange within a decentralized identity ecosystem.

{
    "id": "d97534d3-260c-4341-b578-e033dcf3bb99",
    "Schema": {
        "type": "https://w3c-ccg.github.io/vc-json-schemas/schema/2.0/schema.json",
        "version": "1.0",
        "id": "d97534d3-260c-4341-b578-e033dcf3bb99",
        "name": "EPM User",
        "author": "did:key:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
        "authored": "2023-02-28T15:34:42Z",
        "Schema": {
            "$id": "d97534d3-260c-4341-b578-e033dcf3bb99",
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "additionalProperties": false,
            "description": "EPM User Schema",
            "properties": {
                "name": {
                    "type": "string"
                },
                "userId": {
                    "type": "number"
                }
            },
            "type": "object"
        }
    }
}

HTTP Response

Schema List created

Issue Presentation Request

The Issue Presentation Request API in Decentralized Identities (DIDs) enables verifiers to request specific verifiable credentials from holders in a secure and decentralized manner. The API allows verifiers to specify the attributes they require and issue a presentation request to the holder, who can then choose which credentials to present without revealing unnecessary or sensitive information.

curl POST https://api.did.kloudlearn.com/api/v1/verifierService/issuePR
POST /api/v1/verifierService/issuePR HTTP/1.1
{
    "username": "john",
    "issuerDid": "did:key:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    "holderDid": "did:key:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    "walletUrl": "http://authnull.com/walletservice/wallets/1",
    "endpoint": "sisAdmin",
    "grouop": "R&D"
}

Access Token

Authorization Key Required

HTTP Request

POST /api/v1/verifierService/issuePR HTTP/1.1

Query Parameters

Parameter Description
username The username is an optional field used to associate a user-friendly identifier with a decentralized identity, making it easier for users to manage their digital identities.
issuerDid The issuerDid is a required field used to identify the decentralized identity issuer and verify the authenticity of the credentials associated with the identity.
holderDid The holderDid is a required field used to identify the holder of the decentralized identity credentials being used for authentication or authorization purposes.
walletUrl The walletUrl is an optional field used to specify the URL location of the digital wallet containing the users decentralized identity credentials.
endpoint The endpoint is a required field used to specify the network endpoint for communicating with the decentralized identity infrastructure.
groupop The groupop is an optional field used to specify the group operation to be performed, such as creating a new group or adding/removing members from an existing group.

{
    prs: [{
    "prId": ,
    "walletId": ,
    "holderDid": ,
    },{
    :"prId": ,
    "walletId": ,
    "holderDid": ,
    }]
    "message":"PRs submitted successfully",
    "status": "Success",
    "code": 200,
}

HTTP Response

Presentation Request raised Successfully

Poll Credentials

The Credential Schema List API in Decentralized Identities (DIDs) enables users to access and retrieve a list of available verifiable credential schemas published on a decentralized network. The API allows users to search and filter the list based on their specific needs and requirements, enabling them to create and manage verifiable credentials in a secure, transparent, and interoperable manner.

curl --location --request POST 'https://api/v1/walletService/pollCredentials' </span>
--header 'Content-Type: application/json' </span>
--data '{
  "email": "[email protected]",
  "walletKey": "xxx-xxx-xxx-xxx"
}
'
POST /api/v1/walletService/pollCredentials HTTP/1.1
{
  "email": "[email protected]",
  "walletKey": "xxx-xxx-xxx-xxx"
}

Access Token

Authorization Key Required

HTTP Request

POST /api/v1/walletService/pollCredentials HTTP/1.1

Query Parameters

Parameter Description
email The email refers to the email address associated with a decentralized identity, which can be used to verify and authenticate a users identity across various services and platforms.
walletKey The walletKey parameter in API of Decentralized Identities (DIDs) is a private key used to sign and authenticate DID transactions and operations within a decentralized network.

{
  "code": 200,
  "status": "success",
  "message": "Retrived Credential Sucessfully",
  "email": "[email protected]",
  "walletKey": "xxx-xxx-xxx-xxx",
  "credentials": [
    {
      "credentialId": 99,
      "credentialName": "Credential",
      "issuerName": "Broadcom",
      "issuerDid": "did:key:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
      "userDid": "did:key:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
      "jwt": "FWHQGjstawCugyKQPI0Q3QdSkEGJ3UIMydMnnjDxflAa+iNm+UyvqOf8ALMCby2OZ5HeC9Msh8uciNpzCXOeB5HxaXl1ZU3+I00oRqli+nwMRNUOj4ks8qaXXj5hpvMl2TwuX5MfBNYCeULHRz1HtV77Cn60ofzwVtZoI1so5X5c/xhalvnfqWansnswR1fC3ZNcXHRpY0Mm97PLUoCcVl6wuy3e8fmJGN2JvgvP2bRVubfqtDxLuDKnyJ6TwOZCIle8Lbmmfr2wXN8CfxxRlsuGdFHQ75Mhjbhe9H0ABmFClDgnJj4FaU2kTfpJTK5sBUgEekIxw2R4vCu8leeT0PI+UR68jARt6A2Tz3b1yfe1BDm8bU/8tRUd1RBTMELo4jheO2Eo37JJvEDCTT8YGALfkWGpdUYmrhe6RxgCGklE54oisdUOxNuP/U2yU7B72lbiqa6KDiYPUK4s+HfYui0yghdHwNuaFDfePh18na68ztMlfkspLP/jCcWn+vYlN5IQwesXXO0cg5qRSsxMVwvvBrnAQf98vU9yiZK5Ls324KduHCaDS44jy8yLCeMrPTOnypA/khQ0NY7jqvdhJ/XjSCnVJdzNuVkvcirZI64hofnZ4LfVJuNcH2qgjoEJ9vIHdyxodZf1iaXs1yTffUC6h64AViFijBDJPcY2BCGyv+IQgGeqkCRN6nEEWn5304/+7UD8/onG541NYMPmlmDSezKk7JH+8ju61O7NXMAh9vur4tGcjs2/iHDcMTdn80lkIy9mVEXJ8rtH9IbXXNGI11o0+lwHvSUE9D7WaLA0DMgMSXQFasT1GraesYpBm6eu1+TlRYtNTtXxXjD8+F1tbiwQzZ2KXFQtcvwTcLREZM3ZhqgnvNXFJ5XOorSYgl8v8wMGTj3c6P0PlaNfLQOz3O5pvfBn9+abK3xp66n84gpxVxZMcX0CE1fBilJ3vmsoXpN5tUcGjBacP/HIxN8/N1IY6QZw4RIgXq1pCSABHJZjQvMNpp0ghUnX7Nc3w83T01qyJZbkg0YKUivdiG8rniNCzzpHchNR16UkesiKm7IIXexlKI5LXK8FuFN6IqGF5gUvMceYCH6ZGWcQW2nYJH6Upw0DV3CUTIP3eQpSN8jzwJOZtDRXh1WseM/f7guV/2F0g96c2Y1XRp+VGKqbeVQsQPVaZCHLrWH38+nBNh92WwOIHXqVFWNY+g43BKenTjI0d/Neo2jmJeRxefPuSHWpzYQOEjSha3cB5g3DOKrGSQNePFrDd/l3KMPfaR6YWI043tP7k/jLdgJOA8nhRIQA9aUClpahOQJ96Auc0mSVcNpKlB+m4xPgxGWEs6ZXuZpNcEnX5M9BoTQ1Gq4iaJ33f8PzG6iCqyPzV9rh6ALzsIaZ4o1C/scLaGD1zSaSNQZH2HAB0Kxuf67vHgnpajNrzBB7TZLSz/ah23zLohTeHfE1I757WluxGbJGNkSEqe0v75sX5RtlZn8SvEZeL+EEf/A3p8HmITnA39cemeBnD6zoQtrmY87/XFDlPf7RJZD6vz8dCah90rCI21vt07KnTKSNuTESkiCedv91bYW+ZBABSFJGA6tc1NhMkmusAqrePqaDWX/7fLcicl5Yzn48G7g0nDsUMdxkmGOAhCgIY07Z+RMa2woFiTRBnSe5arGGxH2wwkWfmHg3MUu+iZDtWOtABHX0xpLA2TXRLarOnXR6hhp69fKTlg78rF6j3FW//8Rh6fEGMKoRRV/4kI+nP9nkTZbux8kKL5goJ5GlcZ0WQ83ESUqivi50n8PnxtP/l3FPj94bIuJI3RMQM3GefNrkZw==",
      "createdAt": "2023-03-03T06:23:31Z"
    }
  ]
}

HTTP Response

Credential Schema Listed

Acknowledge Credential

The acknowledge credential API is an essential component of decentralized identity (DID) systems. It is a programming interface that enables a user to acknowledge or verify a digital credential issued by another party.This API is critical in ensuring the integrity and trustworthiness of digital credentials, as it enables users to verify the authenticity and validity of a credential before accepting it. Moreover, it provides users with control over their personal information by allowing them to disclose only the information necessary to prove their qualifications or identity.

curl --location --request POST 'https://api.did.kloudlearn.com/api/v1/walletService/acknowledgeCredential' </span>
--header 'Content-Type: application/json' </span>
--data '{
  "walletId": 1,
  "userId": 104,
  "credentialId": 10,
  "accept": true
}'
POST /api/v1/walletService/acknowledgeCredential HTTP/1.1
{
  "walletId": 1,
  "userId": 104,
  "credentialId": 10,
  "accept": true
}

Access Token

Authorization Key Required

HTTP Request

POST https://api.authnull.kloudlearn.com/api/v1/walletService/acknowledgeCredential HTTP/1.1

Query Parameters

Parameter Description
walletId The walletId parameter in the API of Decentralized Identities refers to the unique identifier of a digital wallet that holds a users decentralized identities, verifiable credentials, and other related data.
userId The userId specifies the unique identifier associated with a user, enabling secure authentication and authorization of data exchange and access within a decentralized identity ecosystem.
credentialId The credentialId specifies the unique identifier associated with a verifiable credential, allowing for easy retrieval and management of verifiable credentials within a decentralized identity ecosystem.
accept The accept is used to indicate the acceptance of a credential presented by the holder.
{
  "code": 200,
  "status": "Success",
  "message": "Credential Accepted"
}

HTTP Response

Credential Accepted

Revoke Credential

The Revoke Credential API in Decentralized Identities (DIDs) enables issuers to revoke previously issued verifiable credentials in a secure and decentralized manner. The API allows issuers to specify the reason for revocation and publish the revocation status to the decentralized network, ensuring that the revoked credential can no longer be used or presented by the holder.

curl --location --request POST 'https://api.did.kloudlearn.com/api/v1/credential/revokecredential' </span>
--header 'Content-Type: application/json' </span>
--data '{
  "vcid": 2,
  "domainId": 2,
  "issuerDid": "did:brcm:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
  "holderDid": "did:brcm:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}'
POST /api/v1/credential/revokecredential HTTP/1.1
{
  "vcid": 2,
  "domainId": 2,
  "issuerDid": "did:brcm:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
  "holderDid": "did:brcm:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}

Access Token

Authorization Key Required

HTTP Request

POST https://api.authnull.kloudlearn.com/api/v1/presentationRequest HTTP/1.1

Query Parameters

Parameter Description
vcid The vcid specifies the unique identifier associated with a verifiable credential, allowing for easy retrieval and management of verifiable credentials within a decentralized identity ecosystem.
domainId This refers to the company or organization which the user is part of.
issuerDid The issuerDid is a required field used to identify the decentralized identity issuer and verify the authenticity of the credentials associated with the identity.
holderDid The holderDid is a required field used to identify the holder of the decentralized identity credentials being used for authentication or authorization purposes.
{
    "Message": "Credential Revoked successfully",
    "Code": 200,
    "Status": "Success"
}

HTTP Response

Credential Revoked successfully

Credential List

The Credential List API in Decentralized Identities (DIDs) enables users to access and retrieve a list of available verifiable credentials issued to them or stored in their decentralized wallet. The API allows users to search and filter the list based on their specific needs and requirements, providing them with greater control and ownership over their personal data.

curl --location --request POST 'https://api.did.kloudlearn.com/api/v1/credential/credentialList' </span>
--header 'Content-Type: application/json' </span>
--data '{
   "domainId": 1
}'
POST /api/v1/credential/credentialList HTTP/1.1
{
   "domainId": 1
}

Access Token

Authorization Key Required

HTTP Request

POST /api/v1/credential/credentialList HTTP/1.1

Query Parameters

Parameter Description
domainId This refers to the company or organization which the user is part of.
{
    "code": 200,
    "message": "Credential List Success",
    "status": "Success",
    "domainId": 1,
    "credentials": [
        {
            "id": 1,
            "issuerId": 1,
            "schemaId": 1,
            "credentialId": "1",
            "name": "core item",
            "status": "ACTIVE"
        },
        {
            "id": 2,
            "issuerId": 0,
            "schemaId": 2,
            "credentialId": "a74d273c-632e-4830-9d7f-4408f2ea447f",
            "name": "Credential",
            "status": "Assigned"
        },
        {
            "id": 3,
            "issuerId": 0,
            "schemaId": 2,
            "credentialId": "62e78e9b-ac26-4216-a8d9-de400d06a9a6",
            "name": "Credential",
            "status": "Assigned"
        },
        {
            "id": 4,
            "issuerId": 29,
            "schemaId": 2,
            "credentialId": "83567dad-8920-4b1d-bfa0-67082f95b0b5",
            "name": "Credential",
            "status": "Assigned"
        },
        {
            "id": 5,
            "issuerId": 29,
            "schemaId": 2,
            "credentialId": "1a96a91a-209d-47bd-88f6-f4e3f3a121be",
            "name": "Credential",
            "status": "Assigned"
        }
    ]
}

HTTP Response

succesfully Credential Listed

Get Assigned Credential

The Assigned Credential API is a feature of decentralized identity (DID) systems that enables the secure and efficient exchange of verifiable credentials between different parties. the Assigned Credential API is a key component of decentralized identity systems, enabling users to securely and efficiently share their verifiable credentials with third parties in a trusted and decentralized manner.

curl --location --request POST 'https://api.did.kloudlearn.com/api/v1/credential/GetAssignedCredential' </span>
--header 'Content-Type: application/json' </span>
--data '{
  "walletId":104,
  "pageNumber":1,
  "pageSize":10,
  "filter":""
}'
POST https://api.did.kloudlearn.com/api/v1/credential/GetAssignedCredential HTTP/1.1
{
  "walletId":104,
  "pageNumber":1,
  "pageSize":10,
  "filter":""
}

Access Token

Authorization Key Required

HTTP Request

POST https://api.did.kloudlearn.com/api/v1/credential/GetAssignedCredential HTTP/1.1

Query Parameters

Parameter Description
walletId This refers to the company or organization which the user is part of.
pageNumber The pageNumber is used to specify the page number of results to retrieve when querying for DIDs.
pageSize The pageSize specifies the number of search results to be returned per page.
filter The filter is the search parameter.
{
  "code": 200,
  "message": "Credential List Success",
  "status": "Success",
  "walletId": 104,
  "count": 1,
  "credentials": [
    {
      "id": 89,
      "issuerId": 128,
      "issuerName": "test2",
      "schemaId": 2,
      "schemaName": "Password",
      "issuedAt": "2023-03-02T07:09:06Z",
      "credentialId": "100512df-84ca-4434-970d-af57435ad3b0",
      "expireDate": "2024-01-01T00:00:00Z",
      "name": "Credential",
      "status": "Assigned"
    }
  ]
}

HTTP Response

Credential Assigned succesfully

Accepted Credential

The Accepted Credential API is a programming interface that is used in the context of decentralized identities (DIDs) to enable the exchange of verifiable credentials between different parties.

The Accepted Credential API allows a DID controller to accept or reject incoming credential requests, manage the storage and presentation of their own verifiable credentials, and control the disclosure of specific credentials to third parties. This API provides a standardized way for developers to build applications that support interoperability between different DID systems, making it easier for users to manage and share their digital identities securely.

curl --location --request POST 'https://api.did.kloudlearn.com/api/v1/credential/GetAcceptedCredential' </span>
--header 'Content-Type: application/json' </span>
--data '{
  "walletId":104,
  "pageNumber":1,
  "pageSize":10,
  "filter":""
}'
POST https://api.did.kloudlearn.com/api/v1/credential/GetAcceptedCredential HTTP/1.1
{
  "walletId":104,
  "pageNumber":1,
  "pageSize":10,
  "filter":""
}

Access Token

Authorization Key Required

HTTP Request

POST https://api.did.kloudlearn.com/api/v1/credential/GetAcceptedCredential HTTP/1.1

Query Parameters

Parameter Description
walletId This refers to the company or organization which the user is part of.
pageNumber The pageNumber is used to specify the page number of results to retrieve when querying for DIDs.
pageSize The pageSize specifies the number of search results to be returned per page.
filter The filter is the search parameter.

{
  "code": 200,
  "message": "Credential List Success",
  "status": "Success",
  "walletId": 104,
  "count": 1,
  "credentials": [
    {
      "id": 110,
      "issuerId": 126,
      "issuerName": "Broadcom",
      "schemaId": 2,
      "schemaName": "Password",
      "issuedAt": "2023-03-06T11:07:54Z",
      "credentialId": "87a455bd-09a6-46bd-86b1-0aae40cb63d9",
      "expireDate": "2024-01-01T00:00:00Z",
      "name": "Credential",
      "status": "Assigned"
    }
  ]
}

HTTP Response

Credential Accepted succesfully

Ignored Credential

The Ignored Credential API is a feature of decentralized identity systems that allows users to selectively ignore or hide certain credentials associated with their digital identity.

By using the Ignored Credential API, users can specify which credentials they want to exclude from their digital identity when presenting it to others. This can help to protect their privacy and reduce the amount of personal information they need to share in certain situations.

Decentralized identity systems are designed to give users more control over their personal data and provide a more secure and transparent way of managing digital identities. The Ignored Credential API is one example of how these systems can be customized to meet the specific needs and preferences of individual users.

curl --location --request POST 'https://api.did.kloudlearn.com/api/v1/credential/GetIgnoredCredential' </span>
--header 'Content-Type: application/json' </span>
--data '{
  "walletId":104,
  "pageNumber":1,
  "pageSize":10,
  "filter":""
}'
POST https://api.did.kloudlearn.com/api/v1/credential/GetIgnoredCredential HTTP/1.1
{
  "walletId":104,
  "pageNumber":1,
  "pageSize":10,
  "filter":""
}

Access Token

Authorization Key Required

HTTP Request

POST https://api.did.kloudlearn.com/api/v1/credential/GetIgnoredCredential HTTP/1.1

Query Parameters

Parameter Description
walletId This refers to the company or organization which the user is part of.
pageNumber The pageNumber is used to specify the page number of results to retrieve when querying for DIDs.
pageSize The pageSize specifies the number of search results to be returned per page.
filter The filter is the search parameter.

{
  "code": 200,
  "message": "Credential List Success",
  "status": "Success",
  "walletId": 104,
  "count": 1,
  "credentials": [
    {
      "id": 109,
      "issuerId": 126,
      "issuerName": "Broadcom",
      "schemaId": 2,
      "schemaName": "Password",
      "issuedAt": "2023-03-06T10:34:36Z",
      "credentialId": "821fe335-51d8-4f15-ae33-a0da55c15707",
      "expireDate": "2024-01-01T00:00:00Z",
      "name": "Test",
      "status": "Assigned"
    }
  ]
}

HTTP Response

Credential Ignored succesfully

Credential Schema List

The Credential Schema List API in Decentralized Identities (DIDs) enables users to access and retrieve a list of available verifiable credential schemas published on a decentralized network. The API allows users to search and filter the list based on their specific needs and requirements, enabling them to create and manage verifiable credentials in a secure, transparent, and interoperable manner.

POST /api/v1/credential/credentialSchemaList HTTP/1.1
curl --location --request POST 'https://api.did.kloudlearn.com/api/v1/credential/credentialSchemaList'  </span>
--header 'Content-Type: application/json' </span>
--data '{
   "domainId": 1,
   "issuerDid": "did:brcm:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}'
{
   "domainId": 1,
   "issuerDid": "did:brcm:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}

Access Token

Authorization Key Required

HTTP Request

POST /api/v1/credential/credentialSchemaList HTTP/1.1

Query Parameters

Parameter Description
domainId This refers to the company or organization which the user is part of.
issuerDID The issuerDid is a required field used to identify the decentralized identity issuer and verify the authenticity of the credentials associated with the identity.
[
    {
        "id": 1,
        "name": "SSH"
    }
]

HTTP Response

Successfully Listed Credential Schema List

Wallet User List

The Wallet User List API is a feature in decentralized identity systems that allows users to retrieve a list of their identities or DIDs (decentralized identifiers) from their digital wallets. This API enables users to manage their digital identities across different applications and services from a single location, providing greater convenience and control over their personal data. By using this API, developers can create applications that support decentralized identities and enable users to seamlessly switch between identities without the need for multiple logins or authentication processes.

POST /api/v1/wallet/users HTTP/1.1
curl -X POST </span>
  'https://api.did.kloudlearn.com/api/v1/walletService/walletUserList' </span>
  --header 'Accept: /' </span>
  --header 'User-Agent: Thunder Client (https://www.thunderclient.com)' </span>
  --header 'Content-Type: application/json' </span>
  --data-raw '{
  "domainId": 1,
  "pageNumber": 1,
  "pageSize": 2,
  "filter": ""
}'
{
  "domainId": 1,
  "pageNumber": 1,
  "pageSize": 2,
  "filter": ""
}

Access Token

Authorization Key Required

HTTP Request

POST /api/v1/wallet/users HTTP/1.1

Query Parameters

Parameter Description
domainId This refers to the company or organization who is using the service.
pageNumber The pageNumber is used to specify the page number of results to retrieve when querying for DIDs.
pageSize The pageSize specifies the number of search results to be returned per page.
filter The filter is the search parameter.
{
  "code": 200,
  "message": "Successfully retrieved waller users",
  "count": 34,
  "status": "Success",
  "users": [
    {
      "walletId": 43,
      "userId": 111,
      "walletUrl": "wallet.brcm.connect.com",
      "status": "Registered",
      "username": "Hemalatha",
      "emailAddress": "[email protected]",
      "noOfcredential": 3
    },
    {
      "walletId": 44,
      "userId": 112,
      "walletUrl": "wallet.brcm.connect.com",
      "status": "Registered",
      "username": "Hemalatha",
      "emailAddress": "[email protected]",
      "noOfcredential": 2
    }
  ]
}

HTTP Response

Successfully Listed wallet user

Get Credential

The Get Credential API is a feature in decentralized identity systems that allows developers to retrieve verifiable credentials issued to a specific user or decentralized identifier (DID). Verifiable credentials are digital documents that contain information about a person, organization, or thing that can be verified by third-party services. This API enables developers to build applications that support decentralized identities and enable users to manage and share their verifiable credentials across different services and applications. By using this API, developers can ensure that only authorized users are able to access and share their verifiable credentials, thereby enhancing the security and privacy of their services.

POST /api/v1/credential/GetCredential HTTP/1.1
curl --location 'https://api.did.kloudlearn.com/api/v1/credential/GetCredential'  </span>
--header 'Content-Type: application/json' </span>
--data '{
   "credentialId": "430d2578-4382-4e74-a8b6-af7c1a960100"
 }'
{
   "credentialId": "430d2578-4382-4e74-a8b6-af7c1a960100"
 }

Access Token

Authorization Key Required

HTTP Request

POST /api/v1/credential/GetCredential HTTP/1.1

Query Parameters

Parameter Description
credentialId The credentialId specifies the unique identifier associated with a verifiable credential, allowing for easy retrieval and management of verifiable credentials within a decentralized identity ecosystem.
{
    "id": "430d2578-4382-4e74-a8b6-af7c1a960100",
    "credential": {
      "@context": [
        "https://www.w3.org/2018/credentials/v1"
      ],
      "id": "430d2578-4382-4e74-a8b6-af7c1a960100",
      "type": [
        "VerifiableCredential"
      ],
      "issuer": "did:key:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
      "issuanceDate": "2023-02-16T12:02:53Z",
      "expirationDate": "2051-10-05T14:48:00.000Z",
      "credentialSubject": {
        "id": "did:key:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
        "password": "XXXXXXXX"
      },
      "credentialSchema": {
        "id": "a36d9717-65a1-4b6b-bd80-0bbffd7d82d3",
        "type": "JsonSchemaValidator2018"
      }
    }
  }

HTTP Response

Successfully Credential displayed

Assign Wallet User

The Wallet User API in Decentralized Identities (DIDs) is an interface that allows users to manage their decentralized identity credentials, such as public keys and attestations, through a digital wallet. It enables users to securely store and manage their identity information while maintaining full control over their data. With the Wallet User API, users can easily authenticate and authorize themselves for various digital services and applications without relying on traditional centralized identity providers.

POST /api/v1/walletService/assignWalletUser HTTP/1.1
curl --location 'https://api.did.kloudlearn.com/api/v1/walletService/assignWalletUser'  </span>
--header 'Content-Type: application/json' </span>
--data '{
  "walletId": 1,
  "userId": 104,
  "credentialId": 10
}'
{
  "walletId": 1,
  "userId": 104,
  "credentialId": 10
}

Access Token

Authorization Key Required

HTTP Request

POST /api/v1/walletService/assignWalletUser HTTP/1.1

Query Parameters

Parameter Description
walletId The walletId parameter in the API of Decentralized Identities refers to the unique identifier of a digital wallet that holds a users decentralized identities, verifiable credentials, and other related data.
userId The userId specifies the unique identifier associated with a user, enabling secure authentication and authorization of data exchange and access within a decentralized identity ecosystem.
credentialId The credentialId specifies the unique identifier associated with a verifiable credential, allowing for easy retrieval and management of verifiable credentials within a decentralized identity ecosystem.
{
  "code": 200,
  "message": "Successfully Assigned Wallet",
  "status": "Success"
}

HTTP Response

Successfully Assigned Wallet

Errors

The AuthNull API uses the following error codes:

Error Code Meaning
400 StatusBadRequest -- Your request is invalid.
401 StatusUnauthorized -- Your API key is wrong.