{
  "openapi": "3.0.0",
  "info": {
    "title": "IDProofing Service",
    "version": "2.0.0",
    "license": {}
  },
  "paths": {
    "/verify": {
      "post": {
        "summary": "Verify Connector",
        "description": "Get Connector certificate. <br />\n- Only a **system** or **service** key can be used to get document certificate.\n\n\n|              **Headers**                     |\n|----------------------------------------------|\n\n### licensekey (required)\nLicense key encrypted with ECDSA\n\n### requestid (required)\nJSON string encrypted with ECDSA which should contain \"appid\" (string), \"uuid\" (string) and \"ts\" (number) representing epoch timestamp in seconds - it shouldn't be more or less than 'environment.allowed_time_span' seconds from now\n\n### publickey (required)\nPublic key\n\n\n|            **Request Body**                  |\n|----------------------------------------------|\n\n### connector (required)\nThe connector object.\n\n<br />\n### verification (required)\nThe verification object.\n\n<br />\n### document (required)\nThe document object.\n\n\n|            **Returns**                    |\n|----------------------------------------------|\n\nReturns the document certificate and errors if any. <br />\nThis API throw an error if something goes wrong.\n",
        "tags": [
          "Verify"
        ],
        "security": [
          {
            "keyId": []
          },
          {
            "keySecret": []
          },
          {
            "license": []
          }
        ],
        "parameters": [
          {
            "name": "licensekey",
            "in": "header",
            "description": "License key encrypted with ECDSA / Try Authorize &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use 'Authorize' fields"
            }
          },
          {
            "name": "requestid",
            "in": "header",
            "description": "JSON string encrypted with ECDSA which should contain \"appid\" (string), \"uuid\" (string) and \"ts\" (number) representing epoch timestamp in seconds - it shouldn't be more or less than 'environment.allowed_time_span' seconds from now / Try Authorize &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use 'Authorize' fields"
            }
          },
          {
            "name": "publickey",
            "in": "header",
            "description": "Public Key  / Try Authorize &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use 'Authorize' fields"
            }
          }
        ],
        "requestBody": {
          "description": "\nRequest body contains below fields to get dl_authenticate connector certificate.\n```\n{\n    \"connector\": {\n        \"id\": \"string required\",\n        \"type\": \"string required - 'microblink'\",\n        \"config\": {\n            \"verifierUrl\": \"string required\",\n            \"verifierUrlV2\": \"string required\",\n            \"clientId\": \"string\",\n            \"clientSecret\": \"string\"\n        }\n    },\n    \"verification\": {\n        \"id\": \"string required\",\n        \"tag\": \"string required\",\n        \"type\": \"string required - 'dl_authenticate'\",\n        \"config\": {\n            \"verifier\": \"string required - custom tag from verifier\",\n            \"skip\": false,                                                 // boolean\n            \"debug\": true,                                                 // boolean\n            \"returnRawData\": false                                         // boolean\n            \"useV1BlinkIdVerify\": false                                    // boolean\n        }\n    },\n    \"document\": {\n        \"id\": \"string required\",\n        \"type\": \"string required - dl\",                                    // case-insensitive\n        \"front_image\": \"string optional\",                                  // base64\n        \"back_image\": \"string optional\",                                   // base64\n        \"barcode_image\": \"string optional\",                                // base64\n        \"front_image_flash\": \"string optional\",                            // base64\n        \"front_image_url\": \"string optional\",                              // base64\n        \"back_image_url\": \"string optional\",                               // base64\n        \"barcode_image_url\": \"string optional\",                            // base64\n        \"front_image_flash_url\": \"string optional\"                         // base64\n    }\n}\n```\n\nRequest body contains below fields to get ppt_authenticate connector certificate.\n```\n{\n    \"connector\": {\n        \"id\": \"string required\",\n        \"type\": \"string required - 'microblink'\",\n        \"config\": {\n            \"verifierUrl\": \"string required\",\n            \"verifierUrlV2\": \"string required\",\n            \"clientId\": \"string\",\n            \"clientSecret\": \"string\"\n        }\n    },\n    \"verification\": {\n        \"id\": \"string required\",\n        \"tag\": \"string required\",\n        \"type\": \"string required - 'ppt_authenticate'\",\n        \"config\": {\n            \"verifier\": \"string required - custom tag from verifier\",\n            \"skip\": false,                                                 // boolean\n            \"debug\": true,                                                 // boolean\n            \"useV1BlinkIdVerify\": false                                    // boolean\n    },\n    \"document\": {\n        \"id\": \"string required\",\n        \"type\": \"string required - ppt\",                                   // case-insensitive\n        \"front_image\": \"string required\",                                  // base64\n        \"front_image_url\": \"string required\"                               // base64\n    }\n}\n```\n\nRequest body contains below fields to get idcard_authenticate connector certificate.\n```\n{\n    \"connector\": {\n        \"id\": \"string required\",\n        \"type\": \"string required - 'microblink'\",\n        \"config\": {\n            \"verifierUrl\": \"string required\",\n            \"verifierUrlV2\": \"string required\",\n            \"clientId\": \"string\",\n            \"clientSecret\": \"string\"\n        }\n    },\n    \"verification\": {\n        \"id\": \"string required\",\n        \"tag\": \"string required\",\n        \"type\": \"string required - 'idcard_authenticate'\",\n        \"config\": {\n            \"verifier\": \"string required - custom tag from verifier\",\n            \"skip\": false,                                                 // boolean\n            \"debug\": false,                                                // boolean\n            \"useV1BlinkIdVerify\": false                                    // boolean\n        }\n    },\n    \"document\": {\n        \"id\": \"string required\",\n        \"type\": \"string required - idcard\",                                // case-insensitive\n        \"front_image\": \"string optional\",                                  // base64\n        \"back_image\": \"string optional\",                                   // base64\n        \"barcode_image\": \"string optional\",                                // base64\n        \"front_image_flash\": \"string optional\",                            // base64\n        \"front_image_url\": \"string optional\",                              // base64\n        \"back_image_url\": \"string optional\",                               // base64\n        \"barcode_image_url\": \"string optional\",                            // base64\n        \"front_image_flash_url\": \"string optional\"                         // base64\n    }\n}\n```\n\nRequest body contains below fields to get id_capture connector certificate.\n```\n{\n    \"connector\": {\n        \"id\": \"string required\",\n        \"type\": \"string required - 'microblink'\",\n        \"config\": {\n            \"url\": \"string required\",\n            \"clientId\": \"string\",\n            \"clientSecret\": \"string\"\n        }\n    },\n    \"verification\": {\n        \"id\": \"string required\",\n        \"tag\": \"string required\",\n        \"type\": \"string required - 'id_capture'\",\n        \"config\": {\n            \"verifier\": \"string required - custom tag from verifier\",\n            \"skip\": false,                                                 // boolean\n            \"debug\": false,                                                // boolean\n            \"useV1BlinkIdVerify\": false                                    // boolean\n        }\n    },\n    \"document\": {\n        \"id\": \"string required\",\n        \"type\": \"string required - idcard\",                                // case-insensitive\n        \"front_image\": \"string optional\",                                  // base64\n        \"back_image\": \"string optional\",                                   // base64\n        \"barcode_image\": \"string optional\",                                // base64\n        \"front_image_flash\": \"string optional\",                            // base64\n        \"front_image_url\": \"string optional\",                              // base64\n        \"back_image_url\": \"string optional\",                               // base64\n        \"barcode_image_url\": \"string optional\",                            // base64\n        \"front_image_flash_url\": \"string optional\"                         // base64\n    }\n}\n```\n",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VerifyDocumentRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VerifyDocumentResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request, Validation errors."
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/servicekeys": {
      "get": {
        "summary": "Get service keys",
        "description": "This endpoint returns available service keys.\nThe license you are using must be of authLevel 'system'\n\n|              **Headers**                     |\n|----------------------------------------------|\n\n### licensekey (required)\nLicense key encrypted with ECDSA\n\n### requestid (required)\nJSON string encrypted with ECDSA which should contain \"appid\" (string), \"uuid\" (string) and \"ts\" (number) representing epoch timestamp in seconds - it shouldn't be more or less than 'environment.allowed_time_span' seconds from now\n\n### publickey (required)\nPublic key\n\n|              **Returns**                     |\n|----------------------------------------------|\n\nReturns array with service keys\n",
        "tags": [
          "Service Key"
        ],
        "security": [
          {
            "keyId": []
          },
          {
            "keySecret": []
          },
          {
            "license": []
          }
        ],
        "parameters": [
          {
            "name": "requestid",
            "in": "header",
            "description": "JSON string encrypted with ECDSA which should contain \"appid\" (string), \"uuid\" (string) and \"ts\" (number) representing epoch timestamp in seconds - it shouldn't be more or less than 'environment.allowed_time_span' seconds from now / Try Authorize &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use 'Authorize' fields"
            }
          },
          {
            "name": "publickey",
            "in": "header",
            "description": "Public Key  / Try Authorize &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use 'Authorize' fields"
            }
          },
          {
            "name": "licensekey",
            "in": "header",
            "description": "License key encrypted with ECDSA / Try Authorize &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use 'Authorize' fields"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceKeysResponse"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/servicekey/{keyId}": {
      "delete": {
        "summary": "Reset Service Key",
        "description": "This endpoint resets service key for given keyId. Deletes current one and recreates a new one.\nThe license you are using must be of authLevel 'system'\n\n|              **Parameters**                  |\n|----------------------------------------------|\n\n### keyId (required)\nThe keyId of service key to reset\n\n|              **Headers**                     |\n|----------------------------------------------|\n\n### licensekey (required)\nLicense key encrypted with ECDSA\n\n### requestid (required)\nJSON string encrypted with ECDSA which should contain \"appid\" (string), \"uuid\" (string) and \"ts\" (number) representing epoch timestamp in seconds - it shouldn't be more or less than 'environment.allowed_time_span' seconds from now\n\n### publickey (required)\nPublic key\n\n|              **Returns**                     |\n|----------------------------------------------|\n\nReturns re-created service key\n",
        "tags": [
          "Service Key"
        ],
        "security": [
          {
            "keyId": []
          },
          {
            "keySecret": []
          },
          {
            "license": []
          }
        ],
        "parameters": [
          {
            "name": "keyId",
            "in": "path",
            "description": "keyId of service key to reset",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "requestid",
            "in": "header",
            "description": "JSON string encrypted with ECDSA which should contain \"appid\" (string), \"uuid\" (string) and \"ts\" (number) representing epoch timestamp in seconds - it shouldn't be more or less than 'environment.allowed_time_span' seconds from now / Try Authorize &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use 'Authorize' fields"
            }
          },
          {
            "name": "publickey",
            "in": "header",
            "description": "Public Key  / Try Authorize &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use 'Authorize' fields"
            }
          },
          {
            "name": "licensekey",
            "in": "header",
            "description": "License key encrypted with ECDSA / Try Authorize &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use 'Authorize' fields"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceKeysResponse"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/sd": {
      "get": {
        "summary": "Get all service directories.",
        "description": "Get all service directories.\n\n|            **Returns**                    |\n|-------------------------------------------|\n\nReturns all service directories.\n",
        "tags": [
          "Service Directory"
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetServiceComponentsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/publickeys": {
      "get": {
        "summary": "Get system's public key.",
        "description": "Get system's public key.\n\n|            **Returns**                    |\n|-------------------------------------------|\n\nReturns a public key object\n",
        "tags": [
          "Public Key"
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicKeyResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid ECDSA signature / ID found."
          }
        }
      }
    },
    "/proofingtemplates/{sessionId}": {
      "get": {
        "summary": "Fetch workflow proofing templates",
        "description": "This endpoint returns available proofing templates for tenant and community by dvcID and documentType\n\n|              **Returns**                     |\n|----------------------------------------------|\n\nReturns a list of proofing templates\n",
        "tags": [
          "Proofing Template"
        ],
        "parameters": [
          {
            "name": "sessionId",
            "in": "path",
            "description": "ID of proofing session",
            "required": true,
            "schema": {
              "type": "string",
              "example": "xxxxxxxxxx"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FetchProofingTemplatesResponse"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/proofingtemplates/tenant/{tenantId}/community/{communityId}": {
      "put": {
        "summary": "Create proofing template",
        "description": "Create proofing template. <br />\n\n|              **Headers**                     |\n|----------------------------------------------|\n\n### requestid (required)\nJSON string encrypted with ECDSA which should contain \"appid\" (string), \"uuid\" (string) and \"ts\" (number) representing epoch timestamp in seconds - it shouldn't be more or less than 'environment.allowed_time_span' seconds from now\n\n### publickey (required)\nPublic key\n\n|            **Returns**                    |\n|----------------------------------------------|\n\nReturns the created proofing template and errors if any. <br />\nThis API throw an error if something goes wrong.\n",
        "tags": [
          "Proofing Template"
        ],
        "security": [
          {
            "keyId": []
          },
          {
            "keySecret": []
          }
        ],
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "description": "ID of tenant",
            "required": true,
            "schema": {
              "type": "string",
              "example": "xxxxxxxxxx"
            }
          },
          {
            "name": "communityId",
            "in": "path",
            "description": "ID of community",
            "required": true,
            "schema": {
              "type": "string",
              "example": "xxxxxxxxxxxxxxxxxxxxxxxx"
            }
          },
          {
            "name": "requestid",
            "in": "header",
            "description": "JSON string encrypted with ECDSA which should contain \"appid\" (string), \"uuid\" (string) and \"ts\" (number) representing epoch timestamp in seconds - it shouldn't be more or less than 'environment.allowed_time_span' seconds from now / Try Authorize &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use 'Authorize' fields"
            }
          },
          {
            "name": "publickey",
            "in": "header",
            "description": "Public Key  / Try Authorize &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use 'Authorize' fields"
            }
          }
        ],
        "requestBody": {
          "description": "General Request body contains below fields to create proofing template.\n```\n{\n    \"documentType\": \"string required eg 'dl_object | ppt_object | idcard_object'\",\n    \"dvcID\": \"string required\",\n    \"workflow\": [{\n       \"name\": \"string required\",\n       \"type\": \"string required - HTML | CAPTURE_FRONT | CAPTURE_BACK | CAPTURE_SELFIE | PROCESSING\"\n       \"html\": \"base64 of html required\"\n       \"params\": [{\n         \"name\": \"string\",\n         \"field\": \"string\"\n       }]\n       \"actions\": [{\n         \"name\": \"string\",\n         \"on\": \"string\",\n         \"jumpTo\": \"string\",\n         \"call\": \"string\"\n       }]\n    }]\n}\n```\n",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateProofingTemplateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FetchProofingTemplateResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request, Validation errors."
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/proofingtemplates/tenant/{tenantId}/community/{communityId}/id/{id}": {
      "patch": {
        "summary": "update proofing template",
        "description": "update proofing template. <br />\n\n|              **Headers**                     |\n|----------------------------------------------|\n\n### requestid (required)\nJSON string encrypted with ECDSA which should contain \"appid\" (string), \"uuid\" (string) and \"ts\" (number) representing epoch timestamp in seconds - it shouldn't be more or less than 'environment.allowed_time_span' seconds from now\n\n### publickey (required)\nPublic key\n\n|            **Returns**                    |\n|----------------------------------------------|\n\nReturns the updated proofing template and errors if any. <br />\nThis API throw an error if something goes wrong.\n",
        "tags": [
          "Proofing Template"
        ],
        "security": [
          {
            "keyId": []
          },
          {
            "keySecret": []
          }
        ],
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "description": "ID of tenant",
            "required": true,
            "schema": {
              "type": "string",
              "example": "xxxxxxxxxx"
            }
          },
          {
            "name": "communityId",
            "in": "path",
            "description": "ID of community",
            "required": true,
            "schema": {
              "type": "string",
              "example": "xxxxxxxxxxxxxxxxxxxxxxxx"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "ID of proofing template",
            "required": true,
            "schema": {
              "type": "string",
              "example": "xxxxxxxxxxxxxxxxxxxxxxxx"
            }
          },
          {
            "name": "requestid",
            "in": "header",
            "description": "JSON string encrypted with ECDSA which should contain \"appid\" (string), \"uuid\" (string) and \"ts\" (number) representing epoch timestamp in seconds - it shouldn't be more or less than 'environment.allowed_time_span' seconds from now / Try Authorize &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use 'Authorize' fields"
            }
          },
          {
            "name": "publickey",
            "in": "header",
            "description": "Public Key  / Try Authorize &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use 'Authorize' fields"
            }
          }
        ],
        "requestBody": {
          "description": "General Request body contains below fields to update proofing template.\n```\n{\n    \"workflow\": [{\n       \"name\": \"string required\",\n       \"type\": \"string required - HTML\"\n       \"html\": \"base64 of html required\"\n       \"params\": [{\n         \"name\": \"string\",\n         \"field\": \"string\"\n       }]\n       \"actions\": [{\n         \"name\": \"string\",\n         \"on\": \"string\",\n         \"jumpTo\": \"string\",\n         \"call\": \"string\"\n       }]\n}\n```\n",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateProofingTemplateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FetchProofingTemplateResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request, Validation errors."
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Proofing Templates are Not found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      },
      "delete": {
        "summary": "Delete proofing template",
        "description": "Delete proofing template. <br />\n\n|              **Headers**                     |\n|----------------------------------------------|\n\n### requestid (required)\nJSON string encrypted with ECDSA which should contain \"appid\" (string), \"uuid\" (string) and \"ts\" (number) representing epoch timestamp in seconds - it shouldn't be more or less than 'environment.allowed_time_span' seconds from now\n\n### publickey (required)\nPublic key\n\n|            **Returns**                    |\n|----------------------------------------------|\n\nReturns the fetched proofing templates and errors if any. <br />\nThis API throw an error if something goes wrong.\n",
        "tags": [
          "Proofing Template"
        ],
        "security": [
          {
            "keyId": []
          },
          {
            "keySecret": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "ID of Proofing Template",
            "required": true,
            "schema": {
              "type": "string",
              "example": "xxxxxxxxxx"
            }
          },
          {
            "name": "tenantId",
            "in": "path",
            "description": "ID of tenant",
            "required": true,
            "schema": {
              "type": "string",
              "example": "xxxxxxxxxx"
            }
          },
          {
            "name": "communityId",
            "in": "path",
            "description": "ID of community",
            "required": true,
            "schema": {
              "type": "string",
              "example": "xxxxxxxxxxxxxxxxxxxxxxxx"
            }
          },
          {
            "name": "requestid",
            "in": "header",
            "description": "JSON string encrypted with ECDSA which should contain \"appid\" (string), \"uuid\" (string) and \"ts\" (number) representing epoch timestamp in seconds - it shouldn't be more or less than 'environment.allowed_time_span' seconds from now / Try Authorize &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use 'Authorize' fields"
            }
          },
          {
            "name": "publickey",
            "in": "header",
            "description": "Public Key  / Try Authorize &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use 'Authorize' fields"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request, Validation errors."
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/proofingtemplates/tenant/{tenantId}/community/{communityId}/dvcId/{dvcId}": {
      "patch": {
        "summary": "Update proofing template by dvcID",
        "description": "Update proofing template by dvcID. <br />\n- Only a **system**, **service** or **service_ext** license key can be used.\n- Request body must be encrypted with ECDSA.\n\n|              **Headers**                     |\n|----------------------------------------------|\n\n### licensekey (required)\nLicense key encrypted with ECDSA\n\n### requestid (required)\nJSON string encrypted with ECDSA which should contain \"appid\" (string), \"uuid\" (string) and \"ts\" (number) representing epoch timestamp in seconds - it shouldn't be more or less than 'environment.allowed_time_span' seconds from now\n\n### publickey (required)\nPublic key\n\n|            **Returns**                    |\n|----------------------------------------------|\n\nReturns the updated proofing template and errors if any. <br />\nThis API throws an error if something goes wrong.\n",
        "tags": [
          "Proofing Template"
        ],
        "security": [
          {
            "keyId": []
          },
          {
            "keySecret": []
          },
          {
            "license": []
          }
        ],
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "description": "ID of tenant",
            "required": true,
            "schema": {
              "type": "string",
              "example": "xxxxxxxxxx"
            }
          },
          {
            "name": "communityId",
            "in": "path",
            "description": "ID of community",
            "required": true,
            "schema": {
              "type": "string",
              "example": "xxxxxxxxxxxxxxxxxxxxxxxx"
            }
          },
          {
            "name": "dvcId",
            "in": "path",
            "description": "Device verification configuration ID",
            "required": true,
            "schema": {
              "type": "string",
              "example": "xxxxxxxxxxxxxxxxxxxxxxxx"
            }
          },
          {
            "name": "licensekey",
            "in": "header",
            "description": "License key encrypted with ECDSA / Try Authorize &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use 'Authorize' fields"
            }
          },
          {
            "name": "requestid",
            "in": "header",
            "description": "JSON string encrypted with ECDSA which should contain \"appid\" (string), \"uuid\" (string) and \"ts\" (number) representing epoch timestamp in seconds - it shouldn't be more or less than 'environment.allowed_time_span' seconds from now / Try Authorize &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use 'Authorize' fields"
            }
          },
          {
            "name": "publickey",
            "in": "header",
            "description": "Public Key  / Try Authorize &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use 'Authorize' fields"
            }
          }
        ],
        "requestBody": {
          "description": "Request body contains *data* field with encrypted object below:\n```\n{\n   \"data\": {\n       \"documentType\": \"dl_object\",\n       \"workflow\": [\n         {\n           \"name\": \"string required\",\n           \"type\": \"string required - HTML\",\n           \"html\": \"base64 of html required\",\n           \"params\": [\n             {\n               \"name\": \"string\",\n               \"field\": \"string\"\n             }\n           ],\n           \"actions\": [\n             {\n               \"name\": \"string\",\n               \"on\": \"string\",\n               \"jumpTo\": \"string\",\n               \"call\": \"string\"\n             }\n           ]\n         }\n       ]\n   }\n}\n```\n",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateProofingTemplateByDvcIdRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FetchProofingTemplateResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request, Validation errors."
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Proofing Templates are Not found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/proofingsession/{sessionId}": {
      "get": {
        "summary": "Get proofing session details",
        "description": "Retrieves proofing session data including configuration settings for document capture.\nReturns session status, user information, workflow details, and capture configuration.\n\n**Headers Required:**\n- requestid: ECDSA encrypted JSON with appid, uuid, and timestamp\n- publickey: ECDSA public key\n\n|              **Returns**                     |\n|----------------------------------------------|\n\nReturns a proofing session data, which contains:\n- status: Current status of the session\n- user: User information\n- id: Session id\n- documentType: Which document is being uploaded\n- license: Capture engine license\n- workflowId: Workflow Id (nullable)\n- wfInstanceId: Workflow Instance Id (nullable)\n- useHighResolutionImages: Whether high resolution images from bucket storage are used\n- bypassConfig: Array of bypass config objects\n- autoDetectTimeout: Timeout in seconds for auto-detection\n- postTimeoutCaptureMode: Capture mode after timeout (none/manual/auto)\n- autoCaptureCountdownSeconds: Countdown seconds for auto-capture (nullable)\n- autoCaptureCountdownVisible: Whether countdown is visible to user (nullable)\n- selfieCaptureMode: Selfie capture mode (auto/manualWithFaceDetection)\n",
        "tags": [
          "Proofing Session"
        ],
        "security": [
          {
            "keyId": []
          },
          {
            "keySecret": []
          }
        ],
        "parameters": [
          {
            "name": "sessionId",
            "in": "path",
            "description": "Unique identifier for the proofing session",
            "required": true,
            "schema": {
              "type": "string",
              "example": "xxxxxxxxxx"
            }
          },
          {
            "name": "requestid",
            "in": "header",
            "description": "ECDSA encrypted request data - use Authorize button &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use Authorize button"
            }
          },
          {
            "name": "publickey",
            "in": "header",
            "description": "ECDSA public key - use Authorize button &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use Authorize button"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Session details retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FetchProofingSessionResponse"
                }
              }
            }
          },
          "400": {
            "description": "Invalid session ID or session not found"
          },
          "500": {
            "description": "Internal server error"
          }
        }
      }
    },
    "/proofingsession/{sessionId}/start": {
      "get": {
        "summary": "start proofing session",
        "description": "This endpoint returns marks the session url as used\n\n|              **Headers**                     |\n|----------------------------------------------|\n\n### requestid (required)\nJSON string encrypted with ECDSA which should contain \"appid\" (string), \"uuid\" (string) and \"ts\" (number) representing epoch timestamp in seconds - it shouldn't be more or less than 'environment.allowed_time_span' seconds from now\n\n### publickey (required)\nPublic key\n\n|              **Returns**                     |\n|----------------------------------------------|\n\nReturns a verifier url and session id\n",
        "tags": [
          "Proofing Session"
        ],
        "security": [
          {
            "keyId": []
          },
          {
            "keySecret": []
          }
        ],
        "parameters": [
          {
            "name": "sessionId",
            "in": "path",
            "description": "ID of proofing session",
            "required": true,
            "schema": {
              "type": "string",
              "example": "xxxxxxxxxx"
            }
          },
          {
            "name": "requestid",
            "in": "header",
            "description": "JSON string encrypted with ECDSA which should contain \"appid\" (string), \"uuid\" (string) and \"ts\" (number) representing epoch timestamp in seconds - it shouldn't be more or less than 'environment.allowed_time_span' seconds from now / Try Authorize &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use 'Authorize' fields"
            }
          },
          {
            "name": "publickey",
            "in": "header",
            "description": "Public Key  / Try Authorize &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use 'Authorize' fields"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StartProofingSessionResponse"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/proofingsession/{sessionId}/complete": {
      "get": {
        "summary": "Complete proofing session",
        "description": "This endpoint returns proofing session status\n\n|              **Headers**                     |\n|----------------------------------------------|\n\n### requestid (required)\nJSON string encrypted with ECDSA which should contain \"appid\" (string), \"uuid\" (string) and \"ts\" (number) representing epoch timestamp in seconds - it shouldn't be more or less than 'environment.allowed_time_span' seconds from now\n\n### publickey (required)\nPublic key\n\n|              **Returns**                     |\n|----------------------------------------------|\n\nReturns a proofing session data\n",
        "tags": [
          "Proofing Session"
        ],
        "security": [
          {
            "keyId": []
          },
          {
            "keySecret": []
          }
        ],
        "parameters": [
          {
            "name": "sessionId",
            "in": "path",
            "description": "ID of proofing session",
            "required": true,
            "schema": {
              "type": "string",
              "example": "xxxxxxxxxx"
            }
          },
          {
            "name": "requestid",
            "in": "header",
            "description": "JSON string encrypted with ECDSA which should contain \"appid\" (string), \"uuid\" (string) and \"ts\" (number) representing epoch timestamp in seconds - it shouldn't be more or less than 'environment.allowed_time_span' seconds from now / Try Authorize &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use 'Authorize' fields"
            }
          },
          {
            "name": "publickey",
            "in": "header",
            "description": "Public Key  / Try Authorize &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use 'Authorize' fields"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CompleteProofingSessionResponse"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/proofingsession/{sessionId}/decline": {
      "get": {
        "summary": "Decline proofing session",
        "description": "This endpoint returns proofing session data\n\n|              **Headers**                     |\n|----------------------------------------------|\n\n### requestid (required)\nJSON string encrypted with ECDSA which should contain \"appid\" (string), \"uuid\" (string) and \"ts\" (number) representing epoch timestamp in seconds - it shouldn't be more or less than 'environment.allowed_time_span' seconds from now\n\n### publickey (required)\nPublic key\n\n|              **Returns**                     |\n|----------------------------------------------|\n\nReturns a proofing session data\n",
        "tags": [
          "Proofing Session"
        ],
        "parameters": [
          {
            "name": "sessionId",
            "in": "path",
            "description": "ID of proofing session",
            "required": true,
            "schema": {
              "type": "string",
              "example": "xxxxxxxxxx"
            }
          },
          {
            "name": "requestid",
            "in": "header",
            "description": "JSON string encrypted with ECDSA which should contain \"appid\" (string), \"uuid\" (string) and \"ts\" (number) representing epoch timestamp in seconds - it shouldn't be more or less than 'environment.allowed_time_span' seconds from now / Try Authorize &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use 'Authorize' fields"
            }
          },
          {
            "name": "publickey",
            "in": "header",
            "description": "Public Key  / Try Authorize &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use 'Authorize' fields"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeclineProofingSessionResponse"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/proofingsession/{sessionId}/upload/cancel": {
      "post": {
        "summary": "Cancel proofing session upload",
        "description": "This endpoint allows users to cancel an in-progress proofing session when image uploads to S3 are taking too long\nor the user wants to abandon the verification process.\n\n**Use Case:**\n- User is uploading high-resolution images to S3 bucket\n- Upload is taking too long or user wants to exit\n- User clicks cancel/end button in the UI\n- This endpoint is called to gracefully terminate the session\n\n**Requirements:**\n- Session must be in INPROGRESS state\n- useHighResolutionImages flag must be enabled in verification config\n- Valid AWS S3 bucket configuration must exist\n\n**Actions Performed:**\n- Marks session as COMPLETED with NOT_PERFORMED result status\n- Generates session summary certificate with error code IDV0016 (\"Session ended without image upload\")\n- Handles PII retention based on configuration (sets expiry or deletes data)\n- Asynchronously deletes any uploaded images from S3 bucket\n\n|              **Headers**                     |\n|----------------------------------------------|\n\n### requestid (required)\nJSON string encrypted with ECDSA which should contain \"appid\" (string), \"uuid\" (string) and \"ts\" (number) representing epoch timestamp in seconds - it shouldn't be more or less than 'environment.allowed_time_span' seconds from now\n\n### publickey (required)\nPublic key\n\n|              **Returns**                     |\n|----------------------------------------------|\n\nReturns the session status (COMPLETED)\n",
        "tags": [
          "Proofing Session"
        ],
        "parameters": [
          {
            "name": "sessionId",
            "in": "path",
            "description": "ID of proofing session",
            "required": true,
            "schema": {
              "type": "string",
              "example": "xxxxxxxxxx"
            }
          },
          {
            "name": "requestid",
            "in": "header",
            "description": "JSON string encrypted with ECDSA which should contain \"appid\" (string), \"uuid\" (string) and \"ts\" (number) representing epoch timestamp in seconds - it shouldn't be more or less than 'environment.allowed_time_span' seconds from now / Try Authorize &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use 'Authorize' fields"
            }
          },
          {
            "name": "publickey",
            "in": "header",
            "description": "Public Key  / Try Authorize &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use 'Authorize' fields"
            }
          }
        ],
        "requestBody": {
          "description": "Request body contains screenName field (optional)",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "screenName": {
                    "type": "string",
                    "description": "Screen name from which the cancel request is made (optional). Helps track where in the UI the user canceled the upload.",
                    "example": "Document Upload"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Upload successfully canceled, session marked as completed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "status": {
                          "type": "string",
                          "example": "COMPLETED"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request - Session not found or verification config not found"
          },
          "401": {
            "description": "Unauthorized - Invalid or missing authentication"
          },
          "404": {
            "description": "Not found - S3 bucket configuration not found"
          },
          "405": {
            "description": "Method not allowed - useHighResolutionImages is not enabled for this session"
          },
          "500": {
            "description": "Internal server error"
          },
          "501": {
            "description": "Not implemented - Bucket type is not AWS (only AWS S3 is supported)"
          }
        }
      }
    },
    "/proofingsession/{sessionId}/submit/verification/{verificationName}": {
      "post": {
        "summary": "submit documents (selfie)",
        "description": "This endpoint returns certificate\n\n|              **Headers**                     |\n|----------------------------------------------|\n\n### requestid (required)\nJSON string encrypted with ECDSA which should contain \"appid\" (string), \"uuid\" (string) and \"ts\" (number) representing epoch timestamp in seconds - it shouldn't be more or less than 'environment.allowed_time_span' seconds from now\n\n### publickey (required)\nPublic key\n\n|              **Returns**                     |\n|----------------------------------------------|\n\nReturns a verified certificate\n",
        "tags": [
          "Proofing Session"
        ],
        "parameters": [
          {
            "name": "sessionId",
            "in": "path",
            "description": "ID of proofing session",
            "required": true,
            "schema": {
              "type": "string",
              "example": "xxxxxxxxxx"
            }
          },
          {
            "name": "verificationName",
            "in": "path",
            "description": "('document_liveness_front', 'document_liveness_back', 'selfie_liveness')",
            "required": true,
            "schema": {
              "type": "string",
              "example": "xxxxxxxxxx"
            }
          },
          {
            "name": "requestid",
            "in": "header",
            "description": "JSON string encrypted with ECDSA which should contain \"appid\" (string), \"uuid\" (string) and \"ts\" (number) representing epoch timestamp in seconds - it shouldn't be more or less than 'environment.allowed_time_span' seconds from now / Try Authorize &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use 'Authorize' fields"
            }
          },
          {
            "name": "publickey",
            "in": "header",
            "description": "Public Key  / Try Authorize &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use 'Authorize' fields"
            }
          }
        ],
        "requestBody": {
          "description": "Request body contains object below: for specific document attributes check individual connectors requirements/validations\n```\n{\n    \"result\": \"object - extraction result\",\n    \"images\": { \"image\": \"\", \"cropped\": \"\", \"face\": \"\", \"imageBarcode\": \"\"},\n    \"imageNames\": \"Image URLs array [\"selfie_liveness_image\"]\",\n    \"event\": {\n        \"screen_name\": \"\",\n        \"event_name\": \"\"\n    }\n}\n",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SubmitRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success\n"
          },
          "400": {
            "description": "Bad Request, Validation errors."
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/proofingsession/{sessionId}/submit/document": {
      "post": {
        "summary": "submit documents",
        "description": "This endpoint returns certificate\n\n|              **Headers**                     |\n|----------------------------------------------|\n\n### requestid (required)\nJSON string encrypted with ECDSA which should contain \"appid\" (string), \"uuid\" (string) and \"ts\" (number) representing epoch timestamp in seconds - it shouldn't be more or less than 'environment.allowed_time_span' seconds from now\n\n### publickey (required)\nPublic key\n\n|              **Returns**                     |\n|----------------------------------------------|\n\nReturns a verified certificate\n",
        "tags": [
          "Proofing Session"
        ],
        "parameters": [
          {
            "name": "sessionId",
            "in": "path",
            "description": "ID of proofing session",
            "required": true,
            "schema": {
              "type": "string",
              "example": "xxxxxxxxxx"
            }
          },
          {
            "name": "requestid",
            "in": "header",
            "description": "JSON string encrypted with ECDSA which should contain \"appid\" (string), \"uuid\" (string) and \"ts\" (number) representing epoch timestamp in seconds - it shouldn't be more or less than 'environment.allowed_time_span' seconds from now / Try Authorize &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use 'Authorize' fields"
            }
          },
          {
            "name": "publickey",
            "in": "header",
            "description": "Public Key  / Try Authorize &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use 'Authorize' fields"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/SubmitDocumentRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success\n"
          },
          "400": {
            "description": "Bad Request, Validation errors."
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/proofingsession/{sessionId}/v2/submit/document": {
      "post": {
        "summary": "submit documents (images as base64) [NOT IN-USE]",
        "description": "This endpoint returns certificate\n\n|              **Headers**                     |\n|----------------------------------------------|\n\n### requestid (required)\nJSON string encrypted with ECDSA which should contain \"appid\" (string), \"uuid\" (string) and \"ts\" (number) representing epoch timestamp in seconds - it shouldn't be more or less than 'environment.allowed_time_span' seconds from now\n\n### publickey (required)\nPublic key\n\n|              **Returns**                     |\n|----------------------------------------------|\n\nReturns a verified certificate\n",
        "tags": [
          "Proofing Session"
        ],
        "parameters": [
          {
            "name": "sessionId",
            "in": "path",
            "description": "ID of proofing session",
            "required": true,
            "schema": {
              "type": "string",
              "example": "xxxxxxxxxx"
            }
          },
          {
            "name": "requestid",
            "in": "header",
            "description": "JSON string encrypted with ECDSA which should contain \"appid\" (string), \"uuid\" (string) and \"ts\" (number) representing epoch timestamp in seconds - it shouldn't be more or less than 'environment.allowed_time_span' seconds from now / Try Authorize &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use 'Authorize' fields"
            }
          },
          {
            "name": "publickey",
            "in": "header",
            "description": "Public Key  / Try Authorize &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use 'Authorize' fields"
            }
          }
        ],
        "requestBody": {
          "description": "Request body contains object below: for specific document attributes check individual connectors requirements/validations\n```\n{\n    \"document_front\": {\n       \"result\": \"object - extraction result\",\n       \"images\": \"array required - ['images', 'cropped', 'face', 'imageBarcode']\n    },\n    \"document_back\": {\n       \"result\": \"object - extraction result\",\n       \"images\": \"array required - ['images', 'cropped', 'face', 'imageBarcode']\n    },\n    \"fallbackCaptureMode\": \"string optional - 'manual' | 'auto'\"\n}\n",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SubmitDocumentV2Request"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success\n"
          },
          "400": {
            "description": "Bad Request, Validation errors."
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/proofingsession/{sessionId}/validate": {
      "get": {
        "summary": "validate proofing session",
        "description": "This endpoint returns result from validation of the proofing session\n\n|              **Headers**                     |\n|----------------------------------------------|\n\n### requestid (required)\nJSON string encrypted with ECDSA which should contain \"appid\" (string), \"uuid\" (string) and \"ts\" (number) representing epoch timestamp in seconds - it shouldn't be more or less than 'environment.allowed_time_span' seconds from now\n\n### publickey (required)\nPublic key\n\n|              **Returns**                     |\n|----------------------------------------------|\n\nReturns a proofing session data\n",
        "tags": [
          "Proofing Session"
        ],
        "security": [
          {
            "keyId": []
          },
          {
            "keySecret": []
          }
        ],
        "parameters": [
          {
            "name": "sessionId",
            "in": "path",
            "description": "ID of proofing session",
            "required": true,
            "schema": {
              "type": "string",
              "example": "xxxxxxxxxx"
            }
          },
          {
            "name": "requestid",
            "in": "header",
            "description": "JSON string encrypted with ECDSA which should contain \"appid\" (string), \"uuid\" (string) and \"ts\" (number) representing epoch timestamp in seconds - it shouldn't be more or less than 'environment.allowed_time_span' seconds from now / Try Authorize &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use 'Authorize' fields"
            }
          },
          {
            "name": "publickey",
            "in": "header",
            "description": "Public Key  / Try Authorize &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use 'Authorize' fields"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FetchProofingSessionResponse"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/proofingsession/{sessionId}/submit/event/{eventName}": {
      "post": {
        "summary": "Store Event",
        "description": "Store one event to events.<br /><br />\n\n  |              **Headers**                     |\n  |----------------------------------------------|\n\n  ### requestid (required)\n  JSON string encrypted with ECDSA which should contain \"appid\" (string), \"uuid\" (string) and \"ts\" (number) representing epoch timestamp in seconds - it shouldn't be more or less than 'environment.allowed_time_span' seconds from now\n\n  ### publickey (required)\n  Public key\n\n  |            **Returns**                    |\n  |-------------------------------------------|\n\n Response gives status OK if everything is ok\n",
        "tags": [
          "Proofing Session"
        ],
        "security": [
          {
            "keyId": []
          },
          {
            "keySecret": []
          }
        ],
        "parameters": [
          {
            "name": "sessionId",
            "in": "path",
            "description": "ID of proofing session",
            "required": true,
            "schema": {
              "type": "string",
              "example": "xxxxxxxxxx"
            }
          },
          {
            "name": "eventName",
            "in": "path",
            "description": "event name",
            "required": true,
            "schema": {
              "type": "string",
              "example": "xxxxxxxxxx"
            }
          },
          {
            "name": "requestid",
            "in": "header",
            "description": "JSON string encrypted with ECDSA which should contain \"appid\" (string), \"uuid\" (string) and \"ts\" (number) representing epoch timestamp in seconds - it shouldn't be more or less than 'environment.allowed_time_span' seconds from now / Try Authorize &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use 'Authorize' fields"
            }
          },
          {
            "name": "publickey",
            "in": "header",
            "description": "Public Key  / Try Authorize &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use 'Authorize' fields"
            }
          }
        ],
        "requestBody": {
          "description": "Request body contains *data* field with encrypted object below:\n```\n{\n    \"screen_name\": \"string required\",\n    \"status\": \"string - required\",\n    \"error\": \"string - required\"\n}\n",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StoreEventRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success\n"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/proofingsession/{sessionId}/v3/submit/document": {
      "post": {
        "summary": "submit documents (images as AWS S3 / GCP Bucket urls)",
        "description": "This endpoint returns certificate\n\n|              **Headers**                     |\n|----------------------------------------------|\n\n### requestid (required)\nJSON string encrypted with ECDSA which should contain \"appid\" (string), \"uuid\" (string) and \"ts\" (number) representing epoch timestamp in seconds - it shouldn't be more or less than 'environment.allowed_time_span' seconds from now\n\n### publickey (required)\nPublic key\n\n|              **Returns**                     |\n|----------------------------------------------|\n\nReturns a verified certificate\n",
        "tags": [
          "Proofing Session"
        ],
        "parameters": [
          {
            "name": "sessionId",
            "in": "path",
            "description": "ID of proofing session",
            "required": true,
            "schema": {
              "type": "string",
              "example": "xxxxxxxxxx"
            }
          },
          {
            "name": "requestid",
            "in": "header",
            "description": "JSON string encrypted with ECDSA which should contain \"appid\" (string), \"uuid\" (string) and \"ts\" (number) representing epoch timestamp in seconds - it shouldn't be more or less than 'environment.allowed_time_span' seconds from now / Try Authorize &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use 'Authorize' fields"
            }
          },
          {
            "name": "publickey",
            "in": "header",
            "description": "Public Key  / Try Authorize &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use 'Authorize' fields"
            }
          }
        ],
        "requestBody": {
          "description": "Request body contains object below: for specific document attributes check individual connectors requirements/validations\n```\n{\n    \"document_front\": {\n       \"result\": \"object - extraction result\",\n       \"imageNames\": \"Image URLs array [\"document_front_image\", \"document_front_face\"]\"\n    },\n    \"document_back\": {\n       \"result\": \"object - extraction result\",\n       \"imageNames\": \"Image URLs array [\"document_back_image\", \"document_back_imageBarcode\"]\"\n\n    },\n    \"fallbackCaptureMode\": \"string optional - 'manual' | 'auto'\"\n}\n",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SubmitDocumentV3Request"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success\n"
          },
          "400": {
            "description": "Bad Request, Validation errors."
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/proofingsession/fetch": {
      "post": {
        "summary": "Fetch session list",
        "description": "Fetch session list. This endpoint also has filters. <br />\n- Only a **system** or **service** key can be used to get sessions list.\n\n\n|              **Headers**                     |\n|----------------------------------------------|\n\n### licensekey (required)\nLicense key encrypted with ECDSA\n\n### requestid (required)\nJSON string encrypted with ECDSA which should contain \"appid\" (string), \"uuid\" (string) and \"ts\" (number) representing epoch timestamp in seconds - it shouldn't be more or less than 'environment.allowed_time_span' seconds from now\n\n### publickey (required)\nPublic key\n\n\n|            **Request Body**                  |\n|----------------------------------------------|\n\n### tenantId (required)\n\n<br />\n### communityId (required)\n\n<br />\n### pIndex (required)\n\n<br />\n### pSize (required)\n\n<br />\n### query.id (optional)\nFilter by session ID\n\n<br />\n### query.status (optional)\nFilter by session status: PENDING | INPROGRESS | EXPIRED | ABANDONED | COMPLETED | DECLINED\n\n<br />\n### query.overallRecommendation (optional)\nFilter by overall outcome: COMPLETED_PASS | COMPLETED_FAILED | COMPLETED_NOT_PERFORMED | REVIEW\n\n<br />\n### query.documentType (optional)\nFilter by document type: dl_object | ppt_object | idcard_object\n\n<br />\n### query.name (optional)\nFilter by user's first or last name (partial match)\n\n<br />\n### query.uid (optional)\nFilter by user UID (partial match)\n\n<br />\n### query.dvcID (optional)\nFilter by verification config ID\n\n<br />\n### query.startDate (optional)\nFilter by start date (format: YYYY-MM-DD HH:mm:ss.SSS)\n\n<br />\n### query.endDate (optional)\nFilter by end date (format: YYYY-MM-DD HH:mm:ss.SSS)\n\n|            **Returns**                    |\n|----------------------------------------------|\n\nReturns the sessions list with pagination info or errors if any. <br />\nThis API throws an error if something goes wrong.\n",
        "tags": [
          "Proofing Session"
        ],
        "security": [
          {
            "keyId": []
          },
          {
            "keySecret": []
          },
          {
            "license": []
          }
        ],
        "parameters": [
          {
            "name": "licensekey",
            "in": "header",
            "description": "License key encrypted with ECDSA / Try Authorize &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use 'Authorize' fields"
            }
          },
          {
            "name": "requestid",
            "in": "header",
            "description": "JSON string encrypted with ECDSA which should contain \"appid\" (string), \"uuid\" (string) and \"ts\" (number) representing epoch timestamp in seconds - it shouldn't be more or less than 'environment.allowed_time_span' seconds from now / Try Authorize &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use 'Authorize' fields"
            }
          },
          {
            "name": "publickey",
            "in": "header",
            "description": "Public Key  / Try Authorize &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use 'Authorize' fields"
            }
          }
        ],
        "requestBody": {
          "description": "Request body contains below fields to fetch sessions with filters\n```\n{\n   \"data\": {\n         \"query\": {\n             \"id\": \"session_id (optional)\",\n             \"status\": \"PENDING | INPROGRESS | EXPIRED | ABANDONED | COMPLETED | DECLINED (optional)\",\n             \"overallRecommendation\": \"COMPLETED_PASS | COMPLETED_FAILED | COMPLETED_NOT_PERFORMED | REVIEW (optional)\",\n             \"documentType\": \"dl_object | ppt_object | idcard_object (optional)\",\n             \"name\": \"user_name (optional)\",\n             \"uid\": \"user_uid (optional)\",\n             \"dvcID\": \"verification_config_id (optional)\",\n             \"startDate\": \"2024-12-13 00:00:00.000 (optional)\",\n             \"endDate\": \"2024-12-19 23:59:59.000 (optional)\"\n         },\n         \"pIndex\": 0,\n         \"pSize\": 100,\n         \"tenantId\": \"tenant_id\",\n         \"communityId\": \"community_id\"\n     }\n}\n",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FetchProofingSessionListRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success - Returns session list with pagination\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FetchProofingSessionListResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request, Validation errors."
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/proofingsession/{sessionId}/retry": {
      "get": {
        "summary": "Retry proofing session",
        "description": "This endpoint is used to retry proofing session\n\n|              **Headers**                     |\n|----------------------------------------------|\n\n### requestid (required)\nJSON string encrypted with ECDSA which should contain \"appid\" (string), \"uuid\" (string) and \"ts\" (number) representing epoch timestamp in seconds - it shouldn't be more or less than 'environment.allowed_time_span' seconds from now\n\n### publickey (required)\nPublic key\n\n|              **Returns**                     |\n|----------------------------------------------|\n\nReturns 200 if retry is available. Else it will throw an error.\n",
        "tags": [
          "Proofing Session"
        ],
        "security": [
          {
            "keyId": []
          },
          {
            "keySecret": []
          }
        ],
        "parameters": [
          {
            "name": "sessionId",
            "in": "path",
            "description": "ID of proofing session",
            "required": true,
            "schema": {
              "type": "string",
              "example": "xxxxxxxxxx"
            }
          },
          {
            "name": "requestid",
            "in": "header",
            "description": "JSON string encrypted with ECDSA which should contain \"appid\" (string), \"uuid\" (string) and \"ts\" (number) representing epoch timestamp in seconds - it shouldn't be more or less than 'environment.allowed_time_span' seconds from now / Try Authorize &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use 'Authorize' fields"
            }
          },
          {
            "name": "publickey",
            "in": "header",
            "description": "Public Key  / Try Authorize &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use 'Authorize' fields"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/proofingsession/{sessionId}/retry/cancel": {
      "get": {
        "summary": "To cancel retried proofing session",
        "description": "This endpoint is used to cancel the retries proofing session\n\n|              **Headers**                     |\n|----------------------------------------------|\n\n### requestid (required)\nJSON string encrypted with ECDSA which should contain \"appid\" (string), \"uuid\" (string) and \"ts\" (number) representing epoch timestamp in seconds - it shouldn't be more or less than 'environment.allowed_time_span' seconds from now\n\n### publickey (required)\nPublic key\n\n|              **Returns**                     |\n|----------------------------------------------|\n\nReturns 200 if retry is cancelled successfully. Else it will throw an error.\n",
        "tags": [
          "Proofing Session"
        ],
        "security": [
          {
            "keyId": []
          },
          {
            "keySecret": []
          }
        ],
        "parameters": [
          {
            "name": "sessionId",
            "in": "path",
            "description": "ID of proofing session",
            "required": true,
            "schema": {
              "type": "string",
              "example": "xxxxxxxxxx"
            }
          },
          {
            "name": "requestid",
            "in": "header",
            "description": "JSON string encrypted with ECDSA which should contain \"appid\" (string), \"uuid\" (string) and \"ts\" (number) representing epoch timestamp in seconds - it shouldn't be more or less than 'environment.allowed_time_span' seconds from now / Try Authorize &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use 'Authorize' fields"
            }
          },
          {
            "name": "publickey",
            "in": "header",
            "description": "Public Key  / Try Authorize &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use 'Authorize' fields"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Invalid request"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/presignedurls/{sessionId}": {
      "post": {
        "summary": "create presigned URLs",
        "description": "This endpoint returns presigned URLs\n\n|              **Headers**                     |\n|----------------------------------------------|\n\n### requestid (required)\nJSON string encrypted with ECDSA which should contain \"appid\" (string), \"uuid\" (string) and \"ts\" (number) representing epoch timestamp in seconds - it shouldn't be more or less than 'environment.allowed_time_span' seconds from now\n\n### publickey (required)\nPublic key\n\n|              **Returns**                     |\n|----------------------------------------------|\n\nReturns a verified certificate\n",
        "tags": [
          "Proofing Session"
        ],
        "parameters": [
          {
            "name": "sessionId",
            "in": "path",
            "description": "ID of proofing session",
            "required": true,
            "schema": {
              "type": "string",
              "example": "xxxxxxxxxx"
            }
          },
          {
            "name": "requestid",
            "in": "header",
            "description": "JSON string encrypted with ECDSA which should contain \"appid\" (string), \"uuid\" (string) and \"ts\" (number) representing epoch timestamp in seconds - it shouldn't be more or less than 'environment.allowed_time_span' seconds from now / Try Authorize &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use 'Authorize' fields"
            }
          },
          {
            "name": "publickey",
            "in": "header",
            "description": "Public Key  / Try Authorize &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use 'Authorize' fields"
            }
          }
        ],
        "requestBody": {
          "description": "Request body contains object below: for specific document attributes check individual connectors requirements/validations\n```\n{\n    \"imagesUrl\": array required - [\"document_front_image\", \"document_front_image_compressed\", \"document_front_face\", \"document_back_image\", \"document_back_image_compressed\", \"document_back_imageBarcode\", \"document_back_imageBarcode_compressed\", \"selfie_liveness_image\"]\n}\n",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PresignedUrlsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PresignedUrlsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request, Validation errors."
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/info": {
      "get": {
        "summary": "Get connector information",
        "description": "This endpoint returns available connector information.\n\n|              **Returns**                     |\n|----------------------------------------------|\n\nReturns array with connector information\n",
        "tags": [
          "Connector"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectorInfoResponse"
                }
              }
            }
          }
        }
      }
    },
    "/healthz": {
      "get": {
        "summary": "Get healthz.",
        "description": "Get healthz<br />\n\n\n|            **Returns**                    |\n|-------------------------------------------|\n\nReturns a healthz object\n - ```version = <git-tag>.<commit-id>.<dob>``` <br />\n\n - ```git-tag```: When code is compiled from a git-tag, this must carry the tag name. This should match one of the git tags.\n - ```commit-id```: This is the git-commit-id. eg: When code is built from this, the hex code, in the end, is the commit it.\n - ```dob```: Date Of Build. This is epoc-time-in-se\tconds that tell the time when the build was created.\n - \u200bif the code is not built from a git-tag, then the ```version =\ufffc<commit-id>.<dob>```\n",
        "tags": [
          "Healthz"
        ],
        "responses": {
          "200": {
            "description": "Success\n\n```\n{\n    \"status\": \"all services operational\",\n    \"publicKey\": \"string\" //same as <service>/publickeys endpoint,\n    \"code\": \"200\",\n    \"version\": \"<version>\" //as defined above\n}\n```\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HealthzResponse"
                }
              }
            }
          }
        }
      }
    },
    "/environment": {
      "get": {
        "description": "Provide details regarding the environments.\n|            **Returns**                    |\n|-------------------------------------------|\n\nReturns an environment object\n",
        "tags": [
          "Environment"
        ],
        "security": [
          {
            "license": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/ecdsa_helper/{method}": {
      "post": {
        "summary": "Encrypt and decrypt the data string by public key and private key.",
        "description": "Encrypt and decrypt the data string by public key and private key.\n\n|              **Parameters**                  |\n|----------------------------------------------|\n\n### method (optional)\nThe method parameter is type of enum. Default value is encrypt. <br />\nThis parameter only accepts following values <br />\n   **encrypt**, **decrypt**\n\n\n|            **Request Body**                  |\n|----------------------------------------------|\n\n\n### dataStr (required)\nThe dataStr key is type of string.\n\n<br />\n### publicKey (required)\nThe publicKey is type of string.\n\n<br />\n### privateKey (required)\nThe privateKey is type of string.\n\n|            **Returns**                    |\n|-------------------------------------------|\n\nReturns the encrypted/decrypted string. <br />\nThis API throw an error if something goes wrong. A common source of error is public or private key is not valid.\n",
        "tags": [
          "ECDSA Helper"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EcdsaEncryptDecryptRequest"
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "method",
            "schema": {
              "type": "string",
              "enum": [
                "encrypt",
                "decrypt"
              ],
              "default": "encrypt"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EcdsaEncryptDecryptResponse"
                }
              }
            }
          }
        }
      }
    },
    "/document_share_session/create": {
      "post": {
        "summary": "Create scan session for DL | PPT | IDCARD",
        "description": "Create scan session for DL | PPT | IDCARD. <br />\n- Only a **system** or **service** key can be used to get document certificate.\n\n\n|              **Headers**                     |\n|----------------------------------------------|\n\n### licensekey (required)\nLicense key encrypted with ECDSA\n\n### requestid (required)\nJSON string encrypted with ECDSA which should contain \"appid\" (string), \"uuid\" (string) and \"ts\" (number) representing epoch timestamp in seconds - it shouldn't be more or less than 'environment.allowed_time_span' seconds from now\n\n### publickey (required)\nPublic key\n\n\n|            **Request Body**                  |\n|----------------------------------------------|\n\n### connector (required)\nThe connector object.\n\n<br />\n### verification (required)\nThe verification object.\n\n<br />\n### sessionRequest (required)\nThe sessionRequest object.\n\n\n|            **Returns**                    |\n|----------------------------------------------|\n\nReturns the sessionId, url and errors if any. <br />\nThis API throw an error if something goes wrong.\n",
        "tags": [
          "Session"
        ],
        "security": [
          {
            "keyId": []
          },
          {
            "keySecret": []
          },
          {
            "license": []
          }
        ],
        "parameters": [
          {
            "name": "licensekey",
            "in": "header",
            "description": "License key encrypted with ECDSA / Try Authorize &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use 'Authorize' fields"
            }
          },
          {
            "name": "requestid",
            "in": "header",
            "description": "JSON string encrypted with ECDSA which should contain \"appid\" (string), \"uuid\" (string) and \"ts\" (number) representing epoch timestamp in seconds - it shouldn't be more or less than 'environment.allowed_time_span' seconds from now / Try Authorize &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use 'Authorize' fields"
            }
          },
          {
            "name": "publickey",
            "in": "header",
            "description": "Public Key  / Try Authorize &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use 'Authorize' fields"
            }
          }
        ],
        "requestBody": {
          "description": "Request body contains below fields to get dl_authenticate | ppt_authenticate | idcard_authenticate connector certificate.\n```\n{\n  \"connector\": {\n    \"id\": \"string required\",\n    \"type\": \"string required\",\n    \"config\": {\n      \"license\": \"string required\",\n      \"clientId\": \"string\",\n      \"clientSecret\": \"string\",\n      \"verifierUrl\": \"string required\",\n      \"document_share_session_enabled\": \"boolean required\",\n      \"dl\": {},\n      \"idcard\": {},\n      \"ppt\": {},\n    }\n  },\n  \"verification\": {\n    \"id\": \"string required\",\n    \"tag\": \"string required\",\n    \"config\": {\n      \"verifier\": \"string required\",\n      \"debug\": \"boolean required\",\n      \"skip\": \"boolean required\",\n      \"returnRawData\": \"boolean\",\n      \"fraudDetectFailureBypass\": \"boolean\",\n      \"expireSessionInMin\": \"number optional\",\n      \"abandonSessionInMin\": \"number optional\",\n      \"maxRetries\": \"number optional\",\n      \"checks\": [\n        \"document_liveness_front\",\n        \"document_liveness_back\",\n        \"selfie_liveness\",\n        \"face_compare\",\n        \"fraud_detection\"\n      ]\n    }\n  },\n  \"sessionRequest\": {\n    \"tenantDNS\": \"string required\",\n    \"communityName\": \"string required\",\n    \"documentType\": \"string required\",\n    \"did\": \"string optional\",\n    \"user\": {\n      \"uid\": \"string optional\",\n      \"username\": \"string optional\",\n      \"firstname\": \"string optional\",\n      \"lastname\": \"string optional\",\n    },\n    \"tenantId\": \"string required\",\n    \"communityId\": \"string required\",\n    \"workflowMetadata\": {\n      \"wfInstanceId\": \"string optional\",\n      \"workflowId\": \"string optional\",\n      // ...any additional metadata fields\n    }\n  }\n}\n```\n",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ScanSessionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScanSessionResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request, Validation errors."
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/document_share_session/result": {
      "post": {
        "summary": "Check Session Status",
        "description": "Check Session Status <br />\n- Only a **system** or **service** key can be used to get document certificate.\n\n\n|              **Headers**                     |\n|----------------------------------------------|\n\n### licensekey (required)\nLicense key encrypted with ECDSA\n\n### requestid (required)\nJSON string encrypted with ECDSA which should contain \"appid\" (string), \"uuid\" (string) and \"ts\" (number) representing epoch timestamp in seconds - it shouldn't be more or less than 'environment.allowed_time_span' seconds from now\n\n### publickey (required)\nPublic key\n\n\n|            **Request Body**                  |\n|----------------------------------------------|\n\n### connector (required)\nThe connector object.\n\n<br />\n### verification (required)\nThe verification object.\n\n<br />\n### sessionId (required)\nThe sessionId string.\n\n\n|            **Returns**                    |\n|----------------------------------------------|\n\nReturns the status of session and errors if any. <br />\nThis API throw an error if something goes wrong.\n",
        "tags": [
          "Session"
        ],
        "security": [
          {
            "keyId": []
          },
          {
            "keySecret": []
          },
          {
            "license": []
          }
        ],
        "parameters": [
          {
            "name": "licensekey",
            "in": "header",
            "description": "License key encrypted with ECDSA / Try Authorize &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use 'Authorize' fields"
            }
          },
          {
            "name": "requestid",
            "in": "header",
            "description": "JSON string encrypted with ECDSA which should contain \"appid\" (string), \"uuid\" (string) and \"ts\" (number) representing epoch timestamp in seconds - it shouldn't be more or less than 'environment.allowed_time_span' seconds from now / Try Authorize &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use 'Authorize' fields"
            }
          },
          {
            "name": "publickey",
            "in": "header",
            "description": "Public Key  / Try Authorize &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use 'Authorize' fields"
            }
          }
        ],
        "requestBody": {
          "description": "Request body contains below fields to get dl_authenticate | ppt_authenticate | idcard_authenticate connector certificate.\n```\n{\n    \"connector\": {\n        \"id\": \"string required\",\n        \"type\": \"string required - 'authenticid'\",\n        \"config\": {\n            \"airAccessKey\": \"string required\",\n            \"airSecretToken\": \"string required\",\n            \"airAPI\": \"string required\",\n            \"faceAPI\": \"string required\",\n            \"faceAPIKey\": \"string required\",\n            \"documentLivenessCheckAPI\": \"string optional\",\n            \"document_share_session_enabled\": \"string for scan-sessions\",\n            \"accountCode\": \"string for scan-sessions\",\n            \"cfweb_url\": \"string for scan-sessions\",\n            \"cfweb_cert\": \"string for scan-sessions\",\n            \"cfweb_key\": \"string for scan-sessions\",\n            \"cfweb_channelConfiguration\": {\n              \"enableSelfieCapture\": boolean for scan-sessions,\n              \"enableFarSelfie\": boolean for scan-sessions,\n              \"requestExpiryTimeInMin\": number for scan-sessions,\n              \"reviewScreenFront\": boolean for scan-sessions,\n              \"reviewScreenBack\": boolean for scan-sessions,\n              \"frontCaptureMode\": \"string for scan-sessions\",\n              \"backCaptureMode\": \"string for scan-sessions\",\n              \"transactionExpiryTimeInMin\": number for scan-sessions,\n              \"frontCaptureAttempt\": \"number for scan-sessions\",\n              \"backCaptureAttempt\": \"number for scan-sessions\",\n              \"selfieCaptureAttempt\": \"number for scan-sessions\",\n              \"transactionAttempts\": \"number for scan-sessions\",\n              \"frontSetManualTimeout\": number for scan-sessions,\n              \"backSetManualTimeout\": number for scan-sessions\n            },\n            \"cfweb_channelResponse\": [ //  for scan-sessions\n              \"DQL_Classification_DocumentClassName\",\n              \"DQL_Classification_DocumentName\",\n              \"DQL_Final_DocumentNumber_Result\",\n              \"DQL_Final_ExpirationDate_Result\",\n              \"DQL_Final_IssueDate_Result\",\n              \"DQL_Final_BirthDate_Result\",\n              \"DQL_Final_FirstName_Result\",\n              \"DQL_Final_Surname_Result\",\n              \"DQL_Final_MiddleName_Result\",\n              \"DQL_Final_GivenName_Result\",\n              \"DQL_Final_FullName_Result\",\n              \"ImageFront\",\n              \"ImageBack\",\n              \"ImageHeadshot\",\n              \"ImageSelfie\",\n              \"ImageLiveness\",\n              \"DQL_Final_Sex_Result\",\n              \"DQL_Final_EyeColor_Result\",\n              \"DQL_Final_AddressLine1_Result\",\n              \"DQL_Final_AddressCity_Result\",\n              \"DQL_Final_AddressState_Result\",\n              \"DQL_Classification_DocumentIssuerCountryCode\",\n              \"DQL_Final_AddressPostalCode_Result\",\n              \"ControlNumber\",\n              \"BirthPlace\"\n            ]\n        }\n    },\n    \"verification\": {\n        \"id\": \"string required\",\n        \"tag\": \"string required -  custom tag\",\n        \"type\": \"string required - 'dl_authenticate | ppt_authenticate | idcard_authenticate'\",\n        \"config\": {\n            \"verifier\": \"string required - custom tag from verifier\",\n            \"skip\": false,                          // boolean\n            \"debug\": false,                         // boolean\n            \"action_code\": 99,                      // number required\n            \"document_type\": \"11\"                   // string optional 00 - License/Idcard, 01- License/Passport, 11 - Passport - default will be 00\n        }\n    },\n    \"sessionId\": \"string required\",\n    \"includeMetadata\": \"boolean optional\",\n    \"apiVersion\": \"string optional\",\n    \"alwaysReturnAssets\": \"boolean optional - when enabled, returns assets (images) regardless of session outcome\",\n    \"granularStatus\": \"boolean optional - when true, returns the actual session status (PENDING vs INPROGRESS) without legacy masking\"\n}\n```\n",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SessionStatusRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionStatusResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request, Validation errors."
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/bucket/tenant/{tenantId}/community/{communityId}": {
      "put": {
        "summary": "Create bucket at community level",
        "description": "Create bucket at community level. <br />\n- Only a **system** or **service** key can be used to get document certificate.\n\n\n|              **Headers**                     |\n|----------------------------------------------|\n\n### licensekey (required)\nLicense key encrypted with ECDSA\n\n### requestid (required)\nJSON string encrypted with ECDSA which should contain \"appid\" (string), \"uuid\" (string) and \"ts\" (number) representing epoch timestamp in seconds - it shouldn't be more or less than 'environment.allowed_time_span' seconds from now\n\n### publickey (required)\nPublic key\n\n\n|            **Request Body**                  |\n|----------------------------------------------|\n\n### type (required)\nType value can be aws, gcp and azure.\n\n<br />\n### bucketName (required)\nThe bucketName string.\n\n<br />\n### isEnabled (required)\nThe isEnabled boolean.\n\n<br />\n### createdBy (required)\nThe createdBy boolean.\n\n<br />\n### aws_credential (optional)\nThe aws_credential object.\n\n<br />\n### gcp_credential (optional)\nThe gcp_credential object.\n\n<br />\n### azure_credential (optional)\nThe azure_credential object.\n\n|            **Returns**                    |\n|----------------------------------------------|\n\nReturns the buckets details or errors if any. <br />\nThis API throw an error if something goes wrong.\n",
        "tags": [
          "Buckets"
        ],
        "security": [
          {
            "keyId": []
          },
          {
            "keySecret": []
          },
          {
            "license": []
          }
        ],
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "description": "ID of tenant",
            "required": true,
            "schema": {
              "type": "string",
              "example": "xxxxxxxxxx"
            }
          },
          {
            "name": "communityId",
            "in": "path",
            "description": "ID of community",
            "required": true,
            "schema": {
              "type": "string",
              "example": "xxxxxxxxxxxxxxxxxxxxxxxx"
            }
          },
          {
            "name": "licensekey",
            "in": "header",
            "description": "License key encrypted with ECDSA / Try Authorize &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use 'Authorize' fields"
            }
          },
          {
            "name": "requestid",
            "in": "header",
            "description": "JSON string encrypted with ECDSA which should contain \"appid\" (string), \"uuid\" (string) and \"ts\" (number) representing epoch timestamp in seconds - it shouldn't be more or less than 'environment.allowed_time_span' seconds from now / Try Authorize &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use 'Authorize' fields"
            }
          },
          {
            "name": "publickey",
            "in": "header",
            "description": "Public Key  / Try Authorize &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use 'Authorize' fields"
            }
          }
        ],
        "requestBody": {
          "description": "Request body contains below fields to create bucket for aws, gcp or azure\n```\n{\n  \"type\": \"string required\",\n  \"bucketName\": \"string required\",\n  \"isEnabled\": \"boolean required - default false\",\n  \"createdBy\": \"string required\",\n  \"aws_credential\": {\n    \"accessKey\": \"string required\",\n    \"secretKey\": \"string required\",\n    \"region\": \"string required\"\n  } // optional,\n  \"gcp_credential\": {\n    \"projectid\": \"string required\",\n    \"clientEmail\": \"string required\",\n    \"privateKey\": \"string required\"\n  } // optional,\n  \"azure_credential\": {\n    \"accountName\": \"string required\",\n    \"accountKey\": \"string required\"\n  } // optional\n}\n```\n",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateBucketRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BucketResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request, Validation errors."
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      },
      "get": {
        "summary": "get bucket at community level",
        "description": "get bucket at community level. <br />\n- Only a **system** or **service** key can be used to get document certificate.\n\n\n|              **Headers**                     |\n|----------------------------------------------|\n\n### licensekey (required)\nLicense key encrypted with ECDSA\n\n### requestid (required)\nJSON string encrypted with ECDSA which should contain \"appid\" (string), \"uuid\" (string) and \"ts\" (number) representing epoch timestamp in seconds - it shouldn't be more or less than 'environment.allowed_time_span' seconds from now\n\n### publickey (required)\nPublic key\n\n\n|            **Returns**                    |\n|----------------------------------------------|\n\nReturns the bucket details or errors if any. <br />\nThis API throw an error if something goes wrong.\n",
        "tags": [
          "Buckets"
        ],
        "security": [
          {
            "keyId": []
          },
          {
            "keySecret": []
          },
          {
            "license": []
          }
        ],
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "description": "ID of tenant",
            "required": true,
            "schema": {
              "type": "string",
              "example": "xxxxxxxxxx"
            }
          },
          {
            "name": "communityId",
            "in": "path",
            "description": "ID of community",
            "required": true,
            "schema": {
              "type": "string",
              "example": "xxxxxxxxxxxxxxxxxxxxxxxx"
            }
          },
          {
            "name": "licensekey",
            "in": "header",
            "description": "License key encrypted with ECDSA / Try Authorize &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use 'Authorize' fields"
            }
          },
          {
            "name": "requestid",
            "in": "header",
            "description": "JSON string encrypted with ECDSA which should contain \"appid\" (string), \"uuid\" (string) and \"ts\" (number) representing epoch timestamp in seconds - it shouldn't be more or less than 'environment.allowed_time_span' seconds from now / Try Authorize &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use 'Authorize' fields"
            }
          },
          {
            "name": "publickey",
            "in": "header",
            "description": "Public Key  / Try Authorize &#128274;",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Do not enter anything, use 'Authorize' fields"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BucketResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request, Validation errors."
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "PublicKeyResponse": {
        "type": "object",
        "properties": {
          "publicKey": {
            "type": "string"
          }
        },
        "example": {
          "publicKey": ""
        }
      },
      "HealthzResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string"
          },
          "publicKey": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "version": {
            "type": "string"
          }
        },
        "example": {
          "status": "all services operational",
          "publicKey": "//same as <service>/publickeys endpoint",
          "code": "200",
          "version": "xxxx.xxxx.xxxx"
        }
      },
      "EcdsaEncryptDecryptRequest": {
        "type": "object",
        "properties": {
          "dataStr": {
            "type": "string"
          },
          "publicKey": {
            "type": "string"
          },
          "privateKey": {
            "type": "string"
          }
        },
        "example": {
          "dataStr": "Hey, This is example data string.",
          "publicKey": "xxxxxxxxxx/xxxxxxxxxxxxxxxxxxxxxx=",
          "privateKey": "xxxxxxxxx/xxxxxxxxxxxxxxxxxxxxxx="
        }
      },
      "EcdsaEncryptDecryptResponse": {
        "type": "object",
        "properties": {
          "publicKey": {
            "type": "string"
          },
          "data": {
            "type": "array"
          }
        },
        "example": {
          "data": "xxxxxxxxxxxxxxxxxxxx",
          "publicKey": "xxxxxxxxxxxxxxxxxxxx"
        }
      },
      "GetServiceComponentsResponse": {
        "type": "object",
        "properties": {
          "name1": {
            "type": "string"
          },
          "name2": {
            "type": "string"
          },
          "name3": {
            "type": "string"
          }
        },
        "example": {
          "name1": "https://xxx.xxxxxx.xxx/xxxxx",
          "name2": "https://xxx.xxxxxx.xxx/xxxxx",
          "name3": "https://xxx.xxxxxx.xxx/xxxxx"
        }
      },
      "FetchProofingTemplatesResponse": {
        "type": "object",
        "properties": {
          "list": {
            "type": "array",
            "description": "Proofing templates array",
            "items": {
              "type": "object",
              "properties": {
                "_id": {
                  "type": "string",
                  "example": "xxxxxxxxxxxxxxxxxxxxxxxx"
                },
                "tenantId": {
                  "type": "string",
                  "example": "xxxxxxxxxxx"
                },
                "communityId": {
                  "type": "string",
                  "example": "xxxxxxxxxxx"
                },
                "documentType": {
                  "type": "string",
                  "example": "dl_object | ppt_object | idcard_object"
                },
                "workflow": {
                  "type": "array",
                  "items": {
                    "properties": {
                      "name": {
                        "type": "string",
                        "example": "xxxxxx"
                      },
                      "html": {
                        "type": "string",
                        "example": "html base64"
                      },
                      "type": {
                        "type": "string",
                        "example": "HTML | CAPTURE_FRONT | CAPTURE_BACK | CAPTURE_SELFIE | PROCESSING"
                      },
                      "actions": {
                        "type": "array",
                        "items": {
                          "properties": {
                            "name": {
                              "type": "string",
                              "example": "xxxxxxxx"
                            },
                            "on": {
                              "type": "string",
                              "example": "xxxxxxx"
                            },
                            "call": {
                              "type": "string",
                              "example": "xxxxxxxx"
                            },
                            "jumpTo": {
                              "type": "string",
                              "example": "xxxxxxxx"
                            },
                            "script": {
                              "type": "string",
                              "example": "xxxxxxxx"
                            }
                          }
                        }
                      },
                      "params": {
                        "type": "array",
                        "items": {
                          "properties": {
                            "name": {
                              "type": "string",
                              "example": "xxxxxxxx"
                            },
                            "field": {
                              "type": "string",
                              "example": "xxxxxxxx"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "FetchProofingSessionResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "status": {
                "type": "string",
                "description": "Current status of the proofing session",
                "enum": [
                  "PENDING",
                  "INPROGRESS",
                  "COMPLETED",
                  "EXPIRED",
                  "DECLINED",
                  "ABANDONED"
                ],
                "example": "PENDING"
              },
              "user": {
                "type": "object",
                "description": "User information associated with the session",
                "properties": {
                  "uid": {
                    "type": "string",
                    "example": "user-123"
                  },
                  "username": {
                    "type": "string",
                    "example": "johndoe"
                  },
                  "firstname": {
                    "type": "string",
                    "example": "John"
                  },
                  "lastname": {
                    "type": "string",
                    "example": "Doe"
                  }
                }
              },
              "id": {
                "type": "string",
                "description": "Unique session identifier",
                "example": "session-abc123"
              },
              "documentType": {
                "type": "string",
                "description": "Type of document being verified",
                "enum": [
                  "dl_object",
                  "ppt_object",
                  "idcard_object"
                ],
                "example": "dl_object"
              },
              "license": {
                "type": "string",
                "description": "Capture engine license key",
                "example": "license-key-xyz"
              },
              "workflowId": {
                "type": "string",
                "nullable": true,
                "description": "Associated workflow identifier",
                "example": "workflow-xyz"
              },
              "wfInstanceId": {
                "type": "string",
                "nullable": true,
                "description": "Workflow instance identifier",
                "example": "instance-789"
              },
              "useBucket": {
                "type": "boolean",
                "description": "Whether to use cloud storage bucket",
                "example": false
              },
              "bypassConfig": {
                "type": "array",
                "description": "Configuration for bypassing certain checks",
                "items": {
                  "type": "object"
                },
                "example": []
              },
              "bypassConfigJS": {
                "type": "string",
                "description": "Configuration for bypassing certain checks"
              },
              "autoDetectTimeout": {
                "type": "number",
                "description": "Timeout in seconds for auto-detection",
                "example": 40
              },
              "postTimeoutCaptureMode": {
                "type": "string",
                "description": "Capture mode after timeout",
                "enum": [
                  "none",
                  "manual",
                  "auto"
                ],
                "example": "none"
              },
              "autoCaptureCountdownSeconds": {
                "type": "number",
                "nullable": true,
                "description": "Countdown seconds for auto-capture",
                "example": 5
              },
              "autoCaptureCountdownVisible": {
                "type": "boolean",
                "nullable": true,
                "description": "Whether countdown is visible to user",
                "example": true
              },
              "selfieCaptureMode": {
                "type": "string",
                "description": "Selfie Capture Mode",
                "enum": [
                  "auto",
                  "manualWithFaceDetection"
                ],
                "example": "auto"
              }
            }
          }
        },
        "example": {
          "status": "INPROGRESS",
          "user": {
            "uid": "user-123",
            "username": "johndoe",
            "firstname": "John",
            "lastname": "Doe"
          },
          "id": "session-abc123",
          "documentType": "dl_object",
          "license": "license-key-xyz",
          "selfieCaptureMode": "auto",
          "workflowId": "workflow-xyz",
          "wfInstanceId": "instance-789",
          "useBucket": false,
          "bypassConfig": [],
          "autoDetectTimeout": 40,
          "postTimeoutCaptureMode": "none",
          "autoCaptureCountdownSeconds": 5,
          "autoCaptureCountdownVisible": true
        }
      },
      "StartProofingSessionResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "_id": {
                "type": "string",
                "description": "Internal session identifier",
                "example": "xxxxxxxxxx"
              },
              "id": {
                "type": "string",
                "description": "Session identifier",
                "example": "xxxxxxxxxx"
              },
              "url": {
                "type": "string",
                "description": "Session URL (if applicable)",
                "example": "xxxxxxxxxx"
              },
              "tenantDNS": {
                "type": "string",
                "description": "Tenant DNS",
                "example": "xxxxxxxxxx"
              },
              "tenantId": {
                "type": "string",
                "description": "Tenant identifier",
                "example": "xxxxxxxxxx"
              },
              "communityName": {
                "type": "string",
                "description": "Community name",
                "example": "xxxxxxxxxx"
              },
              "communityId": {
                "type": "string",
                "description": "Community identifier",
                "example": "xxxxxxxxxx"
              },
              "documentType": {
                "type": "string",
                "description": "Type of document being verified",
                "enum": [
                  "dl_object",
                  "ppt_object",
                  "idcard_object"
                ],
                "example": "dl_object"
              },
              "status": {
                "type": "string",
                "description": "Current session status",
                "enum": [
                  "PENDING",
                  "INPROGRESS",
                  "COMPLETED",
                  "EXPIRED",
                  "DECLINED",
                  "ABANDONED"
                ],
                "example": "PENDING"
              },
              "did": {
                "type": "string",
                "description": "Decentralized identifier",
                "example": "did:example:123456789abcdefghi"
              },
              "dvcID": {
                "type": "string",
                "description": "Device verification configuration ID",
                "example": "dvc_123"
              },
              "expiryTS": {
                "type": "number",
                "description": "Expiry timestamp",
                "example": 1640995200000
              },
              "createdTS": {
                "type": "number",
                "description": "Creation timestamp",
                "example": 1640908800000
              },
              "startedTS": {
                "type": "number",
                "description": "Started timestamp",
                "example": 1640912400000
              },
              "abandonedTS": {
                "type": "number",
                "description": "Abandoned timestamp",
                "example": 1640916000000
              },
              "resultStatus": {
                "type": "string",
                "description": "Result status",
                "example": "xxxxxxxxxx"
              },
              "user": {
                "type": "object",
                "description": "User information",
                "properties": {
                  "uid": {
                    "type": "string",
                    "example": "xxxxxxxxxx"
                  },
                  "username": {
                    "type": "string",
                    "example": "xxxxxxxxxx"
                  },
                  "firstname": {
                    "type": "string",
                    "example": "xxxxxxxxxx"
                  },
                  "lastname": {
                    "type": "string",
                    "example": "xxxxxxxxxx"
                  }
                }
              },
              "history": {
                "type": "array",
                "description": "Session activity history",
                "items": {
                  "type": "object",
                  "properties": {
                    "activity": {
                      "type": "string",
                      "example": "STARTED"
                    },
                    "ipAddress": {
                      "type": "string",
                      "example": "192.168.1.1"
                    },
                    "userAgent": {
                      "type": "string",
                      "example": "Mozilla/5.0..."
                    },
                    "screenName": {
                      "type": "string",
                      "example": "WELCOME"
                    },
                    "ts": {
                      "type": "number",
                      "example": 1640912400000
                    }
                  }
                }
              }
            }
          }
        }
      },
      "CompleteProofingSessionResponse": {
        "type": "object",
        "properties": {
          "completionStatus": {
            "type": "string",
            "example": "xxxxxxxxxx"
          }
        }
      },
      "DeclineProofingSessionResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "example": "xxxxxxxxxx"
          },
          "user": {
            "type": "object",
            "properties": {
              "uid": {
                "type": "string",
                "example": "xxxxxxxxxx"
              },
              "username": {
                "type": "string",
                "example": "xxxxxxxxxx"
              },
              "firstname": {
                "type": "string",
                "example": "xxxxxxxxxx"
              },
              "lastname": {
                "type": "string",
                "example": "xxxxxxxxxx"
              }
            }
          },
          "id": {
            "type": "string",
            "example": "xxxxxxxxxx"
          },
          "documentType": {
            "type": "string",
            "example": "dl_object"
          }
        }
      },
      "SubmitRequest": {
        "type": "object",
        "properties": {
          "result": {
            "type": "object"
          },
          "images": {
            "type": "object",
            "properties": {
              "image": {
                "type": "string",
                "example": "xxxxxxxxxx"
              },
              "cropped": {
                "type": "string",
                "example": "xxxxxxxxxx"
              },
              "face": {
                "type": "string",
                "example": "xxxxxxxxxx"
              },
              "imageBarcode": {
                "type": "string",
                "example": "xxxxxxxxxx"
              }
            }
          },
          "imageNames": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "SubmitDocumentRequest": {
        "type": "object",
        "properties": {
          "images": {
            "type": "array",
            "description": "image file name should be back_image_barcode, back_image_cropped, back_image, front_image_barcode, front_image_cropped, front_image_face, front_image",
            "items": {
              "type": "string",
              "format": "binary"
            }
          },
          "front_image": {
            "type": "string",
            "example": "Pass as JSON.stringify({\"result\": {}})"
          },
          "back_image": {
            "type": "string",
            "example": "Pass as JSON.stringify({\"result\": {}})"
          },
          "fallbackCaptureMode": {
            "type": "string",
            "description": "Fallback capture mode used during document submission",
            "enum": [
              "manual",
              "auto"
            ],
            "example": "manual"
          }
        }
      },
      "SubmitDocumentV2Request": {
        "type": "object",
        "properties": {
          "document_front": {
            "type": "object",
            "properties": {
              "result": {
                "type": "object"
              },
              "images": {
                "type": "object",
                "properties": {
                  "image": {
                    "type": "string",
                    "example": "xxxxxxxxxx"
                  },
                  "cropped": {
                    "type": "string",
                    "example": "xxxxxxxxxx"
                  },
                  "face": {
                    "type": "string",
                    "example": "xxxxxxxxxx"
                  },
                  "imageBarcode": {
                    "type": "string",
                    "example": "xxxxxxxxxx"
                  }
                }
              }
            }
          },
          "document_back": {
            "type": "object",
            "properties": {
              "result": {
                "type": "object"
              },
              "images": {
                "type": "object",
                "properties": {
                  "image": {
                    "type": "string",
                    "example": "xxxxxxxxxx"
                  },
                  "cropped": {
                    "type": "string",
                    "example": "xxxxxxxxxx"
                  },
                  "face": {
                    "type": "string",
                    "example": "xxxxxxxxxx"
                  },
                  "imageBarcode": {
                    "type": "string",
                    "example": "xxxxxxxxxx"
                  }
                }
              }
            }
          },
          "fallbackCaptureMode": {
            "type": "string",
            "description": "Fallback capture mode used during document submission",
            "enum": [
              "manual",
              "auto"
            ],
            "example": "manual"
          }
        }
      },
      "SubmitDocumentV3Request": {
        "type": "object",
        "properties": {
          "document_front": {
            "type": "object",
            "properties": {
              "result": {
                "type": "object"
              },
              "imageNames": {
                "type": "array",
                "description": "Image URLs array [\"document_front_image\", \"document_front_image_compressed\", \"document_front_face\"]",
                "items": {
                  "type": "string"
                }
              }
            }
          },
          "document_back": {
            "type": "object",
            "properties": {
              "result": {
                "type": "object"
              },
              "imageNames": {
                "type": "array",
                "description": "Image URLs array [\"document_back_image\", \"document_back_image_compressed\", \"document_back_imageBarcode\", \"document_back_imageBarcode_compressed\"]",
                "items": {
                  "type": "string"
                }
              }
            }
          },
          "fallbackCaptureMode": {
            "type": "string",
            "description": "Fallback capture mode used during document submission",
            "enum": [
              "manual",
              "auto"
            ],
            "example": "manual"
          }
        }
      },
      "ServiceKeysResponse": {
        "type": "array",
        "description": "Service keys array",
        "items": {
          "type": "object",
          "required": [
            "tag",
            "keyId",
            "keySecret",
            "type"
          ],
          "properties": {
            "tag": {
              "type": "string",
              "description": "service ecdsa"
            },
            "keyId": {
              "type": "string",
              "description": "ecdsa publicKey"
            },
            "keySecret": {
              "type": "string",
              "description": "ecdsa private key"
            },
            "type": {
              "type": "string",
              "description": "default = ecdsa | hawk"
            }
          },
          "example": {
            "tag": "xxxxx",
            "keyId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx",
            "keySecret": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx",
            "type": "xxxxx"
          }
        }
      },
      "ConnectorInfoResponse": {
        "type": "array",
        "description": "connector info array",
        "items": {
          "type": "object",
          "properties": {
            "verifierType": {
              "type": "string",
              "description": "verifier type"
            },
            "docType": {
              "type": "string",
              "description": "doc type"
            }
          },
          "example": {
            "verifierType": "xxxxx",
            "docType": "xxxxx"
          }
        }
      },
      "VerifyDocumentRequest": {
        "type": "object",
        "properties": {
          "connector": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "type": {
                "type": "string"
              },
              "config": {
                "type": "object"
              }
            }
          },
          "verification": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "tag": {
                "type": "string"
              },
              "type": {
                "type": "string"
              },
              "config": {
                "type": "object"
              }
            }
          },
          "document": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "type": {
                "type": "string"
              }
            }
          },
          "referrerPublicKey": {
            "type": "string"
          }
        },
        "example": {
          "connector": {
            "id": "xxxxxxxxxxxxxxxxxxxxxxxx",
            "type": "xxxxxx",
            "config": {}
          },
          "verification": {
            "id": "xxxxxxxxxxxxxxxxxxxxxxxx",
            "tag": "xxxxxx",
            "type": "xxxxxx",
            "config": {}
          },
          "document": {
            "id": "xxxxxxxxx",
            "type": "xxxxxx",
            "...": null
          },
          "referrerPublicKey": "xxxxxxxxxxx"
        }
      },
      "VerifyDocumentResponse": {
        "type": "object",
        "description": "verify document certificate response",
        "properties": {
          "docType": {
            "type": "string",
            "description": "document type"
          },
          "docId": {
            "type": "string",
            "description": "doc id"
          },
          "type": {
            "type": "string",
            "description": "connector type"
          },
          "authority": {
            "type": "string",
            "description": "connector type"
          },
          "ts": {
            "type": "datetime",
            "description": "system time"
          },
          "verified": {
            "type": "boolean",
            "description": "doc type"
          },
          "result": {
            "type": "object",
            "description": "result"
          },
          "metadata": {
            "type": "object",
            "description": "metadata"
          },
          "token": {
            "type": "string",
            "description": "token"
          },
          "raw_data": {
            "type": "string",
            "description": "raw response from 3rd party"
          },
          "publicKey": {
            "type": "string"
          },
          "proof_jwt": {
            "type": "string",
            "description": "proof_jwt"
          }
        },
        "example": {
          "docType": "xxxxx",
          "docId": "xxxxxxxxxxxxxxxxxxxxxxxx",
          "type": "xxxxx",
          "authority": "xxxxx",
          "ts": "xxxxxxxxxx",
          "verified": true,
          "result": {},
          "metadata": {},
          "token": "xxxxxxxxxx/xxxxxxxxxxxxxxxxxxxxxx=",
          "raw_data": {},
          "publicKey": "xxxxx",
          "proof_jwt": "xxxxxxxxxxxxxxxxxxxxxx="
        }
      },
      "ScanSessionRequest": {
        "type": "object",
        "properties": {
          "connector": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "type": {
                "type": "string"
              },
              "config": {
                "type": "object"
              }
            }
          },
          "verification": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "tag": {
                "type": "string"
              },
              "type": {
                "type": "string"
              },
              "config": {
                "type": "object"
              }
            }
          },
          "sessionRequest": {
            "type": "object",
            "properties": {
              "tenantDNS": {
                "type": "string"
              },
              "communityName": {
                "type": "string"
              },
              "documentType": {
                "type": "string"
              },
              "userUID": {
                "type": "string"
              },
              "did": {
                "type": "string"
              },
              "workflowMetadata": {
                "type": "object",
                "properties": {
                  "wfInstanceId": {
                    "type": "string"
                  },
                  "workflowId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "example": {
          "connector": {
            "id": "xxxxxxxxxxxxxxxxxxxxxxxx",
            "type": "xxxxxx",
            "config": {}
          },
          "verification": {
            "id": "xxxxxxxxxxxxxxxxxxxxxxxx",
            "tag": "xxxxxx",
            "type": "xxxxxx",
            "config": {}
          },
          "sessionRequest": {
            "tenantDNS": "idpass.1kosmos.net",
            "communityName": "default",
            "documentType": "dl_object",
            "userUID": "xxxxxx",
            "did": "xxxxxxx",
            "workflowMetadata": {
              "wfInstanceId": "xxxxxx",
              "workflowId": "xxxxxx"
            }
          }
        }
      },
      "ScanSessionResponse": {
        "type": "object",
        "description": "Created sesison for dl verification",
        "properties": {
          "sessionId": {
            "type": "string",
            "description": "requestID"
          },
          "url": {
            "type": "string",
            "description": "scan DL URL"
          }
        },
        "example": {
          "sessionId": "xxxxx",
          "url": "xxxxxxxxxxxxxxxxxxxxxxxx"
        }
      },
      "SessionStatusRequest": {
        "type": "object",
        "properties": {
          "connector": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "type": {
                "type": "string"
              },
              "config": {
                "type": "object"
              }
            }
          },
          "verification": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "tag": {
                "type": "string"
              },
              "type": {
                "type": "string"
              },
              "config": {
                "type": "object"
              }
            }
          },
          "sessionId": {
            "type": "string"
          },
          "includeMetadata": {
            "type": "boolean"
          },
          "apiVersion": {
            "type": "string"
          },
          "alwaysReturnAssets": {
            "type": "boolean"
          },
          "granularStatus": {
            "type": "boolean",
            "description": "When true, returns the actual session status (PENDING vs INPROGRESS) without legacy masking. Defaults to false."
          }
        },
        "example": {
          "connector": {
            "id": "xxxxxxxxxxxxxxxxxxxxxxxx",
            "type": "xxxxxx",
            "config": {}
          },
          "verification": {
            "id": "xxxxxxxxxxxxxxxxxxxxxxxx",
            "tag": "xxxxxx",
            "type": "xxxxxx",
            "config": {}
          },
          "sessionId": "xxxxxxx",
          "includeMetadata": false,
          "apiVersion": "v3",
          "alwaysReturnAssets": false,
          "granularStatus": false
        }
      },
      "SessionStatusResponse": {
        "type": "object",
        "description": "check status of session",
        "properties": {
          "responseStatus": {
            "type": "string",
            "description": "status"
          },
          "sessionId": {
            "type": "string",
            "description": "requestID"
          },
          "dl_object": {
            "type": "object",
            "properties": {
              "description": "DL Object"
            }
          },
          "idcard_object": {
            "type": "object",
            "properties": {
              "description": "IDCARD Object"
            }
          },
          "ppt_object": {
            "type": "object",
            "properties": {
              "description": "PPT Object"
            }
          },
          "liveid_object": {
            "type": "object",
            "properties": {
              "description": "liveid Object"
            }
          },
          "token": {
            "type": "string",
            "description": "private_encrypted_blob_of_below_json"
          },
          "raw_data": {
            "type": "string",
            "description": "raw response from 3rd party"
          },
          "publicKey": {
            "type": "string"
          }
        },
        "example": {
          "responseStatus": "xxxxx",
          "sessionId": "xxxxx",
          "dl_object": {},
          "idcard_object": {},
          "ppt_object": {},
          "liveid_object": {},
          "token": "xxxxx",
          "raw_data": {},
          "publicKey": "xxxx"
        }
      },
      "StoreEventRequest": {
        "type": "object",
        "properties": {
          "screen_name": {
            "type": "string",
            "example": "xxxxxxxx"
          },
          "status": {
            "type": "boolean",
            "example": false
          },
          "error": {
            "type": "string",
            "example": "xxxxxxxx"
          }
        }
      },
      "CreateProofingTemplateRequest": {
        "type": "object",
        "properties": {
          "documentType": {
            "type": "string",
            "example": "dl_object | ppt_object | idcard_object"
          },
          "dvcID": {
            "type": "string",
            "example": "xxxxx"
          },
          "workflow": {
            "type": "array",
            "items": null,
            "properties": {
              "name": {
                "type": "string",
                "example": "xxxx"
              },
              "type": {
                "type": "string",
                "example": "xxxx"
              },
              "html": {
                "type": "string",
                "example": "base64"
              },
              "params": {
                "type": "array",
                "items": null,
                "properties": {
                  "name": {
                    "type": "string",
                    "example": "xxxx"
                  },
                  "field": {
                    "type": "string",
                    "example": "xxxx"
                  }
                }
              },
              "actions": {
                "type": "array",
                "items": null,
                "properties": {
                  "name": {
                    "type": "string",
                    "example": "xxxx"
                  },
                  "on": {
                    "type": "string",
                    "example": "xxxx"
                  },
                  "jumpTo": {
                    "type": "string",
                    "example": "xxxx"
                  },
                  "call": {
                    "type": "string",
                    "example": "xxxx"
                  }
                }
              }
            }
          }
        }
      },
      "FetchProofingTemplateResponse": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "example": "xxxxxxxxxxxxxxxxxxxxxxxx"
          },
          "tenantId": {
            "type": "string",
            "example": "xxxxxxxxxxx"
          },
          "communityId": {
            "type": "string",
            "example": "xxxxxxxxxxx"
          },
          "documentType": {
            "type": "string",
            "example": "dl_object | ppt_object | idcard_object"
          },
          "workflow": {
            "type": "array",
            "items": {
              "properties": {
                "name": {
                  "type": "string",
                  "example": "xxxxxx"
                },
                "html": {
                  "type": "string",
                  "example": "html base64"
                },
                "type": {
                  "type": "string",
                  "example": "HTML | CAPTURE_FRONT | CAPTURE_BACK | CAPTURE_SELFIE | PROCESSING"
                },
                "actions": {
                  "type": "array",
                  "items": {
                    "properties": {
                      "name": {
                        "type": "string",
                        "example": "xxxxxxxx"
                      },
                      "on": {
                        "type": "string",
                        "example": "xxxxxxx"
                      },
                      "call": {
                        "type": "string",
                        "example": "xxxxxxxx"
                      },
                      "jumpTo": {
                        "type": "string",
                        "example": "xxxxxxxx"
                      },
                      "script": {
                        "type": "string",
                        "example": "xxxxxxxx"
                      }
                    }
                  }
                },
                "params": {
                  "type": "array",
                  "items": {
                    "properties": {
                      "name": {
                        "type": "string",
                        "example": "xxxxxxxx"
                      },
                      "field": {
                        "type": "string",
                        "example": "xxxxxxxx"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "UpdateProofingTemplateRequest": {
        "type": "object",
        "properties": {
          "workflow": {
            "type": "array",
            "items": null,
            "properties": {
              "name": {
                "type": "string",
                "example": "string"
              },
              "type": {
                "type": "string",
                "example": "xxxx"
              },
              "html": {
                "type": "string",
                "example": "base64"
              },
              "params": {
                "type": "array",
                "items": null,
                "properties": {
                  "name": {
                    "type": "string",
                    "example": "xxxx"
                  },
                  "field": {
                    "type": "string",
                    "example": "xxxx"
                  }
                }
              },
              "actions": {
                "type": "array",
                "items": null,
                "properties": {
                  "name": {
                    "type": "string",
                    "example": "xxxx"
                  },
                  "on": {
                    "type": "string",
                    "example": "xxxx"
                  },
                  "jumpTo": {
                    "type": "string",
                    "example": "xxxx"
                  },
                  "call": {
                    "type": "string",
                    "example": "xxxx"
                  }
                }
              }
            }
          }
        }
      },
      "UpdateProofingTemplateByDvcIdRequest": {
        "type": "object",
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "type": "object",
            "required": [
              "documentType",
              "workflow"
            ],
            "properties": {
              "documentType": {
                "type": "string",
                "example": "dl_object"
              },
              "workflow": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "name",
                    "type"
                  ],
                  "properties": {
                    "name": {
                      "type": "string",
                      "example": "step1"
                    },
                    "type": {
                      "type": "string",
                      "example": "HTML"
                    },
                    "html": {
                      "type": "string",
                      "example": "<div>hello</div>"
                    },
                    "params": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "name": {
                            "type": "string",
                            "example": "param1"
                          },
                          "field": {
                            "type": "string",
                            "example": "field1"
                          }
                        }
                      }
                    },
                    "actions": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "name": {
                            "type": "string",
                            "example": "action1"
                          },
                          "on": {
                            "type": "string",
                            "example": "click"
                          },
                          "jumpTo": {
                            "type": "string",
                            "example": "step2"
                          },
                          "call": {
                            "type": "string",
                            "example": "submit"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "CreateBucketRequest": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "example": "aws | gcp | azure"
              },
              "bucketName": {
                "type": "string",
                "example": "xxxxxxxx"
              },
              "isEnabled": {
                "type": "boolean",
                "example": false
              },
              "createdBy": {
                "type": "string",
                "example": "xxxxxxxx"
              },
              "aws_credential": {
                "type": "object",
                "properties": {
                  "accessKey": {
                    "type": "string",
                    "example": "xxxxxxxx"
                  },
                  "secretKey": {
                    "type": "string",
                    "example": "xxxxxxxx"
                  },
                  "region": {
                    "type": "string",
                    "example": "xxxxxxxx"
                  }
                }
              },
              "gcp_credential": {
                "type": "object",
                "properties": {
                  "projectid": {
                    "type": "string",
                    "example": "xxxxxxxx"
                  },
                  "clientEmail": {
                    "type": "string",
                    "example": "xxxxxxxx"
                  },
                  "privateKey": {
                    "type": "string",
                    "example": "xxxxxxxx"
                  }
                }
              },
              "azure_credential": {
                "type": "object",
                "properties": {
                  "accountName": {
                    "type": "string",
                    "example": "xxxxxxxx"
                  },
                  "accountKey": {
                    "type": "string",
                    "example": "xxxxxxxx"
                  }
                }
              }
            }
          }
        }
      },
      "BucketResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "_id": {
                "type": "string",
                "example": "xxxxxxxxxxxxxxxxxxxxxxxx"
              },
              "tenantId": {
                "type": "string",
                "example": "xxxxxxxxxxx"
              },
              "communityId": {
                "type": "string",
                "example": "xxxxxxxxxxx"
              },
              "type": {
                "type": "string",
                "example": "aws | gcp | azure"
              },
              "bucketName": {
                "type": "string",
                "example": "xxxxxxxx"
              },
              "isEnabled": {
                "type": "boolean",
                "example": false
              },
              "createdBy": {
                "type": "string",
                "example": "xxxxxxxx"
              },
              "createdTS": {
                "type": "string",
                "example": "xxxxxxxx"
              },
              "updatedTS": {
                "type": "string",
                "example": "xxxxxxxx"
              },
              "aws_credential": {
                "type": "object",
                "properties": {
                  "accessKey": {
                    "type": "string",
                    "example": "xxxxxxxx"
                  },
                  "secretKey": {
                    "type": "string",
                    "example": "xxxxxxxx"
                  },
                  "region": {
                    "type": "string",
                    "example": "xxxxxxxx"
                  }
                }
              },
              "gcp_credential": {
                "type": "object",
                "properties": {
                  "projectid": {
                    "type": "string",
                    "example": "xxxxxxxx"
                  },
                  "clientEmail": {
                    "type": "string",
                    "example": "xxxxxxxx"
                  },
                  "privateKey": {
                    "type": "string",
                    "example": "xxxxxxxx"
                  }
                }
              },
              "azure_credential": {
                "type": "object",
                "properties": {
                  "accountName": {
                    "type": "string"
                  },
                  "accountKey": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      },
      "PresignedUrlsRequest": {
        "type": "object",
        "properties": {
          "imagesUrl": {
            "type": "array",
            "description": "Image URLs array [\"document_front_image\", \"document_front_image_compressed\", \"document_front_face\", \"document_back_image\", \"document_back_image_compressed\", \"document_back_imageBarcode\", \"document_back_imageBarcode_compressed\", \"selfie_liveness_image\"]",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "PresignedUrlsResponse": {
        "type": "object",
        "properties": {
          "document_front_image": {
            "type": "string",
            "example": "https://bucket/document_front_image.png"
          },
          "document_front_image_compressed": {
            "type": "string",
            "example": "https://bucket/document_front_image_compressed.jpeg"
          },
          "document_front_face": {
            "type": "string",
            "example": "https://bucket/document_front_face.jpeg"
          },
          "document_back_image": {
            "type": "string",
            "example": "https://bucket/document_back_image.png"
          },
          "document_back_image_compressed": {
            "type": "string",
            "example": "https://bucket/document_back_image_compressed.jpeg"
          },
          "document_back_imageBarcode": {
            "type": "string",
            "example": "https://bucket/document_back_imageBarcode.png"
          },
          "document_back_imageBarcode_compressed": {
            "type": "string",
            "example": "https://bucket/document_back_imageBarcode_compressed.jpeg"
          }
        }
      },
      "FetchProofingSessionListRequest": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "query": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "example": "xxxxxxxxxx"
                  },
                  "status": {
                    "type": "string",
                    "example": "COMPLETED_PASS | COMPLETED_FAILED | COMPLETED_NOT_PERFORMED | PENDING | EXPIRED | INPROGRESS | DECLINED | COMPLETED | ABANDONED"
                  },
                  "documentType": {
                    "type": "string",
                    "example": "dl_object | ppt_object | idcard_object"
                  },
                  "name": {
                    "type": "string",
                    "example": "xxxxxxxxxx"
                  },
                  "startDate": {
                    "type": "string",
                    "example": "2024-12-19 23:59:59.000"
                  },
                  "endDate": {
                    "type": "string",
                    "example": "2024-12-19 23:59:59.000"
                  },
                  "dvcID": {
                    "type": "string",
                    "example": "xxxxxxxxxx"
                  },
                  "uid": {
                    "type": "string",
                    "example": "xxxxxxxxxx"
                  }
                }
              },
              "pIndex": {
                "type": "number",
                "example": 0
              },
              "pSize": {
                "type": "number",
                "example": 100
              },
              "tenantId": {
                "type": "string",
                "example": "xxxxxxxxxx"
              },
              "communityId": {
                "type": "string",
                "example": "xxxxxxxxxx"
              }
            }
          }
        }
      },
      "FetchProofingSessionListResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "data": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "_id": {
                      "type": "string",
                      "example": "xxxxxxxxxx"
                    },
                    "id": {
                      "type": "string",
                      "example": "xxxxxxxxxx"
                    },
                    "dvcID": {
                      "type": "string",
                      "example": "xxxxxxxxxx"
                    },
                    "tenantDNS": {
                      "type": "string",
                      "example": "xxxxxxxxxx"
                    },
                    "tenantId": {
                      "type": "string",
                      "example": "xxxxxxxxxx"
                    },
                    "communityName": {
                      "type": "string",
                      "example": "xxxxxxxxxx"
                    },
                    "communityId": {
                      "type": "string",
                      "example": "xxxxxxxxxx"
                    },
                    "documentType": {
                      "type": "string",
                      "example": "dl_object"
                    },
                    "expiryTS": {
                      "type": "string",
                      "example": "xxxxxxxxxx"
                    },
                    "createdTS": {
                      "type": "string",
                      "example": "xxxxxxxxxx"
                    },
                    "user": {
                      "type": "object",
                      "properties": {
                        "uid": {
                          "type": "string",
                          "example": "xxxxxxxxxx"
                        },
                        "firstname": {
                          "type": "string",
                          "example": "xxxxxxxxxx"
                        },
                        "lastname": {
                          "type": "string",
                          "example": "xxxxxxxxxx"
                        },
                        "username": {
                          "type": "string",
                          "example": "xxxxxxxxxx"
                        }
                      }
                    },
                    "startedTS": {
                      "type": "string",
                      "example": "xxxxxxxxxx"
                    },
                    "completedTS": {
                      "type": "string",
                      "example": "xxxxxxxxxx"
                    },
                    "resultStatus": {
                      "type": "string",
                      "example": "xxxxxxxxxx"
                    },
                    "session-result": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    }
                  }
                }
              },
              "page": {
                "type": "object",
                "properties": {
                  "index": {
                    "type": "number",
                    "example": 1
                  },
                  "total": {
                    "type": "number",
                    "example": 100
                  },
                  "size": {
                    "type": "number",
                    "example": 10
                  }
                }
              }
            }
          }
        }
      }
    },
    "securitySchemes": {
      "keyId": {
        "type": "apiKey",
        "name": "keyId",
        "in": "header",
        "description": "ECDSA Public Key"
      },
      "keySecret": {
        "type": "apiKey",
        "name": "keySecret",
        "in": "header",
        "description": "ECDSA Private Key"
      },
      "license": {
        "type": "apiKey",
        "name": "license",
        "in": "header",
        "description": "License key from License Microservice"
      }
    }
  },
  "tags": [
    {
      "name": "Verify"
    },
    {
      "name": "Service Key"
    },
    {
      "name": "Public Key"
    },
    {
      "name": "Proofing Session"
    },
    {
      "name": "Connector"
    },
    {
      "name": "Healthz"
    },
    {
      "name": "Environment"
    },
    {
      "name": "ECDSA Helper"
    },
    {
      "name": "Session"
    },
    {
      "name": "Buckets"
    }
  ],
  "servers": [
    {
      "url": "https://pilot-root.1kosmos.net/idproofingapi/"
    }
  ]
}