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:
To launch the application in development mode, run
npm run start
in your terminal/command prompt.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:
Create a production build of the application using
npm run build: production
commandClone the svelte-server repository and run
npm install
to install it.Copy the dist folder from svelte-app root directory to the root directory of svelte-server.
Run
npm start
from svelte-server directory using a terminal.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.
Svelte is used as the primary JavaScript framework to develop the user interface
Carbon Black serves as the design library for consistent and streamlined UI design.
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
The windows server of 2012 and above is needed.
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.
- 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 |
---|---|
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. |