{
  "openapi": "3.0.1",
  "info": {
    "title": "DigiCert® Content Trust Manager",
    "description": "\nDownload the OpenAPI definition for this page:\n- [YAML format](/api-reference/openapi/document-trust.yaml)\n- [JSON format](/api-reference/openapi/document-trust.json)\n\nWelcome to the DigiCert® Content Trust Manager REST API reference documentation. The DigiCert® Content Trust Manager API service provides operations for managing validations, credentials, documents, and signatures related to document signing.\n\n## Base URL\n\nThe base URL path for endpoints in the DigiCert® Content Trust Manager REST API is: `{server}/documentmanager/api/v1`.\n\nReplace `{server}` with the hostname of your DigiCert ONE instance. For example, if you are using the DigiCert ONE hosted cloud solution, your `{server}` is `https://one.digicert.com`.\n\n## Authentication\n\nAPI clients can authenticate to endpoints in the DigiCert® Content Trust Manager REST API using these methods:\n* Header-based API token authentication\n* Authentication using a client authentication certificate\n* OAuth 2.0 access token — required for CSC API operations only\n* Digest authentication — required for CSC API operations only\n\n### API token\n\nTo authenticate with an API token, include the custom HTTP header `x-api-key` in your request. Use one of these values in the `x-api-key` header:\n* A Service user token ID (**recommended**).\n* An API token bound to a DigiCert ONE administrator.\n\n**Note:** We recommend that you dedicate a Service user token ID to API operations as this distinguishes API requests from administrator actions in your account audit logs.\n\n**Service user token ID**\n* Service users are API tokens that are not associated with an account user.\n* When you create a service user, you assign only the permissions needed for the API integration.\n* There are two ways to create a new service user:\n\n  * Use the Account Manager in DigiCert ONE:\n    1. Log into your DigiCert ONE account and switch to **Account Manager**.\n    2. Select **Access** from the left menu.\n    3. Select **Service User** from the left menu.\n    4. Select **Create service user** and follow the remaining prompts.\n\n  * Make a request to the `/account/api/v1/user` endpoint in the DigiCert ONE Account Manager API service.\n\n\n**Administrator API token**\n\n* Standard users can create API tokens in DigiCert ONE.\n\n* API tokens have the same permissions and access scope as the user that created them.\n\n* Actions linked to the API token are logged under the user's name in event audit logs.\n* To generate a new API token:\n\n  1. In DigiCert One, in the top menu on the right, select the person icon > Admin Profile. \n  2. Scroll down to the API Tokens section on the profile details page.\n  3. Select Create API token and follow the remaining prompts.\n\n\n### Client authentication certificate\n\nWhen authenticating with a client authentication certificate, you present a trusted certificate in your request. Both DigiCert ONE account users and service users can use client authentication certificates.\n\nTo generate a client authentication certificate:\n\n  1. Navigate to the DigiCert ONE **Account Manager**.\n  2. Select **Access** from the left menu.\n  3. Search for and select your service or account user.\n  4. Scroll to the **Authentication certificates** section and select **Create authentication certificate**.\n  5. Enter a **Nickname** and select an **End date** for the certificate.\n  6. Select **Generate certificate**. Copy the password that is displayed (this is only displayed once and is required to decrypt the PKCS12 certificate file) and select **Download certificate**.\n  7. Confirm that you have downloaded the certificate file (**Certificate_pkcs12.p12**) and that you can successfully decrypt it with the provided password, then click **Close** in the certificate download dialog box.\n  8. Review the permissions you wish to provide to the Service user that the certificate is associated with.\n\n  **Note**: We recommend that you assign permissions according to the principle of least privilege, i.e. you assign the minimum permissions needed to perform the required tasks.\n\nTo use a client authentication certificate:\n\n* Include the certificate in your API request.\n* In the base URL for the endpoint path, add the prefix `clientauth`. For example: `https://clientauth.one.digicert.com`\n* Omit the `x-api-key` header.\n\n### OAuth 2.0 access token authentication\n\nDigiCert supports CSC API V0.1.7.9 and CSC API V1.0.4.0 specifications. The supported authentication methods are a part of the CSC Info API(/info) response and might vary based on region.\n\n* OAuth 2.0 client credentials flow\n* OAuth 2.0 authorization code flow\n* OAuth 2.0 authorization code flow with PKCE\n\n#### OAuth 2.0 client credentials flow \nThe OAuth 2.0 access token for user authentication is requested and returned in a series of HTTP requests performed by the signing application for the OAuth 2.0 client credentials flow.\n  1. The client (signature application) performs a request to the `/info` endpoint, which returns information about the service and authentication methods including its available endpoints.\n\n  2. The client performs a request to the `/oauth2/token` endpoint. This returns the access token which is used to authenticate credential and signing requests performed by the signing application for the remainder of the session.\n\n#### OAuth 2.0 authorization code flow\nThe OAuth 2.0 access token for user authentication is requested and returned in a series of HTTP requests performed by the signing application for the OAuth 2.0 authorization code flow.\n\n  1. The client (signature application) performs a request to the `/info` endpoint, which returns information about the service and authentication methods including its available endpoints.\n\n  2. The client performs a request to the `/oauth2/authorize` endpoint which prompts the user's DigiCert ONE login. This returns an authorization code, to be used in a subsequent call to request the OAuth 2.0 access token.\n\n  3. The client performs a request to the `/oauth2/token` endpoint using the authorization code obtained in step 2. This returns the access token which is used to authenticate credential and signing requests performed by the signing application for the remainder of the session.\n\n  Using the token obtained, the signature application performs requests to these endpoints:\n    \n    *credentials/info\n\n    *credentials/authorize\n\n    *credentials/sendOTP\n\n    *credentials/extendTransaction\n\n    *credentials/signHash\n\n### Digest authentication\n\nUsers created through the DSM API with the signer role can authenticate to the `/imauth/auth/login` endpoint using Digest authentication.\n\nThis header-based authentication method is performed using an Authorization header in a series of requests to the login endpoint:\n\n  1. The client performs a GET request to the `/imauth/auth/login` endpoint.\n\n  2. The server checks if an `Authorization` header is present in the request.\n  \n  3. If no `Authorization` header is found, the server returns a nonce (a unique server-generated string) in the `WWW-Authenticate` header of a `401 — Unauthorized` response. This nonce value expires after 120 seconds.\n  \n  4. The client performs a second GET request to the `/imauth/auth/login` endpoint, including the following details in an `Authorization` header:\n     \n     *realm=\"\" (The host domain of your DigiCert ONE DSM service)\n\n     *algorithm=SHA-256 (The digest algorithm)\n\n     *nonce=\"<nonce_value>\" (The nonce value returned in the server response at step 3)\n\n     *response=\"<response_value>\" (A string of hex digits computed using the username, realm, password, and nonce values)\n  \n  5. If the nonce and user details used in the `Authorization` header are valid, the server returns an `access_token` in the body of a HTTP 200 response.\n\n  6. If the user details are incorrect, or the nonce value is expired or otherwise invalid, the server returns `HTTP 401 — Unauthorized`.\n\n  7. The access token returned in step 5 is used to authenticate subsequent requests made by the client.\n\n## CSC APIs\n  \n  Using the bearer token obtained in authentication, the signature application performs requests to these endpoints to facilitate credential access, signing, and session authorization revocation:\n\n    *credentials/list\n\n    *credentials/info\n\n    *credentials/authorize\n\n    *credentials/sendOTP\n\n    *credentials/extendTransaction\n\n    *signatures/signHash\n\n    *signatures/timestamp\n\n    *auth/revoke\n\n## HTTP Methods\n\nThe DigiCert® Content Trust Manager API uses these standard HTTP methods:\n\n* GET\n* POST\n* PUT\n* DELETE\n\n## Body and content type\n\nAll requests that include a request body require JSON formatted data with the `Content-Type` header set to `application/json`.\n\nGET requests do not require request body data. However, some GET operations allow you to filter results using optional search and paging parameters in URL path or query strings. For example, `.../api/v1/audit-log/cursor?limit=50`.\n\n## Responses\n\nEach response consists of a header and a body. The body is formatted based on the content type requested in the `Accept` header.\n\n**Note:** DigiCert® Content Trust Manager APIs only support responses with a content type of `application/json`. Requests that use the `Accept` header to specify a different content type will fail.\n\n### Headers\n\nEach response includes a header with a response code based on [RFC 2616](https://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html#sec6.1.1) specifications.\n\n* HTTP codes in the **200-399** range describe a successful request. Response bodies for HTTP codes in this range include the response data associated with the operation.\n* HTTP codes in the **400+** range describe an error.\n\nUnsuccessful requests return a list with one or more `errors`. Each error object includes a `code` and a `message` describing the issue with the request.\n\n**Example error response**\n\n```JSON\n{\n  \"error\": \"\",\n  \"error_description\" : \"\"\n}\n```\n",
    "version": "1.0"
  },
  "security": [
    {
      "ApiKeyAuth": []
    }
  ],
  "tags": [
    {
      "name": "Audit logs"
    },
    {
      "name": "Credentials (v1)"
    },
    {
      "name": "CSC (v0)"
    },
    {
      "name": "CSC (v1)"
    },
    {
      "name": "Validations"
    },
    {
      "name": "Advanced electronic signature"
    },
    {
      "name": "Delegated RA",
      "description": "Every Digicert One Content Trust manager for delegated RA partner gets an umbrella account in Digicert One Content Trust manager. Partner can onboard their clients as subaccount in Digicert One Content Trust manager."
    }
  ],
  "servers": [
    {
      "url": "https://{host}/documentmanager",
      "variables": {
        "host": {
          "default": "one.digicert.com"
        }
      }
    }
  ],
  "paths": {
    "/api/v1/audit-log/cursor": {
      "get": {
        "tags": [
          "Audit logs"
        ],
        "summary": "List audit logs using cursor pagination",
        "description": "Use this endpoint to list the audit logs for your account using cursor-based pagination.\n\nThis endpoint provides more efficient pagination for large datasets compared to offset-based pagination.\n\n**Pagination Flow:**\n\n1. **First page request:** Make a request without `cursor_timestamp` and `cursor_id` parameters\n   ```\n   GET /api/v1/audit-log/cursor?account_id={account_id}&limit=10\n   ```\n\n2. **Subsequent page requests:** Use the `next_cursor_timestamp` and `next_cursor_id` values from the previous response's `pagination` object\n   ```\n   GET /api/v1/audit-log/cursor?account_id={account_id}&limit=10&cursor_timestamp=2026-06-07T04:25:42.722&cursor_id=84d8b98f-c1a6-4232-9944-dbfc135aced9\n   ```\n\nThe response includes a `pagination` object with `has_next` to indicate if more records are available, and `next_cursor_timestamp`/`next_cursor_id` for fetching the next page.\n",
        "operationId": "listAuditLogsWithCursor",
        "parameters": [
          {
            "name": "cursor_timestamp",
            "in": "query",
            "description": "Cursor timestamp from the previous page response (ISO-8601 format).\n\n**Not required for the first page** - only include this parameter when fetching subsequent pages using the `next_cursor_timestamp` value from the previous response's `pagination` object.\n",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "example": "2026-06-07T04:25:42.722"
          },
          {
            "name": "cursor_id",
            "in": "query",
            "description": "Cursor ID from the previous page response.\n\n**Not required for the first page** - only include this parameter when fetching subsequent pages using the `next_cursor_id` value from the previous response's `pagination` object.\n",
            "required": false,
            "schema": {
              "type": "string"
            },
            "example": "84d8b98f-c1a6-4232-9944-dbfc135aced9"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Number of records to fetch per page (default is 50)",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "minimum": 1,
              "maximum": 1000,
              "default": 50
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Direction of pagination - NEXT (default) or PREVIOUS",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "NEXT",
                "PREVIOUS"
              ],
              "default": "NEXT"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "description": "Sort field name (only \"timestamp\" is supported)",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "timestamp"
              ],
              "default": "timestamp"
            }
          },
          {
            "name": "sort_order",
            "in": "query",
            "description": "Sort order - ASC or DESC (default is DESC)",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "ASC",
                "DESC"
              ],
              "default": "DESC"
            }
          },
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "action",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "SIGN",
                "UPDATE",
                "ENABLE",
                "DISABLE",
                "CREATE",
                "DELETE",
                "EMAIL_SENT",
                "FETCH",
                "AUTHORIZE",
                "SEND_OTP",
                "REVOKE",
                "VERIFY",
                "LIST"
              ]
            }
          },
          {
            "name": "resource_type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "VALIDATION",
                "SIGNATURE",
                "LICENSE",
                "CREDENTIAL",
                "TIMESTAMP",
                "MANAGER_CONFIG",
                "DSE_ACCOUNT",
                "DSE_PROFILE",
                "CERTIFICATE_PROFILE",
                "SIGNING_PROVIDER",
                "DOCUMENT",
                "CERTIFICATE",
                "SELF_ENROLLMENT_LINK",
                "VALIDATION_PROFILE",
                "DSM_CERTIFICATE_TEMPLATE",
                "DSM_CERTIFICATE_PROFILE",
                "MIGRATION",
                "PRODUCT",
                "ONBOARDING",
                "SIGNER",
                "USER"
              ]
            }
          },
          {
            "name": "resource_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "account_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "start_date",
            "in": "query",
            "description": "Start date in ISO 8601 format",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "description": "End date in ISO 8601 format",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "SUCCESS",
                "FAILURE"
              ]
            }
          },
          {
            "name": "created_by",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "certificate_type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/CredentialProfileCertType"
              }
            }
          },
          {
            "name": "certificate_level",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/CertificateProfileType"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Audit logs list with cursor pagination",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuditLogSearchCursorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/v1/audit-log/{id}/verify": {
      "get": {
        "tags": [
          "Audit logs"
        ],
        "summary": "Verify audit log",
        "description": "Use this endpoint to verify the given audit log ID.\n\nThe given hash string is compared with the hash string stored in DigiCert ONE, and a `SUCCESS` or `FAILURE` status is included in the response.\n",
        "operationId": "verifyAuditLog",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Audit log verification status",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuditLogVerifyResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/v1/audit-log/{id}": {
      "get": {
        "tags": [
          "Audit logs"
        ],
        "summary": "Get audit log by ID",
        "description": "Use this endpoint to get the details of a given audit log event by ID.\n\n`account_id` is an optional query parameter, to be included if your API key relates to more than one account (append `?account_id=` to the endpoint URL).\n",
        "operationId": "getById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "account_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Audit log event details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuditLogResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/v1/credential": {
      "post": {
        "tags": [
          "Credentials (v1)"
        ],
        "summary": "Create credential",
        "description": "Use this endpoint to create an additional user credential using the given profile ID and details.\n\nThe following parameters are required in the request body:\n\n`account` — Account ID and name.\n\n`label` — Credential label.\n\n`profileId` — Credential profile ID.\n",
        "operationId": "createRecurringCredential",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddCredentialRecurringDcoRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Credential details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CredentialResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/v1/credential/{credentialId}": {
      "put": {
        "tags": [
          "Credentials (v1)"
        ],
        "summary": "Update credential",
        "description": "Use this endpoint to update credential label.\n",
        "operationId": "updateCredential",
        "parameters": [
          {
            "name": "credentialId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateCredentialRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Credentials Updated Successfully"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/v1/credentials/list": {
      "get": {
        "tags": [
          "Credentials (v1)"
        ],
        "summary": "List user credentials",
        "description": "Use this endpoint to list the credentials associated with your user ID.\n\nResults can optionally be filtered using search and paging parameters appended to the endpoint URL as query tags (e.g. `?limit=10`).\n",
        "operationId": "getCredentialList",
        "parameters": [
          {
            "name": "Paging parameters",
            "in": "query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PagingSortingParams"
            }
          },
          {
            "name": "Search parameters",
            "in": "query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/CredentialSearchParams"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Credentials list",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListCredentialsDetailsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/csc/v1/info": {
      "post": {
        "tags": [
          "CSC (v1)"
        ],
        "summary": "Get remote service information",
        "description": "Use this endpoint to get remote service information, and a list of implemented API methods, for a given language code (ISO 639-1:2002).\n\n`lang` — (ISO 639-1:2002) Language code. Required.\n",
        "operationId": "getInfo",
        "security": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InfoRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Remote service details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InfoResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/csc/v1/oauth2/token": {
      "post": {
        "tags": [
          "CSC (v1)"
        ],
        "summary": "Get access token",
        "description": "Use this endpoint to get the access token using authentication details.\n",
        "operationId": "oauth2Token",
        "security": [
          {
            "ApiKeyAuth": []
          },
          {
            "OAuth2_clientCredentials": [
              "service"
            ]
          },
          {
            "OAuth2_authorizationCode": [
              "service"
            ]
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CscAccessTokenRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Remote service details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CscAccessTokenResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/csc/v1/credentials/list": {
      "post": {
        "tags": [
          "CSC (v1)"
        ],
        "summary": "List user credentials",
        "description": "Use this endpoint to list the credentials associated with a given user ID.\n\n`userID` is required in the request body.\n",
        "operationId": "listCredentials",
        "security": [
          {
            "ApiKeyAuth": []
          },
          {
            "OAuth2_clientCredentials": [
              "service"
            ]
          },
          {
            "OAuth2_authorizationCode": [
              "service"
            ]
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CscListCredentialsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Credentials list",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CscListCredentialsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/csc/v1/credentials/info": {
      "post": {
        "tags": [
          "CSC (v1)"
        ],
        "summary": "Get credential details",
        "description": "Use this endpoint to get credential and identity information, certificate public key, and CA certificates for the given credential ID.\n\n`credentialID` is required in the request body.\n",
        "operationId": "credentialsInfo",
        "security": [
          {
            "ApiKeyAuth": []
          },
          {
            "OAuth2_clientCredentials": [
              "service"
            ]
          },
          {
            "OAuth2_authorizationCode": [
              "service"
            ]
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CredentialsInfoRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Credential details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CredentialsInfoResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/csc/v1/credentials/authorize": {
      "post": {
        "tags": [
          "CSC (v1)"
        ],
        "summary": "Authorize credential access",
        "description": "Use this endpoint to authorize access to a given credential for signing.\n\nThe following parameters are required in the request body:\n\n`credentialID` — Signing credential ID.\n\n`hash` — Signature hash string value.\n\n`numSignatures` — The number of signatures to authorize the credential for.\n",
        "operationId": "authorizeCredentials",
        "security": [
          {
            "ApiKeyAuth": []
          },
          {
            "OAuth2_clientCredentials": [
              "service"
            ]
          },
          {
            "OAuth2_authorizationCode": [
              "service"
            ]
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AuthorizeCredentialsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Credential authorization details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthorizeCredentialsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/csc/v1/credentials/extendTransaction": {
      "post": {
        "tags": [
          "CSC (v1)"
        ],
        "summary": "Extend multi-signature authorization",
        "description": "Use this endpoint to obtain a new SAD (Signature Activation Data), which extends the validity of a given multi-signature authorization.\nIt can also be used to renew a SAD, before it expires, when signature operations take longer than allowed by the expiresIn value. Expired SAD cannot be extended\n\nThe following parameters are required in the request body:\n\n`SAD` — Signature Activation Data.\n\n`hash` — Transaction hash string value.\n\n`credentialID` — Credential ID associated with the authorization.\n",
        "operationId": "extendTransaction",
        "security": [
          {
            "ApiKeyAuth": []
          },
          {
            "OAuth2_clientCredentials": [
              "service"
            ]
          },
          {
            "OAuth2_authorizationCode": [
              "service"
            ]
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExtendTransactionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Multi-signature transaction details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthorizeCredentialsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/csc/v1/credentials/sendOTP": {
      "post": {
        "tags": [
          "CSC (v1)"
        ],
        "summary": "Send credential OTP",
        "description": "Use this endpoint to generate and send an OTP (one-time password) associated with the given credential ID and managed by the remote signing service.\n\n`credentialID` is required in the request body.\n",
        "operationId": "credentialSendOtp",
        "security": [
          {
            "ApiKeyAuth": []
          },
          {
            "OAuth2_clientCredentials": [
              "service"
            ]
          },
          {
            "OAuth2_authorizationCode": [
              "service"
            ]
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SendOtpRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OTP sent.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/csc/v1/signatures/signHash": {
      "post": {
        "tags": [
          "CSC (v1)"
        ],
        "summary": "Sign hash",
        "description": "Use this endpoint to sign the given hash string values using the given SAD (Signature Activation Data), credential and signature algorithm.\n\nThe following parameters are required in the request body:\n\n`hash` — Hash string value to be signed. Multiple values can be passed as an array.\n\n`SAD` — Signature Activation Data.\n\n`credentialID` — Credential to be used for signing.\n\n`signAlgo` — Signature algorithm.\n",
        "operationId": "signHash",
        "security": [
          {
            "ApiKeyAuth": []
          },
          {
            "OAuth2_clientCredentials": [
              "service"
            ]
          },
          {
            "OAuth2_authorizationCode": [
              "service"
            ]
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SignHashRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Signatures",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SignHashResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/csc/v1/signatures/timestamp": {
      "post": {
        "tags": [
          "CSC (v1)"
        ],
        "summary": "Create hash timestamp",
        "description": "Use this endpoint to get a base64-encoded timestamp token (as defined in RFC 3161 [2] and updated in RFC 5816 [10]) for the given hash string value.\n\nThe following parameters are required in the request body:\n\n`hash` — Hash string value.\n\n`hashAlgo` — Hashing algorithm.\n",
        "operationId": "timeStampToken",
        "security": [
          {
            "ApiKeyAuth": []
          },
          {
            "OAuth2_clientCredentials": [
              "service"
            ]
          },
          {
            "OAuth2_authorizationCode": [
              "service"
            ]
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TimeStampTokenRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Timestamp token details",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/csc/v1/auth/revoke": {
      "post": {
        "tags": [
          "CSC (v1)"
        ],
        "summary": "Revokes the access token",
        "description": "Use this endpoint to revoke the access token of the current session.\n",
        "operationId": "revokeToken",
        "security": [
          {
            "ApiKeyAuth": []
          },
          {
            "OAuth2_clientCredentials": [
              "service"
            ]
          },
          {
            "OAuth2_authorizationCode": [
              "service"
            ]
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CscRevokeTokenRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Revoke success"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/csc/v0/info": {
      "post": {
        "tags": [
          "CSC (v0)"
        ],
        "summary": "Get remote service information",
        "description": "Use this endpoint to get remote service information, and a list of implemented API methods, for the given language code (ISO 639-1:2002).\n\n`lang` — (ISO 639-1:2002) Language code. Required.\n",
        "operationId": "getInfo_1",
        "security": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InfoRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Remote service details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InfoResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/csc/v0/oauth2/token": {
      "post": {
        "tags": [
          "CSC (v0)"
        ],
        "summary": "Get access token",
        "description": "Use this endpoint to get the access token using authentication details.\n",
        "operationId": "oauth2Token_1",
        "security": [
          {
            "ApiKeyAuth": []
          },
          {
            "OAuth2_clientCredentials": [
              "service"
            ]
          },
          {
            "OAuth2_authorizationCode": [
              "service"
            ]
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CscAccessTokenRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Remote service details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CscAccessTokenResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/csc/v0/credentials/list": {
      "post": {
        "tags": [
          "CSC (v0)"
        ],
        "summary": "List user credentials",
        "description": "Use this endpoint to list the credentials associated with the given user ID.\n\n`userID` is required in the request body.\n",
        "operationId": "listCredentials_1",
        "security": [
          {
            "ApiKeyAuth": []
          },
          {
            "OAuth2_clientCredentials": [
              "service"
            ]
          },
          {
            "OAuth2_authorizationCode": [
              "service"
            ]
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CscListCredentialsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "User credentials list",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CscListCredentialsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/csc/v0/credentials/info": {
      "post": {
        "tags": [
          "CSC (v0)"
        ],
        "summary": "Get credential details",
        "description": "Use this endpoint to get credential and identity information, certificate public key and CA certificates for the given credential ID.\n\n`credentialID` is required in the request body.\n",
        "operationId": "credentialsInfo_1",
        "security": [
          {
            "ApiKeyAuth": []
          },
          {
            "OAuth2_clientCredentials": [
              "service"
            ]
          },
          {
            "OAuth2_authorizationCode": [
              "service"
            ]
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CredentialsInfoRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Credential details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CredentialsInfoResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/csc/v0/credentials/authorize": {
      "post": {
        "tags": [
          "CSC (v0)"
        ],
        "summary": "Authorize credential access",
        "description": "Use this endpoint to authorize access to a given credential for signing.\n\nThe following parameters are required in the request body:\n\n`credentialID` — Signing credential ID.\n\n`hash` — Signature hash string value.\n\n`numSignatures` — The number of signatures to authorize the credential for.\n",
        "operationId": "authorizeCredentials_1",
        "security": [
          {
            "ApiKeyAuth": []
          },
          {
            "OAuth2_clientCredentials": [
              "service"
            ]
          },
          {
            "OAuth2_authorizationCode": [
              "service"
            ]
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AuthorizeCredentialsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Credential authorization details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthorizeCredentialsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/csc/v0/credentials/extendTransaction": {
      "post": {
        "tags": [
          "CSC (v0)"
        ],
        "summary": "Extend multi-signature authorization",
        "description": "Use this endpoint to obtain a new SAD (Signature Activation Data), which extends the validity of the given multi-signature authorization.\nIt can also be used to renew a SAD, before it expires, when signature operations take longer than allowed by the expiresIn value. Expired SAD cannot be extended\n\nThe following parameters are required in the request body:\n\n`SAD` — Signature Activation Data.\n\n`hash` — Transaction hash string value.\n\n`credentialID` — Credential ID associated with the authorization being extended.\n",
        "operationId": "extendTransaction_1",
        "security": [
          {
            "ApiKeyAuth": []
          },
          {
            "OAuth2_clientCredentials": [
              "service"
            ]
          },
          {
            "OAuth2_authorizationCode": [
              "service"
            ]
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExtendTransactionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Multi-signature transaction authorization details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthorizeCredentialsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/csc/v0/credentials/sendOTP": {
      "post": {
        "tags": [
          "CSC (v0)"
        ],
        "summary": "Send credential OTP",
        "description": "Use this endpoint to generate and send an OTP (one-time password) associated with the given credential ID and managed by the remote signing service.\n\n`credentialID` is required in the request body.\n",
        "operationId": "credentialSendOtp_1",
        "security": [
          {
            "ApiKeyAuth": []
          },
          {
            "OAuth2_clientCredentials": [
              "service"
            ]
          },
          {
            "OAuth2_authorizationCode": [
              "service"
            ]
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SendOtpRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OTP sent.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/csc/v0/signatures/signHash": {
      "post": {
        "tags": [
          "CSC (v0)"
        ],
        "summary": "Sign hash",
        "description": "Use this endpoint to sign the given hash string values using the given SAD (Signature Activation Data), credential, and signature algorithm.\n\nThe following parameters are required in the request body fields:\n\n`hash` — Hash string value to be signed. Multiple values can be passed as an array.\n\n`SAD` — Signature Activation Data.\n\n`credentialID` — Credential to be used for signing.\n\n`signAlgo` — Signature algorithm.\n",
        "operationId": "signHash_1",
        "security": [
          {
            "ApiKeyAuth": []
          },
          {
            "OAuth2_clientCredentials": [
              "service"
            ]
          },
          {
            "OAuth2_authorizationCode": [
              "service"
            ]
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SignHashRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Signatures",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SignHashResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/csc/v0/signatures/timestamp": {
      "post": {
        "tags": [
          "CSC (v0)"
        ],
        "summary": "Create hash timestamp",
        "description": "Use this endpoint to get a base64-encoded timestamp token (as defined in RFC 3161 [2] and updated in RFC 5816 [10]) for a given hash string value.\n\nThe following parameters are required in the request body fields:\n\n`hash` — Hash string value.\n\n`hashAlgo` — Hashing algorithm.\n",
        "operationId": "timeStampToken_1",
        "security": [
          {
            "ApiKeyAuth": []
          },
          {
            "OAuth2_clientCredentials": [
              "service"
            ]
          },
          {
            "OAuth2_authorizationCode": [
              "service"
            ]
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TimeStampTokenRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Timestamp token details",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/csc/v0/auth/revoke": {
      "post": {
        "tags": [
          "CSC (v0)"
        ],
        "summary": "Revokes the access token",
        "description": "Use this endpoint to revoke the access token of the current session.\n",
        "operationId": "revokeToken_1",
        "security": [
          {
            "ApiKeyAuth": []
          },
          {
            "OAuth2_clientCredentials": [
              "service"
            ]
          },
          {
            "OAuth2_authorizationCode": [
              "service"
            ]
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CscRevokeTokenRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Revoke success"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/v1/validation/{validationId}/reject": {
      "put": {
        "tags": [
          "Validations"
        ],
        "summary": "Reject validation",
        "description": "Use this endpoint to reject a pending validation using the given validation ID.\n\n`account_id` must be included as a query tag (add `?account_id={account_id}` to the endpoint URL, replacing `{account_id}` with your account ID).\n\nThis endpoint rejects pending validations with the following type and method:\n\n`validation_type` — `qualified` or `advanced+`.\n\n`validation_method` — `f2f` or `RA`.\n\nThe following parameters are required in the request body fields:\n\n`reason` — Rejection reason.\n",
        "operationId": "reject",
        "parameters": [
          {
            "name": "validationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "account_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RejectRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Validation details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationResponseWithoutTags"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/v1/validation/user/{userId}": {
      "get": {
        "tags": [
          "Validations"
        ],
        "summary": "Get user validation details",
        "description": "Use this endpoint to get the validation details associated with the given user ID.\n\n`account_id` must be included as a query tag (add `?account_id={account_id}` to the endpoint URL, replacing `{account_id}` with your account ID).\n",
        "operationId": "getValidationDetails",
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "account_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Validation details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationDetailListResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/v1/validation/{validationId}/revalidate": {
      "put": {
        "tags": [
          "Validations"
        ],
        "summary": "Re-initiate validation",
        "description": "Use this endpoint to re-initiate a given rejected or expired validation ID. This creates a new pending validation with the existing validation ID.\n\n`account_id` must be included as a query tag (add `?account_id={account_id}` to the endpoint URL, replacing `{account_id}` with your account ID).\n",
        "operationId": "revalidate",
        "parameters": [
          {
            "name": "validationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "account_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Validation details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationResponseWithoutTags"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/v1/validation/{validationId}/approve": {
      "put": {
        "tags": [
          "Validations"
        ],
        "summary": "Approve validation",
        "description": "Use this endpoint to approve a pending validation using the given validation ID.\n\nThis endpoint approves pending validations with the following type and method:\n\n`validation_type` — `qualified` or `advanced+`.\n\n`validation_method` — `f2f` or `RA`.\n\n`account_id` must be included as a query tag (add `?account_id={account_id}` to the endpoint URL, replacing `{account_id}` with your account ID).\n\nThe following parameters are required in the request body fields:\n\n`account` — Account ID and name.\n\n`contact_data` — User contact details (email and phone).\n\n`user_data` — User information(first name, last name and organization details).\n\n`identification_document` - User identification document details.\n",
        "operationId": "approve",
        "parameters": [
          {
            "name": "validationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "account_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApproveRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Validation details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationResponseWithoutTags"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/v1/validation": {
      "get": {
        "tags": [
          "Validations"
        ],
        "summary": "List validations",
        "description": "Use this endpoint to list all validations in your account.\n\n`account_id` must be included as a query tag (add `?account_id={account_id}` to the endpoint URL, replacing `{account_id}` with your account ID).\n\nResults can be filtered using optional search and paging parameters, included as query tags.\n",
        "operationId": "listValidations",
        "parameters": [
          {
            "name": "account_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Paging parameters",
            "in": "query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PagingSortingParams"
            }
          },
          {
            "name": "Search parameters",
            "in": "query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/ValidationSearchParams"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Validations list",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationPaginationResult"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      },
      "post": {
        "tags": [
          "Validations"
        ],
        "summary": "Create validation",
        "description": "Use this endpoint to create a new validation for the given account, validation, and associated user details.\n\nThe following parameters are required request body fields:\n\n`account` — Account ID and name.\n\n`associated_users` — List of details for each user associated with the validation, including `associate_user_id`, `email`, `phone`, and whether a `new_user` is being created for this validation (default is false).\n\n`default_profile_id` — The default credential profile associated with this validation.\n\n`validation_entity` — `person` or `organization`.\n\n`validation_entity_type` — `account_user`, `end_user`, or `organization`.\n\n`validation_method` — `f2f`, `remote`, `RA`, or `manual`.\n\n`validation_type` — `advanced+`, `qualified`, or `basic`.\n\n`validation_profile_id` — Validation profile ID.\n",
        "operationId": "createValidation",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ValidationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Validation details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/v1/validation/{validationId}": {
      "get": {
        "tags": [
          "Validations"
        ],
        "summary": "Get validation by ID",
        "description": "Use this endpoint to get the validation and associated user details of a given validation ID.\n\n`account_id` is a required parameter, to be included as a query tag appended to the endpoint URL (`?account_id={}`).\n",
        "operationId": "getValidation",
        "parameters": [
          {
            "name": "validationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "account_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Validation details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/v1/validation/{validationId}/reSendEmail": {
      "put": {
        "tags": [
          "Validations"
        ],
        "summary": "Resend validation email",
        "description": "Use this endpoint to resend email for a given validation ID.\n\n`account_id` is a required parameter, to be included as a query tag appended to the endpoint URL (`?account_id={}`).\n\nThe given validation ID is checked for validity before the email is resent. Expired or otherwise invalid validation IDs will result in an error response.\n",
        "operationId": "resendEmail",
        "parameters": [
          {
            "name": "validationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "account_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "force",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Validation details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationResponseWithoutTags"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/v1/validation/{validationId}/cancel": {
      "put": {
        "tags": [
          "Validations"
        ],
        "summary": "Cancel validation",
        "description": "Use this endpoint to cancel a given validation ID.\n\n`account_id` is a required parameter, to be included as a query tag appended to the endpoint URL (`?account_id={}`).\n",
        "operationId": "cancelValidation",
        "parameters": [
          {
            "name": "validationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "account_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Validation details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationResponseWithoutTags"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/v1/validation/{validationId}/retry": {
      "post": {
        "tags": [
          "Validations"
        ],
        "summary": "Retries to create user and his first credential",
        "description": "Use this endpoint to retry creating user and/or first credential for the validation with given validation ID in error state.\n",
        "operationId": "retryValidation",
        "parameters": [
          {
            "name": "validationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Ok"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/v1/validation/{validationId}/enable": {
      "put": {
        "tags": [
          "Validations"
        ],
        "summary": "Enable validation",
        "description": "Use this endpoint to enable validation with given validation ID. This is will enable user to create new credentials.\n",
        "operationId": "enableValidation",
        "parameters": [
          {
            "name": "validationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EnableDisableValidationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Validation details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationResponseWithoutTags"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/v1/validation/{validationId}/disable": {
      "put": {
        "tags": [
          "Validations"
        ],
        "summary": "Disable validation",
        "description": "Use this endpoint to disable validation with given validation ID. This will disable user from creating new credentials.\n",
        "operationId": "disableValidation",
        "parameters": [
          {
            "name": "validationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EnableDisableValidationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Validation details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationResponseWithoutTags"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/v1/validation/{validationId}/invalidate": {
      "put": {
        "tags": [
          "Validations"
        ],
        "summary": "Invalidate validation",
        "description": "Use this endpoint to invalidate a validation with given validation ID. This will revoke user's existing credentials.\n",
        "operationId": "invalidateValidation",
        "parameters": [
          {
            "name": "validationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InvalidateValidationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Validation details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationResponseWithoutTags"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/v1/validation/{validationId}/approve-selfenrolled-user": {
      "put": {
        "tags": [
          "Validations"
        ],
        "summary": "Approve self-enrolled user validation",
        "description": "Use this endpoint to approve a pending validation for a self-enrolled user, using the given validation ID.\n",
        "operationId": "approvePendingSignerApproval",
        "parameters": [
          {
            "name": "validationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Validation details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationResponseWithoutTags"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/v1/validation/{validationId}/reject-selfenrolled-user": {
      "put": {
        "tags": [
          "Validations"
        ],
        "summary": "Reject self-enrolled user validation",
        "description": "Use this endpoint to reject a pending validation for a self-enrolled user, using the given validation ID.\n\n`reason` is required as a request body field. Accepted values are `VALIDATION_IN_PROCESS` or `VALIDATION_COMPLETED`.\n",
        "operationId": "rejectPendingSignerApproval",
        "parameters": [
          {
            "name": "validationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PendingSigningApprovalRejectRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Validation details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationResponseWithoutTags"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/v1/validation/{validationId}/approve-organization": {
      "put": {
        "tags": [
          "Validations"
        ],
        "summary": "Approve organization details for a validation",
        "description": "Use this endpoint to approve organization details for a validation.\n",
        "operationId": "approveValidationOrganization",
        "parameters": [
          {
            "name": "validationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Validation details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationResponseWithoutTags"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/v1/validation/{validationId}/reject-organization": {
      "put": {
        "tags": [
          "Validations"
        ],
        "summary": "Reject organization details for a validation",
        "description": "Use this endpoint to reject organization details for a validation.\n",
        "operationId": "rejectValidationOrganization",
        "parameters": [
          {
            "name": "validationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RejectRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Validation details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationResponseWithoutTags"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/v1/hashes": {
      "post": {
        "tags": [
          "Advanced electronic signature"
        ],
        "summary": "Enhance document hashes to AES(Advanced electronic signature) compliant hashes",
        "description": "Use this endpoint to enhance document hashes to a specified type of Advanced electronic signature compliant hashes\n",
        "operationId": "enhanceHash",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EnhanceHashRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Enhanced hashes",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EnhanceHashResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/v1/signatures": {
      "post": {
        "tags": [
          "Advanced electronic signature"
        ],
        "summary": "Enhance PKCS1 signature(s) to AES(Advanced electronic signature) compliant signature(s)",
        "description": "Use this endpoint to enhance PKCS1 signature(s) to a specified type of Advanced electronic signature compliant signature(s)\n",
        "operationId": "enhanceSignature",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EnhanceSignatureRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Enhanced hashes",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EnhanceSignatureResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/v1/onboard/setup-account": {
      "post": {
        "tags": [
          "Delegated RA"
        ],
        "summary": "Setup new onboarding account.",
        "description": "A partner can use the below API to create a sub-account for their clients.",
        "operationId": "setupAccount",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OnboardingAccountRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OnboardingAccountResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/v1/onboard/setup-account/{onboardingId}": {
      "put": {
        "tags": [
          "Delegated RA"
        ],
        "summary": "update the onboarded sub-account",
        "description": "For updating organization details call below API.<br> Sent organization details sent will be updated for given organization ID.",
        "operationId": "updateAccount",
        "parameters": [
          {
            "name": "onboardingId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Onboarding ID",
              "example": "onboarding_id"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OnboardingAccountUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OnboardingAccountResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/v1/user": {
      "post": {
        "tags": [
          "Delegated RA"
        ],
        "summary": "Create user in AM",
        "description": "When the user calls buy a certificate.",
        "operationId": "createUserInAm",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateUserRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateUserResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/v1/user/{userId}": {
      "put": {
        "tags": [
          "Delegated RA"
        ],
        "summary": "Update user auth data like mobile or secret",
        "description": "The details of the signer created in the previous step can be updated using the below API",
        "operationId": "updateUserData",
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Id of the user in DigiCert One.",
              "example": "user_id"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateUserRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "NO_CONTENT"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/v2/credential": {
      "post": {
        "tags": [
          "Delegated RA"
        ],
        "summary": "Create credential v2 flow supports credential creation with CertCentral, Trustlink, MPKI8 and Dcone CA",
        "description": "The below API can be called to create a credential for a signer who was created in the Signer Creation API.",
        "operationId": "createRecurringCredentialV2",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCredentialRequestV2"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CredentialResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/v2/credential/{name}": {
      "get": {
        "tags": [
          "Delegated RA"
        ],
        "summary": "Returns credential details by credential name",
        "description": "With this below API, details and the status of credential can be retrieved,",
        "operationId": "getCredentialByName",
        "parameters": [
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Credential Name",
              "example": "name"
            }
          },
          {
            "name": "user_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "DTM user id",
              "example": "user_id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CredentialsDetailsResponseV2"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/v2/credential/{name}/cancel": {
      "put": {
        "tags": [
          "Delegated RA"
        ],
        "summary": "Cancel credential by credential name",
        "description": "Use this API to cancel the credential in-case credential was created with wrong organization data.<br> This API can be called only if status of credential is 'pending_issuance' state.",
        "operationId": "cancelCredentialByName",
        "parameters": [
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Credential Name"
            }
          },
          {
            "name": "user_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CancelCredentialRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CredentialsDetailsResponseV2"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/v1/credential/{name}/revoke": {
      "put": {
        "tags": [
          "Delegated RA"
        ],
        "summary": "Revoke credentials",
        "description": "With this API we can revoke a credential.<br> This API can be called only if status of credential is ‘ACTIVE' OR 'suspended'.",
        "operationId": "revokeCredentials",
        "parameters": [
          {
            "name": "name",
            "description": "credentialName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Credential Name"
            }
          },
          {
            "name": "user_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "description": "DTM user id of signer whose credential is being revoked"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RevokeCredentialRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Credential details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListCredentialsDetailsItem"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/v1/user/{userId}/replace-client-admin": {
      "post": {
        "tags": [
          "Delegated RA"
        ],
        "summary": "Replace existing client admin user",
        "description": "The below API can be used to replace an existing client admin with a different one",
        "operationId": "replaceClientAdmin",
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReplaceClientAdminUserRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateUserResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "ApiKeyAuth": {
        "type": "apiKey",
        "in": "header",
        "name": "X-API-Key"
      },
      "OAuth2_clientCredentials": {
        "type": "oauth2",
        "flows": {
          "clientCredentials": {
            "tokenUrl": "/imauth/oauth2/token",
            "scopes": {
              "service": "service"
            }
          }
        }
      },
      "OAuth2_authorizationCode": {
        "type": "oauth2",
        "flows": {
          "authorizationCode": {
            "tokenUrl": "/imauth/oauth2/token",
            "authorizationUrl": "/imauth/oauth2/authorize",
            "scopes": {
              "service": "service"
            }
          }
        }
      }
    },
    "schemas": {
      "AssociateUserResponse": {
        "type": "object",
        "properties": {
          "created_by": {
            "type": "string"
          },
          "modified_on": {
            "type": "string",
            "format": "date-time"
          },
          "modified_by": {
            "type": "string"
          },
          "created_on": {
            "type": "string",
            "format": "date-time"
          },
          "associate_user_id": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "pending_user_creation": {
            "type": "boolean"
          }
        }
      },
      "ValidationApproval": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "validationId": {
            "type": "string"
          },
          "reviewed_validation_status": {
            "type": "string",
            "enum": [
              "VALIDATION_CREATED",
              "VALIDATION_ERROR",
              "INVITE_SENT",
              "INVITE_FAILED",
              "PENDING_IDENTITY_PROOFING",
              "APPROVED",
              "REJECTED",
              "ABORTED",
              "DOCUMENT_VERIFICATION_ERROR",
              "EXPIRED",
              "PENDING_MANUAL_REVIEW",
              "PENDING_SIGNER_APPROVAL",
              "PENDING_ORG_REVIEW",
              "DISABLED",
              "CANCELLED"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "APPROVED",
              "REJECTED"
            ]
          },
          "reason": {
            "type": "string"
          },
          "reason_code": {
            "type": "string",
            "enum": [
              "VALIDATION_IN_PROCESS",
              "VALIDATION_COMPLETED"
            ]
          },
          "userId": {
            "type": "string"
          },
          "reviewed_on": {
            "type": "string",
            "format": "date-time"
          },
          "reviewed_by": {
            "type": "string"
          }
        }
      },
      "ValidationResponseWithoutTags": {
        "type": "object",
        "properties": {
          "created_by": {
            "type": "string"
          },
          "modified_on": {
            "type": "string",
            "format": "date-time"
          },
          "modified_by": {
            "type": "string"
          },
          "created_on": {
            "type": "string",
            "format": "date-time"
          },
          "validation_id": {
            "type": "string"
          },
          "validation_entity": {
            "type": "string"
          },
          "validation_entity_type": {
            "type": "string"
          },
          "validation_type": {
            "type": "string"
          },
          "validation_method": {
            "type": "string"
          },
          "validation_status": {
            "type": "string",
            "enum": [
              "VALIDATION_CREATED",
              "VALIDATION_ERROR",
              "INVITE_SENT",
              "INVITE_FAILED",
              "PENDING_IDENTITY_PROOFING",
              "APPROVED",
              "REJECTED",
              "ABORTED",
              "DOCUMENT_VERIFICATION_ERROR",
              "REVIEW_PENDING",
              "EXPIRED",
              "PENDING_MANUAL_REVIEW",
              "PENDING_SIGNER_APPROVAL",
              "CANCELLED"
            ]
          },
          "default_profile_id": {
            "type": "string"
          },
          "credential_profile_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "verifyid_transaction_id": {
            "type": "string"
          },
          "associated_users": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AssociateUserResponse"
            }
          },
          "expiration_date": {
            "type": "string",
            "format": "date-time"
          },
          "expired": {
            "type": "boolean"
          },
          "rejection_status": {
            "type": "string"
          },
          "vetting_details": {
            "$ref": "#/components/schemas/VettingDetailsResponse"
          },
          "validation_approvals": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ValidationApproval"
            }
          },
          "validation_enrollment_id": {
            "type": "string",
            "format": "uuid"
          },
          "validation_profile_id": {
            "type": "string",
            "format": "uuid"
          },
          "failure_reason": {
            "type": "string"
          },
          "language_code": {
            "type": "string"
          },
          "auto_approval_enabled": {
            "type": "boolean"
          },
          "terms_and_conditions": {
            "type": "string"
          },
          "terms_acceptance_time": {
            "type": "string",
            "format": "date-time"
          },
          "client_data": {
            "type": "string"
          },
          "last_sent": {
            "type": "string",
            "format": "date-time"
          },
          "invites_number": {
            "type": "integer"
          },
          "validation_profile": {
            "$ref": "#/components/schemas/ValidationProfileResponse"
          },
          "cancelationReason": {
            "type": "string"
          },
          "bulk_onboarding_user_id": {
            "type": "string"
          },
          "legal_first_name": {
            "type": "string"
          },
          "legal_last_name": {
            "type": "string"
          },
          "account_id": {
            "type": "string"
          }
        }
      },
      "ValidationResponse": {
        "type": "object",
        "properties": {
          "created_by": {
            "type": "string"
          },
          "modified_on": {
            "type": "string",
            "format": "date-time"
          },
          "modified_by": {
            "type": "string"
          },
          "created_on": {
            "type": "string",
            "format": "date-time"
          },
          "validation_id": {
            "type": "string"
          },
          "validation_entity": {
            "type": "string"
          },
          "validation_entity_type": {
            "type": "string"
          },
          "validation_type": {
            "type": "string"
          },
          "validation_method": {
            "type": "string"
          },
          "validation_status": {
            "type": "string",
            "enum": [
              "VALIDATION_CREATED",
              "VALIDATION_ERROR",
              "INVITE_SENT",
              "INVITE_FAILED",
              "PENDING_IDENTITY_PROOFING",
              "APPROVED",
              "REJECTED",
              "ABORTED",
              "DOCUMENT_VERIFICATION_ERROR",
              "REVIEW_PENDING",
              "EXPIRED",
              "PENDING_MANUAL_REVIEW",
              "PENDING_SIGNER_APPROVAL",
              "CANCELLED"
            ]
          },
          "default_profile_id": {
            "type": "string"
          },
          "credential_profile_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "verifyid_transaction_id": {
            "type": "string"
          },
          "associated_users": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AssociateUserResponse"
            }
          },
          "expiration_date": {
            "type": "string",
            "format": "date-time"
          },
          "expired": {
            "type": "boolean"
          },
          "rejection_status": {
            "type": "string"
          },
          "vetting_details": {
            "$ref": "#/components/schemas/VettingDetailsResponse"
          },
          "validation_approvals": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ValidationApproval"
            }
          },
          "validation_enrollment_id": {
            "type": "string",
            "format": "uuid"
          },
          "validation_profile_id": {
            "type": "string",
            "format": "uuid"
          },
          "failure_reason": {
            "type": "string"
          },
          "language_code": {
            "type": "string"
          },
          "auto_approval_enabled": {
            "type": "boolean"
          },
          "terms_and_conditions": {
            "type": "string"
          },
          "terms_acceptance_time": {
            "type": "string",
            "format": "date-time"
          },
          "client_data": {
            "type": "string"
          },
          "last_sent": {
            "type": "string",
            "format": "date-time"
          },
          "invites_number": {
            "type": "integer"
          },
          "validation_profile": {
            "$ref": "#/components/schemas/ValidationProfileResponse"
          },
          "cancelationReason": {
            "type": "string"
          },
          "bulk_onboarding_user_id": {
            "type": "string"
          },
          "legal_first_name": {
            "type": "string"
          },
          "legal_last_name": {
            "type": "string"
          },
          "account_id": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TagResponse"
            }
          }
        }
      },
      "TagResponse": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "values": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "InvalidateValidationRequest": {
        "type": "object",
        "properties": {
          "account": {
            "$ref": "#/components/schemas/Account"
          },
          "reason_code": {
            "type": "string",
            "enum": [
              "KEY_COMPROMISE",
              "AFFILIATION_CHANGED",
              "SUPERSEDED",
              "CESSATION_OF_OPERATION"
            ]
          }
        }
      },
      "EnableDisableValidationRequest": {
        "type": "object",
        "properties": {
          "account": {
            "$ref": "#/components/schemas/Account"
          },
          "notes": {
            "type": "string"
          }
        }
      },
      "VettingDetailsResponse": {
        "type": "object",
        "properties": {
          "first_name": {
            "type": "string"
          },
          "last_name": {
            "type": "string"
          },
          "common_name": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "document_type": {
            "type": "string",
            "enum": [
              "PASSPORT",
              "DRIVER_LICENSE",
              "ID_CARD"
            ]
          },
          "document_id": {
            "type": "string"
          },
          "date_issued": {
            "type": "string"
          },
          "valid_until": {
            "type": "string"
          },
          "nationality": {
            "type": "string"
          },
          "ident_language": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "organization_uuid": {
            "type": "string"
          },
          "organization": {
            "type": "string"
          },
          "organization_identifier": {
            "type": "string"
          },
          "organization_country": {
            "type": "string"
          },
          "organization_unit": {
            "type": "string"
          },
          "organization_state": {
            "type": "string"
          },
          "organization_locality": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "blocklist_transaction_number": {
            "type": "string"
          },
          "partner_id": {
            "type": "string"
          },
          "profession_validation_date": {
            "type": "string"
          }
        }
      },
      "SelfEnrollmentLinkSubmitValidationRequest": {
        "required": [
          "email"
        ],
        "type": "object",
        "properties": {
          "phone_number": {
            "pattern": "\\+\\d{8,15}",
            "type": "string"
          },
          "email": {
            "pattern": "^[a-zA-Z0-9!#$%&'*.+/=?^_‘{|}~-]+\\.{0,1}[a-zA-Z0-9!#$%&'*.+/=?^_‘{|}~-]*@[a-zA-Z0-9!#$%&'*.+/=?^_‘{|}~-]+\\.{0,1}[a-zA-Z0-9!#$%&'*.+/=?^_‘{|}~-]*\\.{0,1}[a-zA-Z0-9!#$%&'*.+/=?^_‘{|}~-]*[a-zA-Z]{2,}$",
            "type": "string"
          }
        }
      },
      "AuditLogPaginationResult": {
        "type": "object",
        "properties": {
          "total": {
            "type": "integer",
            "format": "int64"
          },
          "offset": {
            "type": "integer",
            "format": "int32"
          },
          "limit": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AuditLogResponse"
            }
          }
        }
      },
      "AuditLogSearchCursorResponse": {
        "type": "object",
        "description": "Response for cursor-based audit log search",
        "properties": {
          "data": {
            "type": "array",
            "description": "List of audit log records",
            "items": {
              "$ref": "#/components/schemas/AuditLogResponse"
            }
          },
          "pagination": {
            "$ref": "#/components/schemas/PaginationInfo"
          }
        }
      },
      "PaginationInfo": {
        "type": "object",
        "description": "Pagination metadata with next/previous cursors",
        "properties": {
          "count": {
            "type": "integer",
            "format": "int32",
            "description": "Number of records in current page",
            "example": 50
          },
          "limit": {
            "type": "integer",
            "format": "int32",
            "description": "Requested page size",
            "example": 50
          },
          "has_next": {
            "type": "boolean",
            "description": "Whether more records exist after this page",
            "example": true
          },
          "has_previous": {
            "type": "boolean",
            "description": "Whether more records exist before this page",
            "example": false
          },
          "next_cursor_timestamp": {
            "type": "string",
            "description": "Timestamp cursor for next page",
            "example": "2025-11-27T10:30:00"
          },
          "next_cursor_id": {
            "type": "string",
            "description": "ID cursor for next page",
            "example": "12345678-1234-1234-1234-123456789012"
          },
          "previous_cursor_timestamp": {
            "type": "string",
            "description": "Timestamp cursor for previous page",
            "example": "2025-11-27T11:00:00"
          },
          "previous_cursor_id": {
            "type": "string",
            "description": "ID cursor for previous page",
            "example": "98765432-1234-1234-1234-123456789012"
          }
        }
      },
      "CursorPaginationRequest": {
        "type": "object",
        "description": "Cursor-based pagination request for audit log API.\n\nFor the first page, omit `cursor_timestamp` and `cursor_id`.\nFor subsequent pages, use the values from the previous response's `pagination.next_cursor_timestamp` and `pagination.next_cursor_id`.\n",
        "properties": {
          "cursor_timestamp": {
            "type": "string",
            "format": "date-time",
            "description": "Cursor timestamp from the previous page response (ISO-8601 format).\nOmit this for the first page request. Only include when fetching subsequent pages.\n",
            "example": "2026-06-07T04:25:42.722"
          },
          "cursor_id": {
            "type": "string",
            "description": "Cursor ID from the previous page response.\nOmit this for the first page request. Only include when fetching subsequent pages.\n",
            "example": "84d8b98f-c1a6-4232-9944-dbfc135aced9"
          },
          "limit": {
            "type": "integer",
            "format": "int32",
            "description": "Number of records to fetch per page",
            "minimum": 1,
            "maximum": 1000,
            "default": 50,
            "example": 50
          },
          "direction": {
            "type": "string",
            "description": "Direction of pagination",
            "enum": [
              "NEXT",
              "PREVIOUS"
            ],
            "default": "NEXT",
            "example": "NEXT"
          },
          "sort_by": {
            "type": "string",
            "description": "Sort field name",
            "default": "timestamp",
            "example": "timestamp"
          },
          "sort_order": {
            "type": "string",
            "description": "Sort order",
            "enum": [
              "ASC",
              "DESC"
            ],
            "default": "DESC",
            "example": "DESC"
          }
        }
      },
      "AuditLogResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "account_id": {
            "type": "string"
          },
          "resource_type": {
            "type": "string",
            "enum": [
              "VALIDATION",
              "SIGNATURE",
              "LICENSE",
              "CREDENTIAL",
              "TIMESTAMP",
              "MANAGER_CONFIG",
              "DSE_ACCOUNT",
              "DSE_PROFILE",
              "CERTIFICATE_PROFILE",
              "SIGNING_PROVIDER",
              "DOCUMENT",
              "CERTIFICATE",
              "SELF_ENROLLMENT_LINK",
              "VALIDATION_PROFILE",
              "DSM_CERTIFICATE_TEMPLATE",
              "DSM_CERTIFICATE_PROFILE",
              "MIGRATION",
              "PRODUCT",
              "ONBOARDING",
              "SIGNER",
              "USER"
            ]
          },
          "resource_id": {
            "type": "string"
          },
          "action": {
            "type": "string",
            "enum": [
              "SIGN",
              "UPDATE",
              "CREATE",
              "DELETE",
              "EMAIL_SENT",
              "FETCH",
              "AUTHORIZE",
              "SEND_OTP",
              "ENABLE",
              "DISABLE",
              "CANCEL",
              "REVOKE",
              "SIGNING_HUB_USER_CREATION",
              "HASH_ENHANCEMENT",
              "SIGNATURE_ENHANCEMENT"
            ]
          },
          "auth_type": {
            "type": "string",
            "enum": [
              "BASIC",
              "API_TOKEN",
              "INTERNAL"
            ]
          },
          "timestamp": {
            "type": "string",
            "format": "date-time"
          },
          "description": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "SUCCESS",
              "FAILURE"
            ]
          },
          "error_message": {
            "type": "string"
          },
          "data": {
            "type": "string"
          },
          "userId": {
            "type": "string"
          },
          "created_by": {
            "type": "string"
          },
          "hash": {
            "type": "string"
          },
          "number_hashes": {
            "type": "integer"
          },
          "license_hash_enabled": {
            "type": "boolean"
          },
          "certificateLevel": {
            "$ref": "#/components/schemas/CertificateProfileType"
          },
          "certificateType": {
            "$ref": "#/components/schemas/CredentialProfileCertType"
          }
        }
      },
      "PagingSortingParams": {
        "type": "object",
        "properties": {
          "offset": {
            "minimum": 0,
            "type": "integer",
            "format": "int32"
          },
          "limit": {
            "maximum": 100,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          },
          "sort": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "AuditLogSearchQueryRequest": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "action": {
            "type": "string",
            "enum": [
              "SIGN",
              "UPDATE",
              "ENABLE",
              "DISABLE",
              "CREATE",
              "DELETE",
              "EMAIL_SENT",
              "FETCH",
              "AUTHORIZE",
              "SEND_OTP",
              "REVOKE",
              "SIGNING_HUB_USER_CREATION",
              "HASH_ENHANCEMENT",
              "SIGNATURE_ENHANCEMENT"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "SUCCESS",
              "FAILURE"
            ]
          },
          "account_id": {
            "type": "string",
            "writeOnly": true
          },
          "resource_id": {
            "type": "string",
            "writeOnly": true
          },
          "userId": {
            "type": "string",
            "writeOnly": true
          },
          "resource_type": {
            "type": "string",
            "writeOnly": true,
            "enum": [
              "VALIDATION",
              "SIGNATURE",
              "LICENSE",
              "CREDENTIAL",
              "TIMESTAMP",
              "MANAGER_CONFIG",
              "PLATFORM_CONFIG",
              "DSE_ACCOUNT",
              "DSE_PROFILE",
              "CERTIFICATE_PROFILE",
              "SIGNING_PROVIDER",
              "DOCUMENT",
              "CERTIFICATE",
              "SELF_ENROLLMENT_LINK",
              "VALIDATION_PROFILE",
              "DSM_CERTIFICATE_TEMPLATE",
              "DSM_CERTIFICATE_PROFILE",
              "MIGRATION",
              "PRODUCT",
              "ONBOARDING"
            ]
          },
          "start_date": {
            "type": "string",
            "writeOnly": true
          },
          "end_date": {
            "type": "string",
            "writeOnly": true
          },
          "created_by": {
            "type": "string",
            "writeOnly": true
          },
          "certificate_type": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CredentialProfileCertType"
            }
          },
          "certificate_level": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CertificateProfileType"
            }
          }
        }
      },
      "AuditLogVerifyResponse": {
        "type": "object",
        "properties": {
          "calculated_hash": {
            "type": "string"
          },
          "stored_hash": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "SUCCESS",
              "FAILURE"
            ]
          }
        }
      },
      "CredentialResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "account_id": {
            "type": "string"
          },
          "userId": {
            "type": "string"
          },
          "credential_id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "profile_id": {
            "type": "string"
          },
          "first_credential": {
            "type": "boolean"
          }
        }
      },
      "Account": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "DigiCert One Account ID",
            "example": "account_id"
          },
          "name": {
            "type": "string"
          }
        }
      },
      "AddCredentialRecurringDcoRequest": {
        "required": [
          "account",
          "label",
          "profileId"
        ],
        "type": "object",
        "properties": {
          "account": {
            "$ref": "#/components/schemas/Account"
          },
          "label": {
            "type": "string"
          },
          "mobile": {
            "type": "string"
          },
          "profileId": {
            "type": "string"
          },
          "reuseExistingSecret": {
            "type": "boolean"
          }
        }
      },
      "UpdateCredentialRequest": {
        "properties": {
          "account": {
            "$ref": "#/components/schemas/Account"
          },
          "label": {
            "maxLength": 255,
            "type": "string"
          }
        }
      },
      "RevokeCredentialRequest": {
        "required": [
          "reason"
        ],
        "type": "object",
        "properties": {
          "reason": {
            "enum": [
              "KEY_COMPROMISE",
              "AFFILIATION_CHANGED",
              "SUPERSEDED",
              "CESSATION_OF_OPERATION"
            ]
          }
        }
      },
      "ListCredentialsDetailsItem": {
        "type": "object",
        "properties": {
          "created_by": {
            "type": "string"
          },
          "modified_on": {
            "type": "string",
            "format": "date-time"
          },
          "modified_by": {
            "type": "string"
          },
          "created_on": {
            "type": "string",
            "format": "date-time"
          },
          "credential_id": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "key_algorithm": {
            "type": "string"
          },
          "key_size": {
            "type": "integer",
            "format": "int32"
          },
          "status": {
            "type": "string"
          },
          "profile_id": {
            "type": "string"
          },
          "userId": {
            "type": "string"
          }
        }
      },
      "ListCredentialsDetailsResponse": {
        "type": "object",
        "properties": {
          "total": {
            "type": "integer",
            "format": "int32"
          },
          "offset": {
            "type": "integer",
            "format": "int32"
          },
          "limit": {
            "type": "integer",
            "format": "int32"
          },
          "credentials": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ListCredentialsDetailsItem"
            }
          }
        }
      },
      "CredentialSearchParams": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "user_id": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "ACTIVE",
              "PENDING_APPROVAL",
              "DEACTIVATED",
              "VALID",
              "SUSPENDED",
              "EXPIRED",
              "REVOKED",
              "PENDING_ISSUANCE"
            ]
          },
          "key_algorithm": {
            "type": "string",
            "writeOnly": true
          },
          "key_size": {
            "type": "integer",
            "format": "int32",
            "writeOnly": true
          },
          "account_id": {
            "type": "string",
            "writeOnly": true
          }
        }
      },
      "InfoResponse": {
        "type": "object",
        "properties": {
          "lang": {
            "type": "string",
            "description": "The language used in the responses, specified according to RFC 3066.",
            "example": "en-US"
          },
          "specs": {
            "type": "string",
            "description": "The version of this specification implemented by the provider. The format of the string is Major.Minor.x.y, where Major is a number equivalent to the API version (e.g. 1 for API v1) and Minor is a number identifying the version update, while x and y are subversion numbers.",
            "example": 1.1
          },
          "name": {
            "type": "string",
            "description": "The commercial name of the Remote Service.",
            "example": "ACME Trust Services"
          },
          "logo": {
            "type": "string",
            "description": "The URI of the image file containing the logo of the Remote Service which shall be published online. The image shall be in either JPEG or PNG format and not larger than 256x256 pixels.",
            "example": "https://service.domain.org/images/logo.png"
          },
          "region": {
            "type": "string",
            "description": "The ISO 3166-1 Alpha-2 code of the Country where the Remote Service provider is established (e.g. ES for Spain).",
            "example": "IT"
          },
          "description": {
            "type": "string",
            "description": "Contains a free form description of the Remote Service in the lang language. The maximum size of the string shall be 255 characters."
          },
          "oauth2": {
            "type": "string",
            "description": "Specifies the complete URI of the OAuth 2.0 service authorization endpoint provided by the Remote Service. The parameter is required only if the authType parameter contains “oauth2code” or “oauth2implicit”.",
            "example": "https://www.domain.org/oauth2/authorize"
          },
          "methods": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "Specifies the list of names of all the API methods described in this specification that are implemented and supported by the Remote Service.",
              "example": [
                "auth/login",
                "auth/revoke",
                "oauth2/token",
                "credentials/list",
                "credentials/info",
                "credentials/authorize",
                "credentials/sendOTP",
                "signatures/signHash"
              ]
            }
          },
          "authType": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "Specifies one or more values corresponding to the authentication mechanisms supported by the Remote Service to authorize the access to the API",
              "example": [
                "basic",
                "oauth2code",
                "oauth2implicit"
              ]
            }
          }
        }
      },
      "InfoRequest": {
        "type": "object",
        "properties": {
          "lang": {
            "type": "string",
            "description": "Request a preferred language of the response to the Remote Service, specified according to RFC 3066. If present, the Remote Service shall provide languagespecific responses using the specified language. If the specified language is not supported then it shall provide these responses in the language as specified in the lang output parameter.",
            "example": "en-US"
          }
        }
      },
      "AuthorizeCredentialsResponse": {
        "type": "object",
        "properties": {
          "expiresIn": {
            "type": "string",
            "description": "The lifetime in seconds of the service access token. If omitted, the default expiration time is 3600 (1 hour)."
          },
          "SAD": {
            "type": "string",
            "description": "The Signature Activation Data to provide as input to the signatures/signHash method.",
            "example": "_TiHRG-bAH3XlFQZ3ndFhkXf9P24/CKN69L8gdSYp5_pw\""
          }
        }
      },
      "ExtendTransactionRequest": {
        "required": [
          "SAD",
          "credentialID",
          "hash"
        ],
        "type": "object",
        "properties": {
          "hash": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Arbitrary data from the Signature Application. It can be used to handle a transaction identifier or other application-specific data."
          },
          "clientData": {
            "type": "string",
            "description": "Order",
            "example": 12345678
          },
          "credentialID": {
            "type": "string",
            "description": "The identifier associated to the credential.",
            "example": "GX0112348"
          },
          "SAD": {
            "type": "string",
            "description": "The current Signature Activation Data. This token is returned by the credentials/authorize or by the previous credentials/extendTransaction methods.",
            "example": "_TiHRG-bAH3XlFQZ3ndFhkXf9P24/CKN69L8gdSYp5_pw"
          }
        }
      },
      "CredentialInfoCert": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "description": "The status of validity of the end entity certificate. The value is optional, so the Remote Service should only return a value that is accurate and consistent with the actual validity status of the certificate at the time the response is generated.",
            "example": "valid"
          },
          "certificates": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "Contains one or more Base64-encoded X.509v3 certificates from the certificate chain. If the certificates parameter is “chain”, the entire certificate chain shall be returned with the end entity certificate at the beginning of the array. If the certificates parameter is “single”, only the end entity certificate shall be returned. If the certificates parameter is “none”, this parameter shall not be returned.",
              "example": [
                "Base64-encoded X.509 end entity certificate",
                "Base64-encoded X.509 intermediate CA certificate",
                "Base64-encoded X.509 issuer CA certificate"
              ]
            }
          },
          "issuerDN": {
            "type": "string",
            "description": "The Issuer Subject Distinguished Name from the X.509v3 end entity certificate in printable string format, UTF-8encoded according to RFC 2253. This parameter shall be returned when certInfo is “true”.",
            "example": "The X.500 issuer DN printable string"
          },
          "serialNumber": {
            "type": "string",
            "description": "The Issuer Subject Distinguished Name from the X.509v3 end entity certificate in printable string format, UTF-8encoded according to RFC 2253. This parameter shall be returned when certInfo is “true”.",
            "example": "5AAC41CD8FA22B9536"
          },
          "subjectDN": {
            "type": "string",
            "description": "The Distinguished Name from the X.509v3 certificate in printable string format, UTF-8-encoded according to RFC 2253. This parameter shall be returned when certInfo is “true”.",
            "example": "The X.500 subject DN printable string"
          },
          "validFrom": {
            "type": "string",
            "format": "date-time",
            "description": "The validity start date from the X.509v3 certificate in printable string format, encoded as GeneralizedTime format (RFC 2459) (e.g. “YYYYMMDDHHMMSSZ”). This parameter shall be returned when certInfo is “true”.",
            "example": "20160101100000Z"
          },
          "validTo": {
            "type": "string",
            "format": "date-time",
            "description": "The validity end date from the X.509v3 certificate in printable string format, encoded as GeneralizedTime format (RFC 2459) (e.g. “YYYYMMDDHHMMSSZ”). This parameter shall be returned when certInfo is “true”.",
            "example": "20190101095959Z"
          }
        }
      },
      "CredentialInfoKey": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "description": "The status of enablement of the signing key of the credential",
            "example": "active"
          },
          "algo": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The list of OIDs of the supported key algorithms. For example-  1.2.840.113549.1.1.1 = RSA encryption, 1.2.840.10045.4.3.2 = ECDSA with SHA256.",
            "example": [
              "1.2.840.113549.1.1.1",
              "0.4.0.127.0.7.1.1.4.1.3"
            ]
          },
          "len": {
            "type": "integer",
            "format": "int32",
            "description": "The length of the cryptographic key in bits.",
            "example": 2048
          },
          "curve": {
            "type": "string",
            "description": "The OID of the ECDSA curve. The value shall only be returned if keyAlgo is based on ECDSA."
          }
        }
      },
      "CredentialInfoOtp": {
        "type": "object",
        "properties": {
          "presence": {
            "type": "string",
            "description": "Specifies if a text-based OTP is required or not, or optional. This parameter shall be present only when authMode is “explicit”.",
            "example": true
          },
          "type": {
            "type": "string",
            "description": "Specifies the type of the OTP",
            "example": "offline"
          },
          "provider": {
            "type": "string",
            "description": "Optionally specifies the provider of the OTP device or application. This parameter can be present only when authMode is “explicit” and OTP/presence is not “false”.",
            "example": "totp"
          },
          "format": {
            "type": "string",
            "description": "Specifies the data format of the OTP- • “A”- the OTP contains alphanumeric text. • “N”- the OTP contains numeric text. This parameter shall be present only when authMode is “explicit” and OTP/presence is not “false”.",
            "example": "N"
          },
          "label": {
            "type": "string",
            "description": "Specifies an optional label for the data field used to collect the OTP in the user interface, in the language specified in the lang parameter. This parameter can be present only when authMode is “explicit” and OTP/presence is not “false”.",
            "example": "Mobile OTP"
          },
          "description": {
            "type": "string",
            "description": "Optionally specifies a free form description of the OTP mechanism in the language specified in the lang parameter. This parameter can be present only when authMode is “explicit” and OTP/presence is not “false”. The maximum size of the string shall be 255 characters.",
            "example": "Please type the 6 digit code you received on your registered mobile phone"
          },
          "ID": {
            "type": "string",
            "description": "Specifies the identifier of the OTP device or application. This parameter shall be present only when authMode is “explicit” and OTP/presence is not “false”.",
            "example": "MB01-K741200"
          }
        }
      },
      "CredentialInfoPin": {
        "type": "object",
        "properties": {
          "presence": {
            "type": "string",
            "description": "Specifies if a text-based PIN is required or not, or optional. This parameter shall be present only when authMode is “explicit”.",
            "example": true
          },
          "format": {
            "type": "string",
            "description": "Specifies the format of the PIN"
          },
          "label": {
            "type": "string",
            "description": "Specifies an optional label for the data field used to collect the PIN in the user interface, in the language specified in the lang parameter. This parameter can be present only when authMode is “explicit” and PIN/presence is not “false”.",
            "example": "PIN"
          },
          "description": {
            "type": "string",
            "description": "It optionally specifies a free form description of the PIN in the language specified in the lang parameter. This parameter can be present only when authMode is “explicit” and PIN/presence is not “false”. The maximum size of the string shall be 255 characters.",
            "example": "Please type the signature PIN"
          }
        }
      },
      "CredentialsInfoResponse": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "description": "A free form description of the credential in the lang language. The maximum size of the string is 255 characters."
          },
          "authMode": {
            "type": "string",
            "description": "Specifies one of the authorization modes",
            "example": "explicit"
          },
          "lang": {
            "type": "string",
            "description": "Order",
            "example": "en-US"
          },
          "key": {
            "$ref": "#/components/schemas/CredentialInfoKey"
          },
          "cert": {
            "$ref": "#/components/schemas/CredentialInfoCert"
          },
          "SCAL": {
            "type": "string",
            "description": "Specifies the Sole Control Assurance Level required by the credential, as defined in CEN EN 419 241-1"
          },
          "PIN": {
            "$ref": "#/components/schemas/CredentialInfoPin"
          },
          "OTP": {
            "$ref": "#/components/schemas/CredentialInfoOtp"
          }
        }
      },
      "CredentialsInfoRequest": {
        "required": [
          "credentialID"
        ],
        "type": "object",
        "properties": {
          "certificates": {
            "type": "string",
            "description": "Specifies which certificates from the certificate chain shall be returned in certs/certificates.",
            "example": "chain"
          },
          "lang": {
            "type": "string",
            "description": "Request a preferred language according to RFC 3066. If specified, the Remote Service should return the label and drescription parameters in this launguage, if supported. If the language is not supported by the Remote Service, it should specify the default language in the output lang parameter. If omitted, the Remote Service should return these parameters in its own default language."
          },
          "clientData": {
            "type": "string",
            "description": "Arbitrary data from the Signature Application. It can be used to handle a transaction identifier or other application-specific data."
          },
          "credentialID": {
            "type": "string",
            "description": "The identifier associated to the credential.",
            "example": "GX0112348"
          },
          "certInfo": {
            "type": "boolean",
            "description": "Specifies if the information on the end entity certificate shall be returned as printable strings. This is useful in case the Signature Application wants to retrieve some details of the certificate without having to decode it. The default value is “false”, so if the parameter is omitted then the information will not be returned.",
            "example": true
          },
          "authInfo": {
            "type": "boolean",
            "description": "Specifies if the information on the authorization mechanisms supported by this credential (PIN and OTP groups) shall be returned. The default value is “false”, so if the parameter is omitted then the information will not be returned.",
            "example": true
          }
        }
      },
      "AuthorizeCredentialsRequest": {
        "required": [
          "credentialID",
          "hash",
          "numSignatures"
        ],
        "type": "object",
        "properties": {
          "hash": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "One or more Base64-encoded hash values to be signed. It shall be used if the SCAL parameter returned by credentials/info is “2”.If the SCAL parameter is “1”, the hash parameter is OPTIONAL.",
            "example": [
              "sTOgwOm+474gFj0q0x1iSNspKqbcse4IeiqlDg/HWuI=",
              "c1RPZ3dPbSs0NzRnRmowcTB4MWlTTnNwS3FiY3NlNEllaXFsRGcvSFd1ST0="
            ]
          },
          "credentialID": {
            "type": "string",
            "description": "The identifier associated to the credential.",
            "example": "GX0112348"
          },
          "numSignatures": {
            "type": "integer",
            "format": "int32",
            "description": "The number of signatures to authorize. Multi-signature transactions can be obtained by using a combination of passing an array of hash values and calling the signatures/signHash method multiple times.",
            "example": 2
          },
          "PIN": {
            "type": "string",
            "description": "The PIN collected from the user. It shall be used only when authMode from credentials/info is “explicit” and PIN/presence is not “false”.",
            "example": 12345678
          },
          "OTP": {
            "type": "string",
            "description": "The OTP collected from the user. It shall be used only when authMode from credentials/info is “explicit” and OTP/presence is not “false”.",
            "example": 738496
          },
          "description": {
            "type": "string",
            "description": "Contains a free form description of the authorization transaction in the lang language. The maximum size of the string shall be 500 characters. It can be useful when authMode from credentials/info is “implicit” to provide some hints about the occurring transaction."
          },
          "clientData": {
            "type": "string",
            "description": "Arbitrary data from the Signature Application. It can be used to handle a transaction identifier or other application-specific data.",
            "example": 12345678
          }
        }
      },
      "TimeStampTokenRequest": {
        "required": [
          "hash",
          "hashAlgo"
        ],
        "type": "object",
        "properties": {
          "nonce": {
            "type": "string",
            "description": "Specifies a large random number with a high probability that it is generated by the Signature Application only once."
          },
          "clientData": {
            "type": "string",
            "description": "Arbitrary data from the Signature Application. It can be used to handle a transaction identifier or other application-specific data.",
            "example": 12345678
          },
          "hash": {
            "type": "string",
            "description": "The Base64-encoded hash value to be time stamped. The Remote Service uses the input value to encode the MessageImprint.hashedMessage value.",
            "example": "sTOgwOm+474gFj0q0x1iSNspKqbcse4IeiqlDg/HWuI="
          },
          "hashAlgo": {
            "type": "string",
            "description": "Specifies the OID of the algorithm used to calculate the hash value. The Remote Service uses the input value to encode the MessageImprint.hashAlgorithm value.",
            "example": "2.16.840.1.101.3.4.2.1"
          }
        }
      },
      "CscListCredentialsResponse": {
        "type": "object",
        "properties": {
          "nextPageToken": {
            "type": "string",
            "description": "The page token for the next page of items. No value is returned if the Remote Service does not suports items pagination or in case the last page is returned."
          },
          "credentialIDs": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "One or more credentialID associated with the provided or implicit userID.",
              "example": [
                "GX0112348",
                "HX0224685"
              ]
            }
          }
        }
      },
      "CscAccessTokenRequest": {
        "required": [
          "grant_type",
          "client_id"
        ],
        "type": "object",
        "properties": {
          "grant_type": {
            "type": "string",
            "description": "The grant type, which depends on the type of OAuth 2.0 flow.",
            "example": "authorization_code"
          },
          "code": {
            "type": "string",
            "description": "The authorization code returned by the authorization server. It SHALL be bound to the client identifier and the redirection URI. This SHALL be used only when grant_type is “authorization_code”.",
            "example": "FhkXf9P269L8g"
          },
          "client_id": {
            "type": "string",
            "description": "The client_id as defined in the Input parameter table in section 8.3.2.",
            "example": "<OAuth2_client_id>"
          },
          "client_secret": {
            "type": "string",
            "description": "This is the “client secret” previously assigned to the signature application by the remote service. It SHALL be passed if no authorization header  and no client assertion is used.",
            "example": "<OAuth2_client_secret>"
          },
          "redirect_uri": {
            "type": "string",
            "description": "The URL where the user was redirected after the authorization process completed. It is used to validate that it matches the original value previously passed to the authorization server. This SHALL be used only if the redirect_uri parameter was included in the authorization request, and their values SHALL be identical.",
            "example": "<OAuth2_redirect_uri>"
          },
          "client_data": {
            "type": "string",
            "description": "Arbitrary data from the Signature Application. It can be used to handle a transaction identifier or other application-specific data."
          }
        }
      },
      "CscRevokeTokenRequest": {
        "required": [
          "token"
        ],
        "type": "object",
        "properties": {
          "token": {
            "type": "string",
            "description": "The token that the Signature Application wants to get revoked.",
            "example": "_TiHRG-bA H3XlFQZ3ndFhkXf9P24/CKN69L8gdSYp5_pw"
          },
          "token_type_hint": {
            "type": "string",
            "description": "Specifies an optional hint about the type of the token submitted for revocation. If the parameter is omitted, the authorization server should try to identify the token across all the available tokens.",
            "example": "refresh_token"
          },
          "client_data": {
            "type": "string",
            "description": "Arbitrary data from the Signature Application. It can be used to handle a transaction identifier or other application-specific data.",
            "example": 12345678
          }
        }
      },
      "CscAccessTokenResponse": {
        "type": "object",
        "properties": {
          "access_token": {
            "type": "string",
            "description": "The short-lived access token to be used depending on the scope of the OAuth 2.0 authorization request. When the scope is “service” then the authorization server returns a bearer token to be used as the value of the “Authorization- Bearer” in the HTTP header of the subsequent API requests within the same session. When the scope is “credential” then the authorization server returns a Signature Activation Data token to authorize the signature request. This value SHOULD be used as the value for the SAD parameter when invoking the signatures/signHash method, as defined in section 11.9.",
            "example": "4/CKN69L8gdSYp5_pwH3XlFQZ3ndFhkXf9P2_TiHRG-bA"
          },
          "refresh_token": {
            "type": "string",
            "description": "The long-lived refresh token used to re-authenticate the user on the subsequent session based on the method described in Section 1.5 of RFC 6749 [11]. The presence of this parameter is controlled by the user and is allowed only when the scope of the OAuth 2.0 authorization request is “service”. In case grant_type is “refresh_token” the authorization server MAY issue a new refresh token, in which case the client SHALL discard the old refresh token and replace it with the new refresh token.",
            "example": "_TiHRG-bA H3XlFQZ3ndFhkXf9P24/CKN69L8gdSYp5_pw\""
          },
          "token_type": {
            "type": "string",
            "description": "When the scope is “service”, this specifies a \"Bearer\" token type as defined in RFC6750 [12]. When the scope is “credential”, this specifies a “SAD” token type.",
            "example": "Bearer"
          },
          "expires_in": {
            "type": "integer",
            "format": "int32",
            "description": "The lifetime in seconds of the service access token. If omitted, the default expiration time is 3600 sec. (1 hour).",
            "example": 3600
          }
        }
      },
      "CscListCredentialsRequest": {
        "required": [
          "userID"
        ],
        "type": "object",
        "properties": {
          "userID": {
            "type": "string",
            "description": "The user identifier associated to the user identity. This parameter shall be specified only when there is no userspecific authorization (e.g. when the authType returned by the info method is “external” or “TLS”). If the service authorization is user-specific (e.g. when the authType returned by the info method is “basic”, “digest” or “oauth2…”) the userID is already implicit in the service access token passed in the Authorization header. In this case, it shall not be possible to specify a different userID to obtain the list of credentials associated to another user, and the Remote Service shall return an error."
          },
          "clientData": {
            "type": "string",
            "description": "Arbitrary data from the Signature Application. It can be used to handle a transaction identifier or other application-specific data."
          },
          "pageToken": {
            "pattern": "^[1-9][0-9]*$",
            "type": "string",
            "description": "The page token for the new page of items. The parameter is only required to retrieve results other than the first page.",
            "example": "123456789"
          },
          "maxResults": {
            "maximum": 100,
            "minimum": 1,
            "type": "integer",
            "format": "int32",
            "description": "Maximum number of items to return. In case this parameter is omitted or invalid (value is too big) the Remote Service should return a predefined maximum number of items.",
            "example": "123456789"
          }
        }
      },
      "SignHashResponse": {
        "type": "object",
        "properties": {
          "signatures": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "One or more Base64-encoded signed hash. In case of multiple signatures, the signed hashes shall be returned in the same order of the corresponding hashes provided as an input parameter.",
              "example": [
                "KedJuTob5gtvYx9qM3k3gm7kbLBwVbEQRl26S2tmXjqNND7MRGtoew==",
                "Idhef7xzgtvYx9qM3k3gm7kbLBwVbE98239S2tm8hUh85KKsfdowel=="
              ]
            }
          }
        }
      },
      "SignHashRequest": {
        "required": [
          "SAD",
          "credentialID",
          "hash",
          "signAlgo"
        ],
        "type": "object",
        "properties": {
          "hash": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "One or more Base64-encoded hash values to be signed.",
            "example": [
              "sTOgwOm+474gFj0q0x1iSNspKqbcse4IeiqlDg/HWuI=",
              " c1RPZ3dPbSs0NzRnRmowcTB4MWlTTnNwS3FiY3NlNEllaXFsRGcvSFd1ST0="
            ]
          },
          "hashAlgo": {
            "type": "string",
            "description": "Specifies the OID of the algorithm used to calculate the hash value(s), in case it’s not implicitly specified by the signAlgo algorithm. Only hashing algorithms as strong or stronger than SHA256 shall be used.",
            "example": "2.16.840.1.101.3.4.2.1"
          },
          "signAlgo": {
            "type": "string",
            "description": "Specifies the OID of the algorithm to use for signing. It shall be one of the values allowed by the credential as returned in keyAlgo by the credentials/info method.",
            "example": "1.2.840.113549.1.1.1"
          },
          "signAlgoParams": {
            "type": "string",
            "description": "Specifies the Base64-encoded of DER-encoded ASN.1 signature parameters, if required by the signature algorithm. Some algorithms like RSA-PSS [RFC 3447] may require additional parameters."
          },
          "clientData": {
            "type": "string",
            "description": "Arbitrary data from the Signature Application. It can be used to handle a transaction identifier or other application-specific data.",
            "example": 12345678
          },
          "credentialID": {
            "type": "string",
            "description": "The identifier associated to the credential.",
            "example": "GX0112348"
          },
          "SAD": {
            "type": "string",
            "description": "The Signature Activation Data returned by the Credential Authorization methods.",
            "example": "_TiHRG-bAH3XlFQZ3ndFhkXf9P24/CKN69L8gdSYp5_pw"
          }
        }
      },
      "SendOtpRequest": {
        "required": [
          "credentialID"
        ],
        "type": "object",
        "properties": {
          "clientData": {
            "type": "string",
            "description": "Arbitrary data from the Signature Application. It can be used to handle a transaction identifier or other application-specific data.",
            "example": "GX0112348"
          },
          "credentialID": {
            "type": "string",
            "description": "The identifier associated to the credential.",
            "example": "GX0112348"
          }
        }
      },
      "CertificateProfileResponse": {
        "type": "object",
        "properties": {
          "created_by": {
            "type": "string"
          },
          "modified_on": {
            "type": "string",
            "format": "date-time"
          },
          "modified_by": {
            "type": "string"
          },
          "created_on": {
            "type": "string",
            "format": "date-time"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "body": {
            "type": "string"
          },
          "profile_key_type": {
            "type": "string"
          },
          "certificate_profile_type": {
            "type": "string"
          },
          "adss_certificate_profile_id": {
            "type": "string"
          },
          "ca_engine": {
            "type": "string"
          }
        }
      },
      "CertificateTemplateResponse": {
        "type": "object",
        "properties": {
          "created_by": {
            "type": "string"
          },
          "modified_on": {
            "type": "string",
            "format": "date-time"
          },
          "modified_by": {
            "type": "string"
          },
          "created_on": {
            "type": "string",
            "format": "date-time"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "body": {
            "type": "string"
          }
        }
      },
      "RejectRequest": {
        "required": [
          "reason"
        ],
        "type": "object",
        "properties": {
          "reason": {
            "type": "string",
            "enum": [
              "TECH_PHOTO",
              "TECH_HOLOGRAM",
              "BAD_PHOTO_QUALITY",
              "ID_NOT_SUPPORTED",
              "USER_ID",
              "ID_DAMAGED",
              "ID_OTHER",
              "USER_WRONG_PERSON",
              "PHOTO_OTHER",
              "OTHER_ERROR",
              "WARNING_SOCIAL_ENGINEERING",
              "WARNING_ID_MANIPULATION",
              "FACE_COMPARISON_UNMATCHED",
              "WARNING_FAKE_ID",
              "WARNING_PHOTO",
              "WARNING_DESCRIPTION",
              "WARNING_USER_UNDERAGE",
              "WARNING_INCONSISTENT_DATA",
              "DOCUMENT_TAMPERED",
              "WARNING_FAKED_MANIPULATED_ID",
              "WARNING_FRAUD_OTHER",
              "WARNING_WRONG_CHECKSUM",
              "WARNING_IDENTITY_THEFT",
              "SECURITY_FEATURE_IDENTITY_FAKED",
              "LIVENESS_DETECTION_FAILED",
              "SECURITY_FEATURE_DIGITAL_IMAGE\\",
              "FRONT_DOCUMENT_DIGITAL_IMAGE",
              "BACK_DOCUMENT_DIGITAL_IMAGE",
              "FACE_COMPARISON_DIGITAL_IMAGE",
              "LIVENESS_LEFT_DIGITAL_IMAGE",
              "LIVENESS_RIGHT_DIGITAL_IMAGE"
            ]
          }
        }
      },
      "ValidationDetailListResponse": {
        "type": "object",
        "properties": {
          "oauth_account_id": {
            "type": "string"
          },
          "sli": {
            "type": "string"
          },
          "bulk_onboarding_user_id": {
            "type": "string"
          },
          "oauth_account_cert_central_enabled": {
            "type": "string"
          },
          "validation_list": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ValidationDetailsResponse"
            }
          }
        }
      },
      "ValidationDetailsResponse": {
        "type": "object",
        "properties": {
          "validation_status": {
            "type": "string",
            "enum": [
              "VALIDATION_CREATED",
              "VALIDATION_ERROR",
              "INVITE_SENT",
              "INVITE_FAILED",
              "PENDING_IDENTITY_PROOFING",
              "APPROVED",
              "REJECTED",
              "ABORTED",
              "DOCUMENT_VERIFICATION_ERROR",
              "REVIEW_PENDING",
              "EXPIRED",
              "PENDING_MANUAL_REVIEW",
              "PENDING_SIGNER_APPROVAL",
              "PENDING_ORG_REVIEW",
              "DISABLED",
              "CANCELLED"
            ]
          },
          "validation_expiry_date": {
            "type": "string",
            "format": "date-time"
          },
          "validation_type": {
            "type": "string",
            "enum": [
              "advanced+",
              "qualified",
              "basic"
            ]
          },
          "terms_and_conditions": {
            "type": "string"
          },
          "terms_id": {
            "type": "string",
            "format": "uuid"
          },
          "certificate": {
            "type": "object",
            "properties": {
              "subject_dn": {
                "type": "string"
              },
              "validity": {
                "type": "string"
              }
            }
          },
          "default_profile_id": {
            "type": "string",
            "format": "uuid"
          },
          "validation_id": {
            "type": "string",
            "format": "uuid"
          },
          "validation_method": {
            "type": "string",
            "enum": [
              "f2f",
              "remote",
              "RA",
              "manual",
              "remote_manual"
            ]
          },
          "ident_type": {
            "type": "string",
            "enum": [
              "AUTO_IDENT_ADVANCED",
              "AUTO_IDENT_QUALIFIED",
              "VIDEO_IDENT_QUALIFIED",
              "AUTO_IDENT_BASIC",
              "VIDEO_IDENT_BASIC",
              "VIDEO_IDENT_ADVANCED_PLUS",
              "VIDEO_IDENT_TEST_QUALIFIED",
              "AUTO_IDENT_TEST_ADVANCED",
              "AUTO_IDENT_TEST_QUALIFIED",
              "AUTO_IDENT_TEST_BASIC",
              "VIDEO_IDENT_TEST_BASIC",
              "VIDEO_IDENT_TEST_ADVANCED_PLUS"
            ]
          },
          "ident_id": {
            "type": "string",
            "format": "uuid"
          },
          "oauth_account_id": {
            "type": "string",
            "format": "uuid"
          },
          "client_data": {
            "type": "string"
          },
          "sli": {
            "type": "string"
          }
        }
      },
      "ApproveRequest": {
        "required": [
          "account",
          "contact_data",
          "user_data",
          "identification_document"
        ],
        "type": "object",
        "properties": {
          "account": {
            "$ref": "#/components/schemas/Account"
          },
          "contact_data": {
            "$ref": "#/components/schemas/ContactData"
          },
          "user_data": {
            "$ref": "#/components/schemas/F2fUserData"
          },
          "identification_document": {
            "$ref": "#/components/schemas/IdentDocument"
          }
        }
      },
      "ContactData": {
        "required": [
          "email",
          "mobile_phone"
        ],
        "type": "object",
        "properties": {
          "mobile_phone": {
            "type": "string"
          },
          "email": {
            "pattern": "^[a-zA-Z0-9!#$%&'*.+/=?^_‘{|}~-]+\\.{0,1}[a-zA-Z0-9!#$%&'*.+/=?^_‘{|}~-]*@[a-zA-Z0-9!#$%&'*.+/=?^_‘{|}~-]+\\.{0,1}[a-zA-Z0-9!#$%&'*.+/=?^_‘{|}~-]*\\.{0,1}[a-zA-Z0-9!#$%&'*.+/=?^_‘{|}~-]*[a-zA-Z]{2,}$",
            "type": "string"
          }
        }
      },
      "F2fUserData": {
        "required": [
          "first_name",
          "last_name"
        ],
        "type": "object",
        "properties": {
          "first_name": {
            "type": "string"
          },
          "last_name": {
            "type": "string"
          },
          "common_name": {
            "type": "string"
          },
          "nationality": {
            "type": "string"
          },
          "ident_language": {
            "type": "string"
          },
          "organization_uuid": {
            "type": "string"
          },
          "organization": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "partner_id": {
            "type": "string"
          },
          "profession_validation_date": {
            "type": "string"
          },
          "organization_identifier": {
            "type": "string"
          },
          "organization_country": {
            "type": "string"
          },
          "organization_state": {
            "type": "string"
          },
          "organization_locality": {
            "type": "string"
          }
        }
      },
      "IdentDocument": {
        "required": [
          "country",
          "date_issued",
          "number",
          "type",
          "valid_until"
        ],
        "type": "object",
        "properties": {
          "country": {
            "type": "string"
          },
          "number": {
            "type": "string"
          },
          "date_issued": {
            "type": "string"
          },
          "valid_until": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "PASSPORT",
              "DRIVER_LICENSE",
              "ID_CARD"
            ]
          }
        }
      },
      "AssociateUserRequest": {
        "required": [
          "email"
        ],
        "type": "object",
        "properties": {
          "associate_user_id": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "new_user": {
            "type": "boolean"
          },
          "language_code": {
            "type": "string"
          }
        }
      },
      "ValidationRequest": {
        "required": [
          "account",
          "associated_users"
        ],
        "type": "object",
        "properties": {
          "account": {
            "$ref": "#/components/schemas/Account"
          },
          "validation_entity": {
            "type": "string",
            "enum": [
              "person",
              "organization"
            ]
          },
          "validation_entity_type": {
            "type": "string",
            "enum": [
              "account_user",
              "end_user",
              "organization"
            ]
          },
          "validation_type": {
            "type": "string",
            "enum": [
              "advanced+",
              "qualified",
              "basic"
            ]
          },
          "validation_method": {
            "type": "string",
            "enum": [
              "f2f",
              "remote",
              "RA",
              "manual",
              "remote_manual"
            ]
          },
          "default_profile_id": {
            "type": "string",
            "format": "uuid"
          },
          "associated_users": {
            "type": "array",
            "properties": {
              "list": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/AssociateUserRequest"
                }
              },
              "empty": {
                "type": "boolean"
              }
            },
            "items": {
              "$ref": "#/components/schemas/AssociateUserRequest"
            }
          },
          "validation_profile_id": {
            "type": "string"
          }
        }
      },
      "ValidationPaginationResult": {
        "type": "object",
        "properties": {
          "total": {
            "type": "integer",
            "format": "int64"
          },
          "offset": {
            "type": "integer",
            "format": "int32"
          },
          "limit": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ValidationResponse"
            }
          }
        }
      },
      "ValidationSearchParams": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "validation_entity_type": {
            "type": "string",
            "writeOnly": true
          },
          "validation_type": {
            "type": "string",
            "writeOnly": true
          },
          "validation_method": {
            "type": "string",
            "enum": [
              "f2f",
              "remote",
              "RA",
              "manual",
              "remote_manual"
            ],
            "writeOnly": true
          },
          "validation_status": {
            "type": "string",
            "writeOnly": true,
            "enum": [
              "VALIDATION_CREATED",
              "VALIDATION_ERROR",
              "INVITE_SENT",
              "INVITE_FAILED",
              "PENDING_IDENTITY_PROOFING",
              "APPROVED",
              "REJECTED",
              "ABORTED",
              "DOCUMENT_VERIFICATION_ERROR",
              "REVIEW_PENDING",
              "EXPIRED",
              "PENDING_MANUAL_REVIEW",
              "PENDING_SIGNER_APPROVAL",
              "PENDING_ORG_REVIEW",
              "DISABLED",
              "CANCELLED"
            ]
          },
          "validation_entity": {
            "type": "string",
            "writeOnly": true
          }
        }
      },
      "PendingSigningApprovalRejectRequest": {
        "required": [
          "reason"
        ],
        "type": "object",
        "properties": {
          "reason": {
            "type": "string",
            "enum": [
              "VALIDATION_IN_PROCESS",
              "VALIDATION_COMPLETED",
              "UNDEFINED"
            ]
          }
        }
      },
      "SelfEnrollmentLinkResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "profile_id": {
            "type": "string",
            "format": "uuid"
          },
          "validation_profile_id": {
            "type": "string",
            "format": "uuid"
          },
          "validation_entity": {
            "type": "string",
            "enum": [
              "person",
              "organization"
            ]
          },
          "validation_entity_type": {
            "type": "string",
            "enum": [
              "account_user",
              "end_user",
              "organization"
            ]
          },
          "validation_type": {
            "type": "string",
            "enum": [
              "advanced+",
              "qualified",
              "basic"
            ]
          },
          "validation_method": {
            "type": "string",
            "enum": [
              "f2f",
              "remote",
              "RA",
              "manual",
              "remote_manual"
            ]
          },
          "nickname": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "ACTIVE",
              "DISABLED",
              "EXPIRED"
            ]
          },
          "expires_on": {
            "type": "string",
            "format": "date-time"
          },
          "created_on": {
            "type": "string",
            "format": "date-time"
          },
          "created_by": {
            "type": "string"
          },
          "modified_on": {
            "type": "string",
            "format": "date-time"
          },
          "modified_by": {
            "type": "string"
          },
          "account_id": {
            "type": "string",
            "format": "uuid"
          },
          "help_text": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "company_logo_base64encoded": {
            "type": "string"
          }
        }
      },
      "SelfEnrollmentLinkRequest": {
        "required": [
          "account",
          "expires_on",
          "nickname",
          "validation_profile_id"
        ],
        "type": "object",
        "properties": {
          "validation_profile_id": {
            "type": "string",
            "format": "uuid"
          },
          "account": {
            "$ref": "#/components/schemas/Account"
          },
          "nickname": {
            "type": "string"
          },
          "expires_on": {
            "type": "string",
            "format": "date-time"
          },
          "description": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string"
          },
          "help_text": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string"
          },
          "company_logo_base64encoded": {
            "type": "string"
          },
          "language_code": {
            "type": "string"
          },
          "country_code": {
            "type": "string"
          },
          "auto_approval_rules": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "SelfEnrollmentLinkPaginationResponse": {
        "type": "object",
        "properties": {
          "total": {
            "type": "integer",
            "format": "int64"
          },
          "offset": {
            "type": "integer",
            "format": "int32"
          },
          "limit": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SelfEnrollmentLinkResponse"
            }
          }
        }
      },
      "SelfEnrollmentSearchParams": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "nickname": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "ACTIVE",
              "DISABLED"
            ]
          },
          "url": {
            "type": "string"
          },
          "validation_profile_id": {
            "type": "string",
            "format": "uuid"
          },
          "validation_entity": {
            "type": "string",
            "enum": [
              "PERSON",
              "ORGANIZATION"
            ]
          },
          "validation_entity_type": {
            "type": "string",
            "enum": [
              "ACCOUNT_USER",
              "END_USER",
              "ORGANIZATION"
            ]
          },
          "validation_type": {
            "type": "string",
            "enum": [
              "advanced+",
              "qualified",
              "basic"
            ]
          },
          "validation_method": {
            "type": "string",
            "enum": [
              "F2F",
              "REMOTE",
              "RA",
              "MANUAL",
              "REMOTE_MANUAL"
            ]
          },
          "account_id": {
            "type": "string",
            "writeOnly": true
          },
          "expires_on_start_date": {
            "type": "string",
            "writeOnly": true
          },
          "expires_on_end_date": {
            "type": "string",
            "writeOnly": true
          },
          "profile_id": {
            "type": "string",
            "writeOnly": true
          }
        }
      },
      "SelfEnrollmentLinkUpdateRequest": {
        "type": "object",
        "properties": {
          "validation_profile_id": {
            "type": "string",
            "format": "uuid"
          },
          "nickname": {
            "type": "string"
          },
          "expires_on": {
            "type": "string",
            "format": "date-time"
          },
          "description": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string"
          },
          "help_text": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string"
          },
          "company_logo_base64encoded": {
            "type": "string"
          },
          "language_code": {
            "type": "string"
          },
          "country_code": {
            "type": "string"
          },
          "auto_approval_rules": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "ValidationProfileResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "credential_profile_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "default_credential_profile_id": {
            "type": "string"
          },
          "validation_method": {
            "type": "string",
            "enum": [
              "f2f",
              "remote",
              "RA",
              "manual",
              "remote_manual"
            ]
          },
          "validation_type": {
            "type": "string",
            "enum": [
              "advanced+",
              "qualified",
              "basic"
            ]
          },
          "nickname": {
            "type": "string"
          },
          "policies": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ValidationProfilePolicyResponse"
            }
          },
          "status": {
            "type": "string",
            "enum": [
              "ACTIVE",
              "DISABLED"
            ]
          },
          "modified_on": {
            "type": "string",
            "format": "date-time"
          },
          "created_by": {
            "type": "string"
          },
          "created_on": {
            "type": "string",
            "format": "date-time"
          },
          "modified_by": {
            "type": "string"
          },
          "account_id": {
            "type": "string",
            "format": "uuid"
          },
          "alternative_validation_profile_id": {
            "type": "string"
          },
          "is_default_profile": {
            "type": "string"
          },
          "organization_id": {
            "type": "string"
          },
          "remote_identity_vendor": {
            "type": "string",
            "enum": [
              "AUTO_IDENT",
              "VIDEO_IDENT"
            ]
          },
          "product_type": {
            "type": "string"
          },
          "organization_identifier": {
            "type": "string"
          },
          "onboarding_credential_profile_id": {
            "type": "string"
          }
        }
      },
      "TermsAndCertDto": {
        "type": "object",
        "properties": {
          "terms_and_conditions": {
            "type": "string"
          },
          "terms_id": {
            "type": "string"
          },
          "validation_type": {
            "type": "string",
            "enum": [
              "advanced+",
              "qualified",
              "basic"
            ]
          },
          "terms_and_cert_data": {
            "$ref": "#/components/schemas/CertificateProfileDetails"
          }
        }
      },
      "CertificateProfileDetails": {
        "type": "object",
        "properties": {
          "subject_dn": {
            "type": "string"
          },
          "validity": {
            "type": "string"
          }
        }
      },
      "ValidationProfilePolicyResponse": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "enum": [
              "organization_details_required",
              "title_detail_required",
              "create_user",
              "issue_credential",
              "suppress_validation_approval_email",
              "add_san_value_to_certificate",
              "blocklist_transaction_number_required",
              "allow_opt_out",
              "register_notary_profession_validation",
              "organization_identifier_required"
            ]
          },
          "value": {
            "type": "boolean"
          }
        }
      },
      "ValidationProfilePolicyRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "enum": [
              "organization_details_required",
              "title_detail_required",
              "create_user",
              "issue_credential",
              "suppress_validation_approval_email",
              "add_san_value_to_certificate",
              "blocklist_transaction_number_required",
              "allow_opt_out",
              "register_notary_profession_validation",
              "organization_identifier_required"
            ]
          },
          "value": {
            "type": "boolean"
          }
        }
      },
      "ValidationProfileUpdateRequest": {
        "type": "object",
        "properties": {
          "default_credential_profile_id": {
            "type": "string"
          },
          "validation_method": {
            "type": "string",
            "enum": [
              "f2f",
              "remote",
              "RA",
              "manual",
              "manual_remote"
            ]
          },
          "validation_type": {
            "type": "string",
            "enum": [
              "advanced+",
              "qualified",
              "basic"
            ]
          },
          "nickname": {
            "type": "string"
          },
          "policies": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ValidationProfilePolicyRequest"
            }
          },
          "status": {
            "type": "string",
            "enum": [
              "ACTIVE",
              "DISABLED"
            ]
          },
          "alternative_validation_profile_id": {
            "type": "string"
          },
          "is_default_profile": {
            "type": "string"
          },
          "organization_id": {
            "type": "string"
          },
          "remote_identity_vendor": {
            "type": "string",
            "enum": [
              "AUTO_IDENT",
              "VIDEO_IDENT"
            ]
          },
          "product_type": {
            "type": "string"
          },
          "organization_identifier": {
            "type": "string",
            "maxLength": 100
          }
        }
      },
      "EnhanceHashRequest": {
        "type": "object",
        "properties": {
          "credential_id": {
            "type": "string"
          },
          "hashes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "sign_algo": {
            "type": "string"
          },
          "advanced_electronic_signature": {
            "type": "string",
            "enum": [
              "PAdES-B",
              "PAdES-T",
              "CAdES-B",
              "CAdES-T",
              "CAdES-LT"
            ]
          }
        }
      },
      "EnhanceSignatureRequest": {
        "type": "object",
        "properties": {
          "credential_id": {
            "type": "string"
          },
          "signatures": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "sign_algo": {
            "type": "string"
          },
          "advanced_electronic_signature": {
            "type": "string",
            "enum": [
              "PAdES-B",
              "PAdES-T",
              "CAdES-B",
              "CAdES-T",
              "CAdES-LT"
            ]
          },
          "hashes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "EnhanceHashResponse": {
        "type": "object",
        "properties": {
          "hashes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "EnhanceSignatureResponse": {
        "type": "object",
        "properties": {
          "signatures": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "CertificateProfileType": {
        "type": "string",
        "enum": [
          "ADVANCED_PLUS",
          "QUALIFIED",
          "BASIC"
        ]
      },
      "CredentialProfileCertType": {
        "type": "string",
        "enum": [
          "ESEAL",
          "INDIVIDUAL",
          "INDIVIDUAL_WITH_ORGANIZATION",
          "PROFESSIONAL",
          "CLIENT_AUTHENTICATION"
        ]
      },
      "OnboardingAccountRequest": {
        "required": [
          "account_name",
          "admin_user",
          "is_delegated",
          "service_user",
          "locale",
          "organization_details"
        ],
        "type": "object",
        "properties": {
          "account_name": {
            "type": "string",
            "description": "The account name is a combination of a <PREFIX.>_<ENTERPRISE_NAME> <br />PREFIX= Defined by DigiCert and shared with partner. Prefix is one time and will remain the same for all accounts.",
            "example": "account_name"
          },
          "locale": {
            "type": "string",
            "description": "locale for the account.",
            "example": "en_US"
          },
          "is_delegated": {
            "type": "boolean",
            "description": "is_delegated will identify if the account is delegated or not. This will be always true.",
            "example": true
          },
          "admin_user": {
            "required": [
              "email",
              "first_name",
              "last_name",
              "user_name",
              "phone_number",
              "locale",
              "id"
            ],
            "type": "object",
            "properties": {
              "first_name": {
                "type": "string",
                "description": "First name of account’s client admin.",
                "example": "John"
              },
              "last_name": {
                "type": "string",
                "description": "Last name of account’s client admin.",
                "example": "Doe"
              },
              "email": {
                "pattern": "^[a-zA-Z0-9!#$%&'*.+/=?^_‘{|}~-]+\\.{0,1}[a-zA-Z0-9!#$%&'*.+/=?^_‘{|}~-]*@[a-zA-Z0-9!#$%&'*.+/=?^_‘{|}~-]+\\.{0,1}[a-zA-Z0-9!#$%&'*.+/=?^_‘{|}~-]*\\.{0,1}[a-zA-Z0-9!#$%&'*.+/=?^_‘{|}~-]*[a-zA-Z]{2,}$",
                "type": "string",
                "description": "Email address of the client admin of the account. This can be a person from partner who will manage all the enterprise accounts.",
                "example": "john@local.com"
              },
              "user_name": {
                "type": "string",
                "description": "Last name of account’s client admin.",
                "example": "Doe"
              },
              "phone_number": {
                "type": "string",
                "description": "Phone number of account’s client admin",
                "example": 911234567890
              },
              "locale": {
                "type": "string",
                "description": "Locale to be passed in AM to create client admin.",
                "example": "en_US"
              },
              "id": {
                "type": "string",
                "description": "ID of existing admin user. If we want to make the exisitng admin user of Digicert One as client admin we can pass this ID.",
                "example": "XXXXXXXXXX"
              }
            }
          },
          "service_user": {
            "required": [
              "email"
            ],
            "type": "object",
            "properties": {
              "email": {
                "pattern": "^[a-zA-Z0-9!#$%&'*.+/=?^_‘{|}~-]+\\.{0,1}[a-zA-Z0-9!#$%&'*.+/=?^_‘{|}~-]*@[a-zA-Z0-9!#$%&'*.+/=?^_‘{|}~-]+\\.{0,1}[a-zA-Z0-9!#$%&'*.+/=?^_‘{|}~-]*\\.{0,1}[a-zA-Z0-9!#$%&'*.+/=?^_‘{|}~-]*[a-zA-Z]{2,}$",
                "type": "string",
                "description": "Email - required to create a service user in DTM. This is an APi user. Partner will use this isuer to call DTM APIs",
                "example": "john@local.com"
              }
            }
          },
          "organization_details": {
            "$ref": "#/components/schemas/OrganizationDetails"
          },
          "sso_configuration": {
            "$ref": "#/components/schemas/SsoConfigurationRequest"
          }
        }
      },
      "SsoConfigurationRequest": {
        "type": "object",
        "properties": {
          "authorization_endpoint": {
            "type": "string",
            "description": "Authorization Endpoint from the OIDC providers",
            "example": "https://dev-12345.okta.com/oauth2/default/v1/authorize"
          },
          "token_endpoint": {
            "type": "string",
            "description": "Authorisation Token Endpoint from the OIDC providers",
            "example": "https://dev-12345.okta.com/oauth2/default/v1/token"
          },
          "jwks_endpoint": {
            "type": "string",
            "description": "Authorisation JWKS Endpoint from the OIDC providers",
            "example": "https://dev-12345.okta.com/oauth2/default/v1/keys"
          },
          "client_id": {
            "type": "string",
            "description": "Client ID provided by OIDC providers",
            "example": "0oafjfpppaT3ID912344"
          },
          "client_secret": {
            "type": "string",
            "description": "Client Secret provided by OIDC providers",
            "example": "2_PeF*************"
          },
          "token_audience": {
            "type": "string",
            "description": "Token audience provided by OIDC providers",
            "example": "0oafjfpppaT3ID931234"
          },
          "token_issuer": {
            "type": "string",
            "description": "Token Issuer URL provided by OIDC providers.",
            "example": "https://dev-12345.okta.com/oauth2/default"
          }
        }
      },
      "OnboardingAccountResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Organization ID.",
            "example": "fd085dbb-e15a-487c-b3bd-9e6253fb42e2"
          },
          "service_user": {
            "$ref": "#/components/schemas/OnboardingAccountUserDetails"
          },
          "admin_user": {
            "$ref": "#/components/schemas/OnboardingAccountUserDetails"
          },
          "products": {
            "type": "array",
            "description": "List of products unique name which can be used to place orders",
            "example": [
              "AATL Electronic Seal | ZertES"
            ],
            "items": {
              "type": "string"
            }
          },
          "account_id": {
            "type": "string",
            "description": "DigiCert One Account ID",
            "example": "53bcc608-9bb8-4ed4-ad10-a8e263913b0d"
          },
          "organization": {
            "$ref": "#/components/schemas/OnboardingOrganizationResponse"
          },
          "sso_configuration": {
            "$ref": "#/components/schemas/SsoConfigurationResponse"
          }
        }
      },
      "OnboardingAccountUserDetails": {
        "type": "object",
        "properties": {
          "api_key": {
            "type": "string",
            "description": "This is SERVICE_USER_API_KEY  to used to user in later API calls.",
            "example": "0117fa9c31d0947e123fc9874c_51bdc18961d7d259bedcaa0e600c2b93feeda8ff6482b5a1426b9562a8185949"
          },
          "id": {
            "type": "string",
            "description": "Client admin user ID",
            "example": "32d43cce-0e28-4f06-b4f0-0b6fa43be0f2"
          }
        }
      },
      "OnboardingOrganizationResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32",
            "description": "Organization ID.",
            "example": 1909826
          },
          "status": {
            "type": "string",
            "description": "Organization status. (Possible values- active, inactive)",
            "example": "active"
          },
          "display_name": {
            "type": "string",
            "description": "Full name of the organization.",
            "example": "Company1"
          },
          "name": {
            "type": "string",
            "description": "Legal name of the organization.",
            "example": "Company1"
          },
          "address": {
            "type": "string",
            "description": "Address Line 1 of the organization.",
            "example": "Address1"
          },
          "address2": {
            "type": "string",
            "description": "Address Line 1 of the organization.",
            "example": "Suite 321"
          },
          "zip": {
            "type": "string",
            "description": "Postal code of the organization.",
            "example": 560103
          },
          "city": {
            "type": "string",
            "description": "City where the organization is located.",
            "example": "Bangalore"
          },
          "state": {
            "type": "string",
            "description": "State where the organization is located.",
            "example": "KAR"
          },
          "country": {
            "type": "string",
            "description": "Country where the organization is located.",
            "example": "IN"
          }
        }
      },
      "SsoConfigurationResponse": {
        "type": "object",
        "properties": {
          "callback_url": {
            "type": "string",
            "description": "Callback/Redirect URL to be used by OIDC providers",
            "example": "DIGICERT_BASE_URL/imauth/sso/oidc/callback"
          },
          "login_initiation_endpoint": {
            "type": "string",
            "description": "Endpoint to be configured in OIDC  providers application to initiate login",
            "example": "DIGICERT_BASE_URL/imauth/sso/oidc/d1e0b871053742dc84d6233b668bdf72"
          },
          "logout_endpoint": {
            "type": "string",
            "description": "Endpoint to be configured in OIDC  providers application to logout",
            "example": "DIGICERT_BASE_URL/imauth/api/v1/logout"
          }
        }
      },
      "OnboardingAccountUpdateRequest": {
        "type": "object",
        "properties": {
          "organization_details": {
            "$ref": "#/components/schemas/OrganizationDetails"
          }
        }
      },
      "OrganizationDetails": {
        "required": [
          "name",
          "address",
          "address2",
          "locale",
          "country",
          "organization_contact",
          "authorized_representative"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Organization ID.",
            "example": 1909826
          },
          "name": {
            "type": "string",
            "description": "Legal name of the organization.",
            "example": "Company1"
          },
          "address": {
            "type": "string",
            "description": "Address  line 1 of the organization.",
            "example": "Address1"
          },
          "address2": {
            "type": "string",
            "description": "Address  line 2 of the organization.",
            "example": "Suite 321"
          },
          "zip": {
            "type": "string",
            "description": "Postal code of the organization.",
            "example": 560103
          },
          "city": {
            "type": "string",
            "description": "City where the organization is located.",
            "example": "Bangalore"
          },
          "state": {
            "type": "string",
            "description": "State where the organization is located.",
            "example": "KAR"
          },
          "country": {
            "type": "string",
            "description": "Country where the organization is located.",
            "example": "IN"
          },
          "telephone": {
            "type": "string",
            "description": "Organization telephone number.",
            "example": "111-222-333-4445"
          },
          "organization_contact": {
            "$ref": "#/components/schemas/CcOrganizationContact"
          },
          "authorized_representative": {
            "type": "array",
            "description": "List of authorized representative details",
            "items": {
              "$ref": "#/components/schemas/CcOrganizationContact"
            }
          },
          "organization_identifier": {
            "type": "string",
            "description": "Organization Identifier only required for Partner vetted org. Note- If the certificate type is eseal, This parameter would become mandatory.",
            "example": "XXXXXX"
          }
        }
      },
      "CcOrganizationContact": {
        "required": [
          "email",
          "first_name",
          "last_name",
          "job_title",
          "telephone"
        ],
        "type": "object",
        "properties": {
          "first_name": {
            "type": "string",
            "description": "Authorization representative’s first name",
            "example": "Jill"
          },
          "last_name": {
            "type": "string",
            "description": "Authorization representative’s last name",
            "example": "Valentine"
          },
          "email": {
            "type": "string",
            "description": "Authorization representative’s email",
            "example": "jill.valentine@digicert.com"
          },
          "job_title": {
            "type": "string",
            "description": "Authorization representative’s job title",
            "example": "CTO"
          },
          "telephone": {
            "type": "string",
            "description": "Authorization representative’s telephone",
            "example": "555-555-5555"
          }
        },
        "description": "Organization’s contact"
      },
      "CreateUserRequest": {
        "required": [
          "user_name",
          "email",
          "first_name",
          "last_name",
          "user_type",
          "accounts",
          "roles",
          "is_pipl_accepted",
          "is_tou_accepted"
        ],
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "description": "Signer user email",
            "example": "james.demo.1@example.com"
          },
          "first_name": {
            "type": "string",
            "description": "Signer user first name",
            "example": "James"
          },
          "last_name": {
            "type": "string",
            "description": "Signer user last name",
            "example": "Smith"
          },
          "user_name": {
            "type": "string",
            "description": "Signer user name for DTM",
            "example": "user1710238743839"
          },
          "phone_number": {
            "type": "string",
            "description": "Signer user contact number",
            "example": 919999988888
          },
          "locale": {
            "type": "string",
            "description": "Values can be - de_DE, en_US, es_ES, fr_FR, it_IT, ja_JP, ko_KR, nl_NL, pt_BR, ru_RU, zh_CN, zh_TW",
            "example": "en_US"
          },
          "description": {
            "type": "string",
            "description": "user creation description",
            "example": "user created by api"
          },
          "user_type": {
            "type": "string",
            "description": "User type - default standard",
            "example": "standard"
          },
          "accounts": {
            "type": "array",
            "description": "List of accounts",
            "example": [
              "f9cd7525-b1ab-4067-96da-b0faac7212f6"
            ],
            "items": {
              "type": "string",
              "format": "uuid"
            }
          },
          "roles": {
            "type": "array",
            "description": "List of roles",
            "example": [
              "DSM_DOCUMENT_SIGNER"
            ],
            "items": {
              "type": "string",
              "enum": [
                "AM_ACCOUNT_ADMIN",
                "DSM_DOCUMENT_SIGNER",
                "AM_DEFAULT_USER",
                "DSM_CLIENT_ADMIN"
              ]
            }
          },
          "is_pipl_accepted": {
            "type": "boolean",
            "description": "true if PIPL is accepted by account user.",
            "example": true
          },
          "is_tou_accepted": {
            "type": "boolean",
            "description": "true if TOU is accepted by account user",
            "example": true
          }
        }
      },
      "ReplaceClientAdminUserRequest": {
        "required": [
          "email",
          "first_name",
          "last_name",
          "user_name"
        ],
        "type": "object",
        "properties": {
          "email": {
            "pattern": "^[a-zA-Z0-9!#$%&'*.+/=?^_‘{|}~-]+\\.{0,1}[a-zA-Z0-9!#$%&'*.+/=?^_‘{|}~-]*@[a-zA-Z0-9!#$%&'*.+/=?^_‘{|}~-]+\\.{0,1}[a-zA-Z0-9!#$%&'*.+/=?^_‘{|}~-]*\\.{0,1}[a-zA-Z0-9!#$%&'*.+/=?^_‘{|}~-]*[a-zA-Z]{2,}$",
            "type": "string",
            "description": "Email address of the client admin of the account. This can be a person from Intrum who will manage all Intrum enterprise accounts.",
            "example": "john@local.com"
          },
          "first_name": {
            "type": "string",
            "description": "First name of account’s client admin",
            "example": "John"
          },
          "last_name": {
            "type": "string",
            "description": "Last name of account’s client admin",
            "example": "Doe"
          },
          "user_name": {
            "type": "string",
            "description": "Username of account’s client admin",
            "example": "abc12345"
          },
          "phone_number": {
            "type": "string",
            "description": "Phone number of account’s client admin",
            "example": 911234567890
          },
          "locale": {
            "type": "string",
            "description": "Locale to be passed in AM to create client admin",
            "example": "en_US"
          },
          "description": {
            "type": "string",
            "description": "Description of the client admin",
            "example": "abc12345"
          }
        }
      },
      "UpdateUserRequest": {
        "required": [
          "account"
        ],
        "type": "object",
        "properties": {
          "account": {
            "$ref": "#/components/schemas/Account"
          },
          "phone_number": {
            "pattern": "\\+\\d{8,15}",
            "type": "string",
            "description": "Singer user contact number",
            "example": 919999988888
          },
          "email": {
            "pattern": "^[a-zA-Z0-9!#$%&'*.+/=?^_‘{|}~-]+\\.{0,1}[a-zA-Z0-9!#$%&'*.+/=?^_‘{|}~-]*@[a-zA-Z0-9!#$%&'*.+/=?^_‘{|}~-]+\\.{0,1}[a-zA-Z0-9!#$%&'*.+/=?^_‘{|}~-]*\\.{0,1}[a-zA-Z0-9!#$%&'*.+/=?^_‘{|}~-]*[a-zA-Z]{2,}$",
            "type": "string",
            "description": "Signer user email",
            "example": "james.demo.1@example.com"
          },
          "first_name": {
            "type": "string",
            "description": "Signer user first name",
            "example": "James"
          },
          "last_name": {
            "type": "string",
            "description": "Signer user last name",
            "example": "Smith"
          },
          "locale": {
            "type": "string",
            "description": "en_US",
            "example": "en_US"
          }
        }
      },
      "CreateUserResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "user id for the user created in DigiCert One.",
            "example": "93443ac0-6b17-4332-a96f-22fd57d22f48"
          }
        }
      },
      "CreateCredentialRequestV2": {
        "required": [
          "productName",
          "label",
          "userId",
          "organization"
        ],
        "type": "object",
        "properties": {
          "label": {
            "type": "string",
            "description": "Label",
            "example": "tets3"
          },
          "countryCode": {
            "type": "string",
            "description": "Country code",
            "example": "IN"
          },
          "productName": {
            "type": "string",
            "description": "Unique product name",
            "example": "AATL Electronic Seal | ZertES"
          },
          "organization": {
            "$ref": "#/components/schemas/Organization"
          },
          "userId": {
            "type": "string",
            "description": "User Identifier",
            "example": "user_id"
          }
        }
      },
      "Contact": {
        "required": [
          "contact_type"
        ],
        "type": "object",
        "properties": {
          "first_name": {
            "type": "string",
            "description": "Organizational contact’s first_name",
            "example": "James"
          },
          "last_name": {
            "type": "string",
            "description": "Organizational contact’s last_name",
            "example": "Smith"
          },
          "telephone": {
            "type": "string",
            "description": "Organizational contact’s telephone number",
            "example": 919999988888
          },
          "email": {
            "type": "string",
            "description": "Organizational contact’s email",
            "example": "james.smith@example.com"
          },
          "job_title": {
            "type": "string",
            "description": "Organizational contact’s job_title",
            "example": "Eng"
          },
          "country": {
            "type": "string",
            "description": "Organizational contact’s country"
          },
          "city": {
            "type": "string",
            "description": "Organizational contact’s city"
          },
          "state": {
            "type": "string",
            "description": "Organizational contact’s state"
          },
          "zip": {
            "type": "string",
            "description": "Organizational contact’s zip"
          },
          "contact_type": {
            "type": "string",
            "description": "verified contact",
            "example": "verified_contact",
            "enum": [
              "VERIFIED_CONTACT",
              "ORGANIZATION_CONTACT"
            ]
          },
          "id": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "Organization": {
        "required": [
          "contacts",
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32",
            "description": "Organization ID",
            "example": "org_id"
          },
          "contacts": {
            "type": "array",
            "description": "This field contains list of organization contact (Authorized representative) details",
            "items": {
              "$ref": "#/components/schemas/Contact"
            }
          }
        }
      },
      "CredentialsDetailsResponseV2": {
        "type": "object",
        "properties": {
          "created_by": {
            "type": "string"
          },
          "modified_on": {
            "type": "string",
            "format": "date-time"
          },
          "modified_by": {
            "type": "string"
          },
          "created_on": {
            "type": "string",
            "format": "date-time"
          },
          "id": {
            "type": "string",
            "description": "Identifier",
            "example": "69f3fea8-a13f-4359-aacd-d03ee3133671"
          },
          "name": {
            "type": "string",
            "description": "Credential Name",
            "example": "tets4"
          },
          "user_id": {
            "type": "string",
            "description": "DTM user id",
            "example": "a37322f1-5fd3-40d1-a1bc-a8640466a052"
          },
          "account_id": {
            "type": "string",
            "description": "DigiCert One Account ID",
            "example": "d02b6af4-6497-4d12-9b28-ac0678dd3eef"
          },
          "profile_id": {
            "type": "string",
            "description": "Credential Profile ID"
          },
          "first_credential": {
            "type": "boolean",
            "description": "This field identify if the credential is a first credential",
            "example": false
          },
          "status": {
            "type": "string",
            "description": "Credential Status (ACTIVE, PENDING_ISSUANCE, DEACTIVATED, REVOKED, SUSPENDED)",
            "example": "ACTIVE"
          },
          "cc_order_id": {
            "type": "string",
            "description": "Cert central order id"
          }
        }
      },
      "CancelCredentialRequest": {
        "required": [
          "notes"
        ],
        "type": "object",
        "properties": {
          "notes": {
            "type": "string",
            "description": "Cancellation notes",
            "example": "cancellation notes"
          }
        }
      }
    }
  }
}