1Kosmos User Management API

The User Management API from 1Kosmos — 3 operation(s) for user management.

OpenAPI Specification

1kosmos-user-management-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: 1Kosmos BlockID Platform User Management API
  version: '2026-08-05'
  description: 'REST surface of the 1Kosmos BlockID identity platform — identity verification (IDVerify), identity assurance level (IAL) lookup, one-time passcodes, user management, access codes, W3C Verifiable Credentials and Verifiable Presentations, IAL2 identity-proofing workflows, and the reporting/metrics APIs.


    DERIVED, NOT PUBLISHED BY THE PROVIDER. 1Kosmos publishes no OpenAPI. This document was mechanically derived by API Evangelist from the first-party public Postman collection "1Kosmos Postman Collection" (https://documenter.getpostman.com/view/50203634/2sB3dHWZ1n), saved verbatim in this repo at postman/1kosmos-postman-collection.json. Every path, method, header, example request body and example response below is carried over from that collection; nothing was invented. Request/response schemas are typed only as generic objects because the collection carries examples, not schemas. Each operation records the original collection URL template in x-postman-request.'
  contact:
    name: 1Kosmos Developer Support
    email: developers@1kosmos.com
    url: https://developer.1kosmos.com/devportal/docs/
  x-generated-by: API Evangelist enrichment pipeline (derived from Postman collection)
  x-source: postman/1kosmos-postman-collection.json
servers:
- url: https://{tenantDNS}
  description: Tenant-scoped BlockID host. Every 1Kosmos deployment is addressed by its own tenant DNS name; the microservice hosts the collection references as {{client_api}}, {{wf_api}} and {{reports}} are discovered at runtime from GET /caas/sd on the tenant host.
  variables:
    tenantDNS:
      default: blockid-trial.1kosmos.net
      description: Your BlockID tenant DNS name as shown in the BlockID developer dashboard. blockid-trial.1kosmos.net is the trial tenant used throughout the published docs.
security:
- licenseKey: []
  publicKey: []
tags:
- name: User Management
paths:
  /users-mgmt/tenant/{tenantId}/community/{communityId}/users/create:
    put:
      operationId: userManagementCreateUser
      summary: Create User
      description: 'Fetch Users from Community

        This endpoint allows you to fetch user details from a specified community within a tenant. It is particularly useful for retrieving user information based on specific query parameters.


        HTTP Method

        POST


        Endpoint

        {{client_api}}/users-mgmt/tenant/tenantId/community/communityId/users/fetch


        Request Parameters

        The request body must be in JSON format and includes the following parameters:


        authModule (string): A unique identifier for the authentication module being used.


        pIndex (integer): The index of the page to be retrieved, starting from 0.


        pSize (integer): The number of records to return per page.


        query (object): An object containing the search criteria. In this case, it includes:


        username (string): The username of the user to be searched.


        attributes (array of strings): An array specifying which attributes to include in the response. Using ["\\\*"] requests all available attributes.


        Expected Response Format

        The response will be in JSON format and will include the following structure:


        page (object): Contains pagination information.


        index (integer): The current page index.


        total (integer): The total number of records available.


        size (integer): The number of records returned in this response.


        data (array): An array of user objects matching the query. Each user object may contain:


        username (string): The username of the user.


        uid (string): The unique identifier for the user.


        dguid (string): The directory GUID for the user.


        disabled (boolean): Indicates if the user account is disabled.


        status (string): The current status of the user.


        roleValue (string): The role assigned to the user.


        type (string): The type of user.


        moduleId (string): The module ID associated with the user.


        onboarding_status (string): The onboarding status of the user.


        isLocked (boolean): Indicates if the user account is locked.


        mobiles (array): List of mobile numbers associated with the user.


        landlines (array): List of landline numbers associated with the user.


        firstname (string): The first name of the user.


        lastname (string): The last name of the user.


        email (string): The email address of the user.


        urn (string): The uniform resource name associated with the user.


        publicKey (string): A public key for security purposes.


        signature_token (string): A token used for signature verification.


        Example Responses


        { "page": {"index": 0, "total": 0, "size": 0}, "data": [{ "username": "", "uid": "", "dguid": "", "disabled": true, "status": "", "roleValue": "", "type": "", "moduleId": "", "onboarding_status": "", "isLocked": true, "mobiles": [], "landlines": [], "firstname": "", "lastname": "", "email": "", "urn": "" }], "publicKey": "", "signature_token": ""}


        { "page": {"index": 0, "total": 0, "size": 0}, "data": [], "publicKey": "", "signature_token": ""}


        This endpoint is essential for managing user information within a community, allowing for efficient retrieval based on specific criteria.'
      tags:
      - User Management
      parameters:
      - name: tenantId
        in: path
        required: true
        schema:
          type: string
      - name: communityId
        in: path
        required: true
        schema:
          type: string
      - name: requestid
        in: header
        required: false
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
            example:
              authModule: 68418b901ac4790f690ffdb4
              users:
              - username: postman1
                password: Password.1
                firstname: postman
                lastname: Test
                email1: postman+11@1kosmos.com
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
              example:
                requested: 1
                created: 1
                failed: 0
                errors: []
        '404':
          description: 'Fail: AuthModule Not Found'
          content:
            application/json:
              schema:
                type: object
              example:
                code: 404
                message: Auth module is not found.
        '401':
          description: 'Fail: Unauthorised License'
          content:
            application/json:
              schema:
                type: object
              example:
                code: 401
                message: Invalid or Unauthorized License
        '400':
          description: 'Fail: Required username'
          content:
            application/json:
              schema:
                type: object
              example:
                code: 400
                message: username is required
        '500':
          description: 'Fail: Invalid paylad'
          content:
            application/json:
              schema:
                type: object
              example:
                code: 500
                message: Internal Server Error
        '405':
          description: 'Fail: Unauthorised License'
          content:
            application/json:
              schema:
                type: object
              example:
                code: 405
                message: This function is not allowed for specified auth module.
      x-postman-request: '{{client_api}}/users-mgmt/tenant//community//users/create'
      x-postman-variants:
      - Create User
  /users-mgmt/tenant/{tenantId}/community/{communityId}/users/fetch:
    post:
      operationId: userManagementFetchUserDetails
      summary: Fetch User Details
      description: 'Fetch Users from Community

        This endpoint allows you to fetch user details from a specified community within a tenant. It is particularly useful for retrieving user information based on specific query parameters.


        HTTP Method

        POST


        Endpoint

        {{client_api}}/users-mgmt/tenant/tenantId/community/communityId/users/fetch


        Request Parameters

        The request body must be in JSON format and includes the following parameters:


        authModule (string): A unique identifier for the authentication module being used.


        pIndex (integer): The index of the page to be retrieved, starting from 0.


        pSize (integer): The number of records to return per page.


        query (object): An object containing the search criteria. In this case, it includes:


        username (string): The username of the user to be searched.


        attributes (array of strings): An array specifying which attributes to include in the response. Using ["\\\*"] requests all available attributes.


        Expected Response Format

        The response will be in JSON format and will include the following structure:


        page (object): Contains pagination information.


        index (integer): The current page index.


        total (integer): The total number of records available.


        size (integer): The number of records returned in this response.


        data (array): An array of user objects matching the query. Each user object may contain:


        username (string): The username of the user.


        uid (string): The unique identifier for the user.


        dguid (string): The directory GUID for the user.


        disabled (boolean): Indicates if the user account is disabled.


        status (string): The current status of the user.


        roleValue (string): The role assigned to the user.


        type (string): The type of user.


        moduleId (string): The module ID associated with the user.


        onboarding_status (string): The onboarding status of the user.


        isLocked (boolean): Indicates if the user account is locked.


        mobiles (array): List of mobile numbers associated with the user.


        landlines (array): List of landline numbers associated with the user.


        firstname (string): The first name of the user.


        lastname (string): The last name of the user.


        email (string): The email address of the user.


        urn (string): The uniform resource name associated with the user.


        publicKey (string): A public key for security purposes.


        signature_token (string): A token used for signature verification.


        Example Responses


        { "page": {"index": 0, "total": 0, "size": 0}, "data": [{ "username": "", "uid": "", "dguid": "", "disabled": true, "status": "", "roleValue": "", "type": "", "moduleId": "", "onboarding_status": "", "isLocked": true, "mobiles": [], "landlines": [], "firstname": "", "lastname": "", "email": "", "urn": "" }], "publicKey": "", "signature_token": ""}


        { "page": {"index": 0, "total": 0, "size": 0}, "data": [], "publicKey": "", "signature_token": ""}


        This endpoint is essential for managing user information within a community, allowing for efficient retrieval based on specific criteria.'
      tags:
      - User Management
      parameters:
      - name: tenantId
        in: path
        required: true
        schema:
          type: string
      - name: communityId
        in: path
        required: true
        schema:
          type: string
      - name: requestid
        in: header
        required: false
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
            example:
              authModule: 68418b901ac4790f690ffdb4
              pIndex: 0
              pSize: 25
              query:
                username: john.doe
              attributes:
              - '*'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
              example:
                page:
                  index: 0
                  total: 1
                  size: 1
                data:
                - username: sarthak
                  uid: beafb38c-499b-40ef-a62c-b58777f200c6
                  dguid: beafb38c-499b-40ef-a62c-b58777f200c6
                  disabled: false
                  status: active
                  roleValue: none
                  type: basic
                  moduleId: 68418b901ac4790f690ffdb4
                  onboarding_status: tbd
                  isLocked: false
                  mobiles: []
                  landlines: []
                  firstname: Sarthak
                  lastname: M
                  email: sarthak.mishra@1kosmos.com
                  urn: urn:blockid:user:dns:1k-dev.1kosmos.net:community:68418b2587942f1d3158a799:mod:68418b901ac4790f690ffdb4:uid:beafb38c-499b-40ef-a62c-b58777f200c6
                publicKey: 4d3D/MgM9PqSyLAOz8jJY9TSZemrr2uaOvcnWQX1+dY5CNNaZ+OI0WeuqdWJNFSfnogJImCt5veztNBoHh06YQ==
                signature_token: 1add97735715f1d1b2a71f6bc32b07a191b0e5cb7848ee162cbea9c01a6abffea995e770fd6f9c806efb777158a32daf60d381de5de101f190f84e26dec0cc58
        '404':
          description: 'Fail : Auth Module not Found'
          content:
            application/json:
              schema:
                type: object
              example:
                code: 404
                message: Auth module is not found.
                signature_token: 2f3fba2d6068b7fc2e66061f239ae02abd3d39da552428cefcebef926557cf485bd4308c295ecc86932d0a1c3643f3d29ed7673293de6f68244042849900e35f
        '401':
          description: 'Fail : Unauthorized'
          content:
            application/json:
              schema:
                type: object
              example:
                code: 401
                message: Invalid or Unauthorized License
        '400':
          description: 'Fail: Improper Query'
          content:
            application/json:
              schema:
                type: object
              example:
                code: 400
                message: query must be of type object
      x-postman-request: '{{client_api}}/users-mgmt/tenant//community//users/fetch'
      x-postman-variants:
      - Fetch User Details
  /users-mgmt/tenant/{tenantId}/community/{communityId}/user_properties/update:
    post:
      operationId: userManagementUpdateUsernameAsAlias
      summary: Update Username as alias
      description: "Update User Properties\nThis endpoint allows you to update user properties within a specific community for a given tenant.\n\nEndpoint\nPOST {{client_api}}/users-mgmt/tenant/tenantId/community/communityId/user_properties/update\n\nRequest Method\nPOST\n\nRequest Parameters\nThe request body should be in JSON format and must include the following parameter:\n\ndata (string): This parameter should contain the payload in ECDSA Encrypted format that holds the user properties you wish to update.\n\nExample Request Body\n\nEncryped Sample Request:\n\n{\n  \"data\": \"{{payload}}\"\n}\n\nDecrypted Sample Request:\n\n{\n  \"data\": {\n    \"user\": {\n      \"username\": \"john.doe\",\n      \"authModuleId\": \"68418b901ac4790f690ffdb4\",\n      \"uid\": \"beafb38c-499b-40ef-a62c-b58777f200d4\"\n    },\n    \"aliases\": {\n      \"alias1\": \"doej\",\n      \"alias2\": null,\n      \"alias3\": null,\n      \"alias4\": null,\n      \"alias5\": null,\n      \"alias6\": null,\n      \"alias7\": null,\n      \"alias8\": null\n    }\n  }\n}\n\nExpected Response\nUpon a successful request, the server will respond with a status code of 200 and a JSON object containing the following fields:\n\ndata (string): This field will contain ECDSA encrypted relevant data related to the update operation. See below to sample decrypted payload:\n\npublicKey (string): This field will return the service's public key.\n\nExample Response\n{\n    \"data\": \"8ngLnqWrCMkTFHXkjnbApJjppNY5E37BmL0VxRzE4BObC+L01IrM+rswO5sgdAMGLMyL0GR/SYcVwxkziT31Q+aWcYe2OQK93TxCzXPcyQi8ehVyI+CHfiG5fJrZK2gBmbNuA6EA/BKd6KeygjD6Rrn3VnqH20ef5Uw9fO8/neGk1i6vhxykmFtu4QcuWKOAQEYTTOqCiA3Lqye6H/tQ9mQLcFe6YPBVsFCJAkZyXlCljtq8QV8/JLE2d16z+g0GiBOX+A2egD3Hu2yEGINhR3iBQxH+DU+OGox/f7Oeop/Uf6WxdZXfS+BIOmavuq/zYxANau99UfUvbYz7gKvNPCTyGcBIjoTlO1mUlmiG3x6vdBQlYMUPvf+BcQKh1Drh5LFqYJP+O/+1kBPlecxwcpF95ueLpOQPpxUGBvalVkDIYjb9fFFDul5atNgVT6+5VLSs5fDNFxOCzVENpJ1bjjDcNkEHGILxI55ea84kfU1kwWqET5WVqO6sUlYYRghXIrLZ3cqfbT1USeqbRRbKgY2k1yH2SkOZSeqkqklnH9Sli3Coq9kskAM=\",\n    \"publicKey\": \"4d3D/MgM9PqSyLAOz8jJY9TSZemrr2uaOvcnWQX1+dY5CNNaZ+OI0WeuqdWJNFSfnogJImCt5veztNBoHh06YQ==\"\n}\n\nAdditional Notes\n\nEnsure that the tenantId and communityId in the URL are correctly specified to target the appropriate user properties.\n\nThe response may vary based on the operation performed, but it will always return the specified fields."
      tags:
      - User Management
      parameters:
      - name: tenantId
        in: path
        required: true
        schema:
          type: string
      - name: communityId
        in: path
        required: true
        schema:
          type: string
      - name: requestid
        in: header
        required: false
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
            example:
              data: '{{payload}}'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
              example:
                data: s2V2UcQKIsQFDWsxX16LPoH0HDmusUnCBGyN6iQQI3Dp8y/dTJy1aU+AcsWgl62H19WOJgeILytYzluxwe8cMrznSmUfWXTzwbtTD49nl3WvQUMSZHkD7+J8HkMce3+3jqFWe4kQMb4IBXciHDJ2mdGv08HylfmQBtBxNEspMdaIVxALWuVS9V1srTtmeXCy9iXiZzLQ0yfSjoEFmcvGpzgtvYZDcmElpheR0GgfuxQ0aqE3qU0nQOOLG30We4eLS10RDlJaNJO5V8b8BPxA83Xo6D9qK7R0FKlh8QkEKBjMZk60ucbPZXgzl7JGqTh2VIehYSzem1/5popySx7l78/IM1MFkzoxZNmXQxrXiiPLxk0QZsh9sR+2t60Vnbmgh8oeiY0xrWVjhoYZzsH9ELQAQBW5tSVsFlpybt9WMNe1gHXh4YJA8Eliy0u3/EM1jfIJmY4yNUX5OWHbn8f8DkVJphY6EXryNJthfYkAFv54zN6ctC8tr5ji3gGMWwEoECChnzwnvPKEpgSWpaMpmhYM4krdaD8mcnlZr52izOi6IIFeHCp3RB0kqOMULYc=
                publicKey: 4d3D/MgM9PqSyLAOz8jJY9TSZemrr2uaOvcnWQX1+dY5CNNaZ+OI0WeuqdWJNFSfnogJImCt5veztNBoHh06YQ==
        '401':
          description: 'Fail : Unauthorized'
          content:
            application/json:
              schema:
                type: object
              example:
                code: 401
                message: Invalid or Unauthorized License
        '409':
          description: 'Fail: Alias already used'
          content:
            application/json:
              schema:
                type: object
              example:
                code: 409
                message: Alias already used
        '400':
          description: 'Fail: Required Username'
          content:
            application/json:
              schema:
                type: object
              example:
                code: 400
                message: username is required
      x-postman-request: '{{client_api}}/users-mgmt/tenant//community//user_properties/update'
      x-postman-variants:
      - Update Username as alias
components:
  securitySchemes:
    licenseKey:
      type: apiKey
      in: header
      name: licensekey
      description: The tenant/community license key, ECDSA-encrypted with the shared secret derived from the caller private key and the community public key (see BIDECDSA in the first-party helper SDKs). Sent unencrypted only when the noecdsa header is set.
    publicKey:
      type: apiKey
      in: header
      name: publickey
      description: The caller ECDSA public key, used by the service to derive the shared secret that decrypts licensekey and encrypted payloads.
    tenantTag:
      type: apiKey
      in: header
      name: X-TenantTag
      description: Tenant tag, required by the reports, user-management and access-code services.