openapi: 3.0.0
info:
  version: "11.64.0 (25.R4)"
  title: ONESPAN SIGN API
  termsOfService: 'https://www.onespan.com/terms-and-conditions'
  license:
    name: Apache 2.0
    url: 'http://www.apache.org/licenses/LICENSE-2.0.html'
  contact:
    name: API Support
    email: support@onespan.com
servers:
  - url: 'https://sandbox.esignlive.com'
    description: Sandbox
tags:
  - name: Account Attachments Blacklist
  - name: Account Attachments Whitelist
  - name: Account Custom Fields
  - name: Account Designer Settings
  - name: Account Email Reminder Settings
  - name: Account Feature Settings
  - name: Account Package Settings
  - name: Account Roles
  - name: Account Settings
  - name: Account Signing Logos
  - name: Account Signing Themes
  - name: Account Signing UI Options
  - name: Account Supported Languages
  - name: Account System Settings
  - name: Accounts
  - name: Approvals
  - name: Authentication Tokens
  - name: Callback
  - name: Data Management
  - name: Delegates
  - name: Documents
  - name: External Authentication
  - name: File Attachments
  - name: Groups
  - name: IDV Evidence Summary
  - name: IDV Workflow Configuration
  - name: Imprint Fields
  - name: InAppReports
  - name: Integration Framework Workflow Configuration
  - name: Layouts
  - name: Notary Commission
  - name: Notifications
  - name: Packages
  - name: Password Policy
  - name: Reminders
  - name: Reports
  - name: Roles
  - name: Roles Verification
  - name: Senders
  - name: Sessions
  - name: Signature Image Extraction
  - name: Signing URL
  - name: SubAccounts
  - name: System Logs
  - name: Templates
  - name: Virtual Room
paths:
  /api/account/customfields:
    get:
      tags:
        - Account Custom Fields
      operationId: api.account.customFields.get
      summary: Retrieves all custom fields in an account.
      description: >-
        Retrieves all custom fields in an account. Custom fields can be sorted
        using pagination.
      parameters:
        - $ref: '#/components/parameters/from'
        - $ref: '#/components/parameters/to'
        - $ref: '#/components/parameters/dir'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomField'
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
    put:
      tags:
        - Account Custom Fields
      operationId: api.account.customFields.put
      summary: Updates an account custom field.
      description: >-
        Updates an account custom field with information specified in the
        parameters.
      requestBody:
        description: The custom field to be updated.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomField'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomField'
          description: OK
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        default:
          $ref: '#/components/responses/UnexpectedError'
    post:
      tags:
        - Account Custom Fields
      operationId: api.account.customFields.post
      summary: Adds a custom field to an account.
      description: Adds a custom field to an account.
      requestBody:
        description: The custom field to be created.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomField'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomField'
          description: OK
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/account/customfields/{customFieldId}':
    get:
      tags:
        - Account Custom Fields
      operationId: api.account.customFields._customFieldId.get
      summary: Retrieves an account specified custom field.
      description: Retrieves an account custom field by using the specified ID.
      parameters:
        - $ref: '#/components/parameters/customFieldId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomField'
          description: OK
        '400':
          description: Invalid field Id
    delete:
      tags:
        - Account Custom Fields
      operationId: api.account.customFields.delete
      summary: Deletes an account custom field by its ID.
      description: Deletes a custom field using the specified ID.
      parameters:
        - $ref: '#/components/parameters/customFieldId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        default:
          $ref: '#/components/responses/UnexpectedError'
  /api/account/accessibleaccounts:
    get:
      tags:
        - SubAccounts
      operationId: api.account.accessibleaccounts.get
      summary: Retrieves a list of the subaccounts.
      description: >-
        The sub-accounts feature enables an organization to create child
        accounts within the organization's master account. For example, an
        organization might want to create child accounts on the basis of its
        departments, geographical locations, or lines of business. Accounts can
        be created on three levels (parent > child > grandchild), enabling an
        organization to manage many account types under its master account.
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AccessibleAccountResponse'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
  /api/account/subaccountApiKeys:
    get:
      tags:
        - SubAccounts
      operationId: api.account.subaccountApiKeys.get
      summary: Retrieves a list of API keys for this current user in the subaccounts.
      description: >-
        Retrieves a list of API keys for this current user in the subaccounts.
        This current user should have User Management, Sub Account Management
        and Api Access permission in different sub account in order to get the
        Api Key.
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SubAccountApiKeys'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
  /api/account/subaccounts:
    get:
      tags:
        - SubAccounts
      operationId: api.account.subAccounts.get
      summary: Retrieves a list of the subaccounts.
      description: Retrieves a list of the accounts which is subaccount of current account.
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Account'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
    post:
      tags:
        - SubAccounts
      operationId: api.account.subAccounts.post
      summary: Creates a new subaccount for the current account.
      description: >-
        Sub-accounts enable an organization to create child accounts within the
        organization's master account. For example, an organization might want
        to create child accounts on the basis of its departments, geographical
        locations, or lines of business. Accounts can be created on three
        levels, parent, child, grandchild. This enables an organization to
        manage many account types under its master account.
      requestBody:
        description: The subAccount payload.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SubAccount'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Account'
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/account/subaccounts/{accountId}':
    put:
      tags:
        - SubAccounts
      operationId: api.account.subAccounts.put
      summary: Updates a subAccount.
      description: Updates a subaccount with information specified in the parameters.
      parameters:
        - in: path
          name: accountId
          schema:
            type: string
          required: true
      requestBody:
        description: The subAccount to be updated.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SubAccount'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/NotAuthorized'
  /api/passwordPolicy:
    get:
      tags:
        - Password Policy
      operationId: api.passwordPolicy.get
      summary: Retrieves the settings for a password policy.
      description: >-
        A password policy defines the settings that are to be used when creating
        a password for an account. For example, the following settings may be
        retrieved&#58; * The minimum number of days before a password can be
        changed * The number of passwords the system will store in its history *
        The number of days until the password expires * Whether or not a
        password expiry notification will be sent, and the number of days prior
        to sending the password * The minimum password length * Password
        requirements (minimum password length, special characters, etc.)
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PasswordPolicy'
        '400':
          $ref: '#/components/responses/ValidationError'
        default:
          $ref: '#/components/responses/UnexpectedError'
    put:
      tags:
        - Password Policy
      operationId: api.passwordPolicy.put
      summary: Updates the settings for a password policy.
      description: Updates the settings for a password policy.
      security:
        - ApiKeyAuth: []
      requestBody:
        description: Password policy settings
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PasswordPolicy'
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
  /api/account/senders:
    get:
      tags:
        - Senders
      operationId: api.account.senders.get
      summary: Retrieves a list of the users in an account.
      description: >-
        Retrieves a list of the users in an account. Optional query parameters
        can be used to filter the list. By default, only one sender is
        retrieved. To retrieve additional users you must modify the “to” and
        “from” parameters, where each number in the parameter corresponds to a
        user. For example: to = 3 from = 10 Will return users 3 to 10 in the
        user list.
      parameters:
        - $ref: '#/components/parameters/search'
        - $ref: '#/components/parameters/from'
        - $ref: '#/components/parameters/to'
        - $ref: '#/components/parameters/dir'
        - $ref: '#/components/parameters/sendersRoleId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          $ref: '#/components/responses/ResultSenders'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
    post:
      tags:
        - Senders
      operationId: api.account.senders.post
      summary: Creates a new user in an account.
      description: Creates a new user in an account.
      requestBody:
        description: The account payload.
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Sender'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Sender'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/account/senders/{senderId}':
    get:
      tags:
        - Senders
      operationId: api.account.senders._senderId.get
      summary: Retrieves detailed Account information about a user.
      description: Retrieves detailed Account information about a specified user.
      parameters:
        - $ref: '#/components/parameters/senderId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Sender'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
    post:
      tags:
        - Senders
      operationId: api.account.senders._senderId.post
      summary: Updates a Sender's details.
      description: Updates or modifies detail information for a specified Sender.
      parameters:
        - $ref: '#/components/parameters/senderId'
        - $ref: '#/components/parameters/rawSignatureCapture'
      requestBody:
        description: The custom field to be updated.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Sender'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Sender'
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
    delete:
      tags:
        - Senders
      operationId: api.account.senders._senderId.delete
      summary: Deletes a Sender from the account.
      description: Deletes a specified Sender from an account.
      parameters:
        - $ref: '#/components/parameters/senderId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/account/senders/{senderId}/invite':
    post:
      tags:
        - Senders
      operationId: api.account.senders._senderId.invite.post
      summary: Invites a user to join the account.
      description: >-
        Sends an email invitation to a user. The user will receive an invitation
        link and a token identifying the account.
      parameters:
        - $ref: '#/components/parameters/senderId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Sender'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/account/senders/{senderId}/password':
    post:
      tags:
        - Senders
      operationId: api.account.senders._senderId.password.post
      summary: Updates a Sender's password.
      description: >-
        Helps users update or change their account password. Users can only
        modify their own password.
      parameters:
        - $ref: '#/components/parameters/senderId'
        - $ref: '#/components/parameters/rawSignatureCapture'
      requestBody:
        description: The custom field to be updated.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Credentials'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Sender'
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/account/senders/{senderId}/resetpassword':
    post:
      tags:
        - Senders
      operationId: api.account.senders._senderId.resetpassword.post
      summary: Resets the password for a specified user.
      description: 'Sends an email to a specified user, so that they can set a new password.'
      parameters:
        - $ref: '#/components/parameters/senderId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Sender'
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/account/senders/{senderId}/signature/image':
    get:
      tags:
        - Senders
      operationId: api.account.senders._senderId.signature.image.get
      summary: Retrieves a user's default signature image.
      description: >-
        Retrieves the image that is being used by a recipient as their default
        signature when signing a transaction.
      parameters:
        - $ref: '#/components/parameters/senderId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SignatureImage'
        '400':
          $ref: '#/components/responses/ResourceNotFound'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
    post:
      tags:
        - Senders
      operationId: api.account.senders._senderId.signature.image.post
      summary: Uploads a default signature image.
      description: >-
        Uploads an image to be used by a recipient as their default signature
        when signing a transaction.
      parameters:
        - $ref: '#/components/parameters/senderId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      requestBody:
        description: The sample payload.
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                file:
                  description: The file to upload.
                  type: string
                  format: binary
              required:
                - file
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
    delete:
      tags:
        - Senders
      operationId: api.account.senders._senderId.signature.image.delete
      summary: Deletes a user's default signature image.
      description: >-
        Deletes the image that is being used by a recipient as their default
        signature when signing a transaction.
      parameters:
        - $ref: '#/components/parameters/senderId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/account/senders/{senderId}/notaryCommission':
    get:
      tags:
        - Notary Commission
      operationId: api.account.senders._senderId.notaryCommission.get
      summary: Retrieves notary commission information for a sender.
      description: >+
        Retrieves notary commission information for a sender.


        This endpoint has been deprecated. The structure of Notary Commission
        has changed. The commission can consist of separate commissions for
        In-Person Notarization and Remote Online Notarization (IPEN and RON).

        To get Notary Commission use the following endpoint:
        '/api/account/notary/commissionSettings'

      parameters:
        - $ref: '#/components/parameters/senderId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotaryCommission'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
      deprecated: true
    put:
      tags:
        - Notary Commission
      operationId: api.account.senders._senderId.notaryCommission.put
      summary: Updates notary commission information for a sender.
      description: >+
        Updates notary commission information for a sender.


        To use this feature you must have Notary Management System enabled on
        your account.


        This endpoint has been deprecated. The structure of Notary Commission
        has changed. The commission can consist of separate commissions for
        In-Person Notarization and Remote Online Notarization (IPEN and RON).

        To add Notary Commission use the following endpoint:
        '/api/account/notary/commissionSettings'

      requestBody:
        description: Notary Commission payload.
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NotaryCommission'
      parameters:
        - $ref: '#/components/parameters/senderId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
      deprecated: true
    delete:
      tags:
        - Notary Commission
      operationId: api.account.senders._senderId.notaryCommission.delete
      summary: Deletes notary commission information for a sender.
      description: >+
        Deletes notary commission information for a sender.


        This endpoint has been deprecated. The structure of Notary Commission
        has changed. The commission can consist of separate commissions for
        In-Person Notarization and Remote Online Notarization (IPEN and RON).

        To delete Notary Commission use the following endpoint:
        '/api/account/notary/commissionSettings'

      parameters:
        - $ref: '#/components/parameters/senderId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
      deprecated: true
  '/api/account/senders/{senderId}/notaryCommission/seal':
    get:
      tags:
        - Notary Commission
      operationId: api.account.senders._senderId.notaryCommission.seal.get
      summary: Retrieves the image of notary commission's seal for specified user.
      description: >
        Retrieves the image of notary commission's seal for specified user.


        This endpoint has been deprecated. Notary Seal is part of
        'ExtendedNotaryCommission' in 'NotaryCommissionSettings' object.

        To get Notary Seal use the following endpoint:
        '/api/account/notary/commissionSettings'
      parameters:
        - $ref: '#/components/parameters/senderId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotaryCommissionSeal'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
      deprecated: true
    put:
      tags:
        - Notary Commission
      operationId: api.account.senders._senderId.notaryCommission.seal.deletes
      summary: Updates the image of notary commission's seal for specified user.
      description: >
        Uploads the image of notary commission's seal for specified user.


        To use this feature you must have Notary Management System enabled on
        your account.


        This endpoint has been deprecated. Notary Seal is part of
        'ExtendedNotaryCommission' in 'NotaryCommissionSettings' object.

        To modify Notary Seal use the following endpoint:
        '/api/account/notary/commissionSettings'
      requestBody:
        description: The sample payload.
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                file:
                  description: The seal image to upload.
                  type: string
                  format: binary
              required:
                - file
      parameters:
        - $ref: '#/components/parameters/senderId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
      deprecated: true
    delete:
      tags:
        - Notary Commission
      operationId: api.account.senders._senderId.notaryCommission.seal.delete
      summary: Deletes the image of notary commission's seal for specified user.
      description: >
        Deletes the image of notary commission's seal for specified user.


        This endpoint has been deprecated. Notary Seal is part of
        'ExtendedNotaryCommission' in 'NotaryCommissionSettings' object.

        To delete Notary Seal use the following endpoint:
        '/api/account/notary/commissionSettings'
      parameters:
        - $ref: '#/components/parameters/senderId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
      deprecated: true
  /api/account/notary/commissionSettings:
    get:
      tags:
        - Notary Commission
      operationId: api.account.notary.commissionSettings.get
      summary: Retrieves notary commission information for a sender.
      description: >
        Retrieves notary commission information for a sender. Notary commission
        information could include:
          - License number: The official license or commission number for the notary.
          - License expiration date: The date the notary's license expires.
          - License jurisdiction: This can be a State, Province, or region. For United States or Canada this will be a two letter state or province code. For other locations this could be the province or region name.
          - Notary seal: An image of the notary's stamp or seal.
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotaryCommissionSettings'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
    put:
      tags:
        - Notary Commission
      operationId: api.account.notary.commissionSettings.put
      summary: Updates notary commission information for a user.
      description: >
        Updates notary commission information for a sender. Notary commission
        information could include:
          - License number: The official license or commission number for the notary.
          - License expiration date: The date the notary's license expires.
          - License jurisdiction: This can be a State, Province, or region. For United States or Canada this will be a two letter state or province code. For other locations this could be the province or region name.
          - Notary seal: An image of the notary's stamp or seal.
      requestBody:
        description: Notary Commission Settings payload.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NotaryCommissionSettings'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
    delete:
      tags:
        - Notary Commission
      operationId: api.account.notary.commissionSettings.delete
      summary: Deletes notary commission information for a user.
      description: >-
        Deletes notary commission information for a user. If a notary commission
        is deleted then this user is no longer considered to be a valid notary
        and they cannot be used as a notary in any new transactions. They will
        also no longer be able to confirm any documents in previously sent
        transactions.
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/account/senders/{senderId}/delegates':
    get:
      tags:
        - Delegates
      operationId: api.account.senders._senderId.delegates.get
      summary: >-
        Retrieves a list of users who have been designated as delegates for a
        specified user.
      description: >-
        Retrieves a list of users who have been designated as delegates for a
        specified user. A delegate can: (1) access the delegator's inbox,
        drafts, layouts, and templates; (2) sign documents on behalf of the
        delegator. 
      parameters:
        - $ref: '#/components/parameters/senderId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Sender'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
    put:
      tags:
        - Delegates
      operationId: api.account.senders._senderId.delegates.put
      summary: Adds delegates to a specified user.
      description: >-
        A delegate can&#58; (1) access the delegator's inbox, drafts, layouts,
        and templates; (2) sign documents on behalf of the delegator. <p>All
        currently existing delegates will be replaced with delegates provided in
        a request body</p> <p>Request body can have one of two formats:</p> <ul>
        <li>array of string</li> <li>array of DelegationUser</li> </ul>
        <p>Examples:</p> <p>* array of string</p> <code> [ "userUid1",
        "userUid2", "userUid3" ] </code> <p> * array of DelegationUser</p>
        <code> [ { "id"&#58; "userUid1", "expiryDate"&#58; "2026-05-30" }, {
        "id"&#58; "userUid2", "expiryDate"&#58; "2026-05-20" }, "userUid3" ]
        </code> <p>String with user UID only, like "userUid3" above, will be
        deserialized to DelegationUser.</p>
      parameters:
        - $ref: '#/components/parameters/senderId'
      requestBody:
        description: 'Array of UserUID or DelegationUser {UserUID, expiryDate}'
        required: true
        content:
          application/json:
            schema:
              title: Array of UserUID or DelegationUser
              type: array
              items:
                oneOf:
                  - type: string
                    description: UserUID
                    example: userUid1
                  - type: object
                    description: DelegationUser
                    required:
                      - id
                    properties:
                      id:
                        type: string
                      expiryDate:
                        type: string
                        format: date
                    example:
                      id: userUid2
                      expiryDate: '2026-05-20'
              example:
                - id: userUid1
                  expiryDate: '2026-05-30'
                - id: userUid2
                  expiryDate: '2026-05-20'
                - userUid3
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
    delete:
      tags:
        - Delegates
      operationId: api.account.senders._senderId.delegates.delete
      summary: Deletes all delegates from a Sender.
      description: >-
        Deletes all delegates that have been specified for a Sender. Delegates
        will no longer be able to  (1) access the delegator's inbox, drafts,
        layouts, and templates; (2) sign documents on behalf of the delegator. 
      parameters:
        - $ref: '#/components/parameters/senderId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/account/senders/{senderId}/delegates/{delegateId}':
    post:
      tags:
        - Delegates
      operationId: api.account.senders._senderId.delegates.delegateId.post
      summary: Adds delegates to a Sender.
      description: >-
        A delegate can: (1) access the delegator's inbox, drafts, layouts, and
        templates; (2) sign documents on behalf of the delegator.
      parameters:
        - $ref: '#/components/parameters/senderId'
        - $ref: '#/components/parameters/delegateId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
    delete:
      tags:
        - Delegates
      operationId: api.account.senders._senderId.delegates.delegateId.delete
      summary: Deletes a delegate from a specified Sender.
      description: >-
        Deletes a delegate. The delegate will no longer be able to: (1) access
        the delegator's inbox, drafts, layouts, and templates; (2) sign
        documents on behalf of the delegator.
      parameters:
        - $ref: '#/components/parameters/senderId'
        - $ref: '#/components/parameters/delegateId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/session/delegators/{senderId}':
    get:
      tags:
        - Delegates
      operationId: session.delegate.delegators._senderId.get
      summary: Retrieves all delegators for a Sender.
      description: Retrieves a list containing all delegators for a specified Sender.
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      parameters:
        - $ref: '#/components/parameters/senderId'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                description: List of delegators
                type: array
                items:
                  $ref: '#/components/schemas/DelegationUser'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
  /api/account/usage:
    get:
      tags:
        - Accounts
      operationId: api.account.usage.get
      summary: Retrieves account usage.
      description: Retrieves the account usage.
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountUsage'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
  /api/layouts:
    get:
      tags:
        - Layouts
      operationId: api.layouts.get
      summary: Retrieves a list of available layouts.
      description: >-
        Retrieves a list of existing layouts. The list can be filtered and
        sorted by various criteria.

        By default, this call will return layouts of the API caller.

        When specifying either the ownerUserId or ownerEmail query parameter,
        this call will return the layouts of the specified user.

        To retrieve other users' layouts, you must have the Roles and
        Permissions feature enabled on your account and the API caller must have
        the Manage users’ transactions, templates, layouts permission.

        To enable Roles and Permissions, contact your OneSpan Sales
        Representative.
      parameters:
        - name: query
          description: 'The folder to search for. If not set, it will search in all folders.'
          in: query
          required: false
          schema:
            type: string
            enum:
              - drafts
              - inbox
              - trashed
        - name: type
          in: query
          description: 'If a template is needed, set to TEMPLATE.'
          required: false
          schema:
            type: string
            enum:
              - TEMPLATE
        - name: search
          in: query
          description: >-
            Any text which is going to be used in conjunction with the
            searchtype, if provided.
          required: false
          schema:
            type: string
        - name: searchtype
          in: query
          description: >-
            When empty, a wildcard search will be done in the layout name and
            description for the search value,  otherwise the allowable values
            will make more restrictive searches.
          required: false
          schema:
            type: string
            enum:
              - exact
              - exactname
        - name: visibility
          in: query
          description: The visibility used to search for the layout.
          required: false
          schema:
            type: string
            enum:
              - ACCOUNT
              - SENDER
        - $ref: '#/components/parameters/from'
        - $ref: '#/components/parameters/to'
        - $ref: '#/components/parameters/dir'
        - name: sort
          in: query
          description: The field according to which the data will be sorted.
          required: false
          schema:
            type: string
            enum:
              - created
              - updated
              - name
        - name: summary
          in: query
          description: >-
            If set to true, the response contains just a summary of the layouts.
            Otherwise, the response contains the full objects.
          required: false
          schema:
            type: boolean
        - name: ownerUserId
          in: query
          description: >-
            The transaction owner user's ID. Indicate the target user to search
            on.
          required: false
          schema:
            type: string
        - name: ownerEmail
          in: query
          description: >-
            The transaction owner's email address. Indicate the target user to
            search on.
          required: false
          schema:
            type: string
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          $ref: '#/components/responses/ResultLayouts'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
    post:
      tags:
        - Layouts
      operationId: api.layouts.post
      summary: Creates a new layout.
      description: Creates a new layout.
      requestBody:
        description: Layout information.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PackageLayout'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json; esl-api-version=11:
              schema:
                $ref: '#/components/schemas/Package'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
  /api/groups:
    get:
      tags:
        - Groups
      operationId: api.groups.get
      summary: Retrieves a list of all Groups in an account.
      description: >-
        Retrieves a list of all groups in an Account. Results are returned as a
        list of groups, and not as a simple group. Note that results can be
        returned in a paginated form if the  'from', 'to' and 'dir' query
        parameters are used.
      parameters:
        - $ref: '#/components/parameters/from'
        - $ref: '#/components/parameters/to'
        - $ref: '#/components/parameters/dir'
        - name: requestType
          in: query
          description: >-
            If the request type is manager, return only the groups that the
            request user is a manager of.
          required: false
          schema:
            type: string
            enum:
              - manager
        - name: name
          in: query
          description: The name of the groups to return
          required: false
          schema:
            type: string
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          $ref: '#/components/responses/ResultGroups'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
    post:
      tags:
        - Groups
      operationId: api.groups.post
      summary: Creates a new Group using the specified parameters.
      description: 'If specified, the id must be alphanumeric, and unique.'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      requestBody:
        description: Group information.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Group'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Group'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
  /api/groups/summary:
    get:
      tags:
        - Groups
      operationId: api.groups.summary
      summary: Retrieves summaries for all groups in the current account.
      description: Retrieves basic information for all groups in the current account.
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          $ref: '#/components/responses/ResultGroupSummary'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/groups/{groupId}':
    get:
      tags:
        - Groups
      operationId: api.groups._groupId.get
      summary: Retrieves a Group.
      description: Retrieves detailed information about a specified group.
      parameters:
        - $ref: '#/components/parameters/groupId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Group'
        '400':
          description: Invalid Group Id
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultError'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '404':
          description: The requested group could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultError'
        default:
          $ref: '#/components/responses/UnexpectedError'
    put:
      tags:
        - Groups
      operationId: api.groups._groupId.put
      summary: Updates an existing Group.
      description: >-
        Updates the members that are included in a specified Group. Updates can
        include adding and removing members. Updates can also change other Group
        information.
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      parameters:
        - $ref: '#/components/parameters/groupId'
      requestBody:
        description: Group information.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Group'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Group'
        '400':
          description: The group name is already in use.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultError'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          description: >-
            Operation not allowed. Only Managers of this Account or Group can
            update the Group.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultError'
        '404':
          description: >-
            Either one of the members of the group could not be found in the
            system, or the requested group could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultError'
        default:
          $ref: '#/components/responses/UnexpectedError'
    delete:
      tags:
        - Groups
      operationId: api.groups._groupId.delete
      summary: Deletes an existing Group.
      description: Deletes an existing Group from the account.
      parameters:
        - $ref: '#/components/parameters/groupId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '404':
          description: Requested group could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultError'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/groups/{groupId}/invite':
    post:
      tags:
        - Groups
      operationId: api.groups._groupId.invite.post
      summary: Invites an existing sender to join the Group.
      description: Invites an existing account sender to join the Group.
      parameters:
        - $ref: '#/components/parameters/groupId'
      requestBody:
        description: Group information.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/User'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Group'
        '400':
          description: Invalid Group Id
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultError'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '404':
          description: Requested group could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultError'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/groups/{groupId}/members':
    post:
      tags:
        - Groups
      operationId: api.groups._groupId.members.post
      summary: Invites a new sender to the Group.
      description: >-
        Invites a sender who is not yet part of any account to join a group. The
        invitee will initially be prompted to register as an account sender.
      parameters:
        - $ref: '#/components/parameters/groupId'
      requestBody:
        description: The new group member.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GroupMember'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Group'
        '400':
          description: >-
            Either both the id and the email of the group member weren't
            provided, or the groupId is invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultError'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '404':
          description: >-
            Either one of the members of the group could not be found in the
            system, or the requested group could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultError'
        default:
          $ref: '#/components/responses/UnexpectedError'
  /api/account/signingThemes:
    get:
      tags:
        - Account Signing Themes
      operationId: api.account.signingThemes.get
      summary: Retrieves a customized signing theme.
      description: >-
        Retrieves a customized signing theme so that it can be used. A
        customized signing theme is a signing theme that was designed by your
        organization using, for example, your corporate branding.
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SigningThemesConfig'
        '400':
          $ref: '#/components/responses/ResourceNotFound'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
    post:
      tags:
        - Account Signing Themes
      operationId: api.account.signingThemes.post
      summary: Create a customized signing theme.
      description: >-
        Creates a signing theme that uses the settings defined by you. A
        customized signing theme is a signing theme that was designed by your
        organization using, for example, your corporate branding.
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      requestBody:
        description: The sample Signing Themes payload.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SigningThemesConfig'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SigningThemesConfig'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
    put:
      tags:
        - Account Signing Themes
      operationId: api.account.signingThemes.put
      summary: Update an existing customized signing theme.
      description: >-
        Updates an existing customized signing theme. A customized signing theme
        is a signing theme that was designed by your organization using, for
        example, your corporate branding.
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      requestBody:
        description: The sample Signing Themes payload.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SigningThemesConfig'
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
    delete:
      tags:
        - Account Signing Themes
      operationId: api.account.signingThemes.delete
      summary: Delete a customized signing themes.
      description: >-
        Deletes a customized signing theme. A customized signing theme is a
        signing theme that was designed by your organization using, for example,
        your corporate branding.
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
  /api/account/admin/signingLogos:
    get:
      tags:
        - Account Signing Logos
      operationId: api.account.admin.signingLogos.get
      summary: Retrieves an account's Signing Ceremony logos.
      description: >-
        Retrieves an account's customized logo for use during the Signing
        Ceremony. In addition, the corresponding langauge for the account is
        also retrieved.
      security:
        - ApiKeyAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SigningLogos'
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
    post:
      tags:
        - Account Signing Logos
      operationId: api.account.admin.signingLogos.post
      summary: 'Add, update or delete Signing Ceremony logos for an account.'
      description: >-
        Adds, updates or deletes an account's customized Signing Ceremony logos.
        To add or update a Signing Ceremony logo for a language, pass the Base
        64 decoded image (Data URI) with the language. <br> To delete all
        Singing Ceremony logos, provide empty {} request body. <br> <br> Note
        that <br> 1. The image has to be one of the following formats - jpeg,
        png, gif, bmp or svg. <br> 2. The maximum supported size for an image is
        1MB <br> 3. The recommended dimensions for a Signing Ceremony logo is
        258px X 40 px.
      requestBody:
        description: >-
          The customized Signing Ceremony Logos to be created or updated along
          with language.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SigningLogos'
      security:
        - ApiKeyAuth: []
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
  /api/account/admin/signingUiOptions:
    get:
      tags:
        - Account Signing UI Options
      operationId: api.account.admin.signingUiOptions.get
      summary: Retrieves customized New Signer Experience settings.
      description: >-
        Retrieves customized New Signer Experience settings. Note that if there
        are no customized settings for the New Signer Experience then the
        default settings for the New Signer Experience will be returned.
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SigningUiOptions'
        '400':
          $ref: '#/components/responses/ResourceNotFound'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
    patch:
      tags:
        - Account Signing UI Options
      operationId: api.account.signingUiOptions.put
      summary: Patch the customized Signing UI Option.
      description: Retrieves the customized Signing UI Options.
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      requestBody:
        description: The sample Signing UI Options payload.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SigningUiOptions'
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
    delete:
      tags:
        - Account Signing UI Options
      operationId: api.account.admin.signingUiIptions.delete
      summary: Deletes customized New Signer Experience settings.
      description: >-
        Deletes customized New Signer Experience settings. Note that if there
        are no customized settings for the New Signer Experience then the
        default settings for the New Signer Experience will be returned.
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
  /api/account/admin/accountSettings/signatureLayout:
    get:
      tags:
        - Account Signature Layout
      operationId: api.account.admin.accountSettings.signatureLayout.get
      summary: Retrieves an account's signature layout configuration.
      description: >-
        Retrieves an account's signature layout configuration. A signature
        layout configuration defines how various signature elements, such as the
        watermark logo, the signature, and the signed-by text, are positioned in
        relation to each other.
      security:
        - ApiKeyAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SignatureLayout'
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
    patch:
      tags:
        - Account Signature Layout
      operationId: api.account.admin.accountSettings.signatureLayout.patch
      summary: >-
        Adds a new or updates an existing signature layout configuration for an
        account.
      description: >-
        Adds a new or updates an existing signature layout configuration for an
        account. A signature layout configuration defines how various signature
        elements, such as the watermark logo, the signature, and the signed-by
        text, are positioned in relation to each other. To add or update the
        signature logo you must pass the logo as a Base 64 decoded image (Data
        URI). <br> To delete the signature logo, enter 'null' as the logo's
        value. <br> <br> To delete the capture signature, enter 'null' as the
        captureSignature value. <br> <br> Note that&#58; <br> 1. The image must
        be in a jpeg or png format. <br> 2. The maximum supported size for the
        signature logo is 500KB <br>
      requestBody:
        description: The customized Signature Layout to be created or updated.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SignatureLayout'
      security:
        - ApiKeyAuth: []
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
  /api/account/admin/accountSettings:
    get:
      tags:
        - Account Settings
      operationId: api.account.admin.accountSettings.get
      summary: Retrieves a list of all your current Backoffice Account settings.
      description: Retrieves your Backoffice Account settings.
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountConfiguration'
        '400':
          $ref: '#/components/responses/ResourceNotFound'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
    patch:
      tags:
        - Account Settings
      operationId: api.account.accountSettings.put
      summary: Update your Backoffice Account settings with your new settings.
      description: >-
        Updates your Backoffice Account settings with any or all changes. This
        call can be used to implement either some of the settings that you wish
        to change, or to implement all of your changes.
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      requestBody:
        description: The sample Account Settings payload.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountConfiguration'
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
    delete:
      tags:
        - Account Settings
      operationId: api.account.admin.accountSettings.delete
      summary: Deletes and resets any customized Backoffice Account settings.
      description: >-
        Deletes any Backoffice Account settings that you may have changed. Your
        Backoffice settings will be returned to their default values.
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
  /api/account/admin/accountSettings/packageSettings:
    get:
      tags:
        - Account Package Settings
      operationId: api.account.admin.accountSettings.packageSettings.get
      summary: Retrieves a list of all your current Backoffice Package settings.
      description: Retrieves your Backoffice Package settings.
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountPackageSettings'
        '400':
          $ref: '#/components/responses/ResourceNotFound'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
    patch:
      tags:
        - Account Package Settings
      operationId: api.account.accountSettings.packageSettings.put
      summary: Update your Backoffice Package settings with your new settings.
      description: >-
        Updates your Backoffice Package settings with any or all changes. This
        call can be used to implement either some of the settings that you wish
        to change, or to implement all of your changes.
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      requestBody:
        description: The sample Account Package Settings payload.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountPackageSettings'
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
    delete:
      tags:
        - Account Package Settings
      operationId: api.account.admin.accountSettings.packageSettings.delete
      summary: Deletes and resets any customized Backoffice Package settings.
      description: >-
        Deletes any Backoffice Package settings that you may have changed. Your
        Backoffice Package settings will be returned to their default values.
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
  /api/account/admin/accountSettings/featureSettings:
    get:
      tags:
        - Account Feature Settings
      operationId: api.account.admin.accountSettings.featureSettings.get
      summary: Retrieves a list of all your current Backoffice Feature settings.
      description: Retrieves your Backoffice Feature settings.
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountFeatureSettings'
        '400':
          $ref: '#/components/responses/ResourceNotFound'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
    patch:
      tags:
        - Account Feature Settings
      operationId: api.account.accountSettings.featureSettings.put
      summary: Update your Backoffice Feature settings with your new settings.
      description: >-
        Updates your Backoffice Feature settings with any or all changes. This
        call can be used to implement either some of the settings that you wish
        to change, or to implement all of your changes.
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      requestBody:
        description: The sample Account Feature Settings payload.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountFeatureSettings'
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
    delete:
      tags:
        - Account Feature Settings
      operationId: api.account.admin.accountSettings.featureSettings.delete
      summary: Deletes and resets any customized Backoffice Feature settings.
      description: >-
        Deletes any Backoffice Feature settings that you may have changed. Your
        Backoffice Feature settings will be returned to their default values.
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
  /api/account/admin/accountSettings/systemSettings:
    get:
      tags:
        - Account System Settings
      operationId: api.account.admin.accountSystemSettings.get
      summary: Retrieves your current system settings.
      description: Retrieves your system settings.
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountSystemSettings'
        '400':
          $ref: '#/components/responses/ResourceNotFound'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
    patch:
      tags:
        - Account System Settings
      operationId: api.account.accountSystemSettings.put
      summary: Update your system settings with new settings.
      description: >-
        Updates your account system settings with any or all changes. This call
        can be used to implement either some of the settings that you wish to
        change, or to implement all of your changes.
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      requestBody:
        description: The System Settings payload.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountSystemSettings'
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
    delete:
      tags:
        - Account System Settings
      operationId: api.account.admin.accountSystemSettings.delete
      summary: Deletes and resets any customized system settings.
      description: >-
        Deletes any system settings that you may have changed. Your system
        settings will be returned to their default values.
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
  /api/account/admin/accountSettings/designerSettings:
    get:
      tags:
        - Account Designer Settings
      operationId: api.account.admin.accountDesignerSettings.get
      summary: Retrieves your current Designer settings.
      description: >-
        Retrieves your current Designer settings. Retrieved values include any
        customizations you may have made, as well as any current default values.
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountDesignerSettings'
        '400':
          $ref: '#/components/responses/ResourceNotFound'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
    patch:
      tags:
        - Account Designer Settings
      operationId: api.account.accountDesignerSettings.put
      summary: Updates your Designer settings.
      description: >-
        Updates your account Designer settings. This call can be used to
        implement either some of the settings that you wish to change, or to
        implement all of your changes.
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      requestBody:
        description: The Designer Settings payload.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountDesignerSettings'
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
    delete:
      tags:
        - Account Designer Settings
      operationId: api.account.admin.accountDesignerSettings.delete
      summary: Deletes customized Designer settings.
      description: >-
        Deletes any Designer settings that you may have cconfigured. Your
        Designer settings will be returned to their default values.
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
  /api/account/admin/accountSettings/emailReminderSettings:
    get:
      tags:
        - Account Email Reminder Settings
      operationId: api.account.admin.accountEmailReminderSettings.get
      summary: Retrieves your current Email Reminder settings.
      description: >-
        Retrieves your current Email Reminder settings. This includes the amount
        of time to wait before sending the first email reminder
        (startInDaysDelay), the amount of time to wait before sending any
        subsequent reminders (intervalInDays), and the total number of reminders
        to be sent (repetitionsCount).
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountEmailReminderSettings'
        '400':
          $ref: '#/components/responses/ResourceNotFound'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
    patch:
      tags:
        - Account Email Reminder Settings
      operationId: api.account.accountEmailReminderSettings.put
      summary: Updates your account email reminder settings.
      description: >-
        Updates your email reminder settings. This includes the amount of time
        to wait before sending the first email reminder (startInDaysDelay), the
        amount of time to wait before sending any subsequent reminders
        (intervalInDays), and the total number of reminders to be sent
        (repetitionsCount).
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      requestBody:
        description: The Email Reminder Settings payload.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountEmailReminderSettings'
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
    delete:
      tags:
        - Account Email Reminder Settings
      operationId: api.account.admin.accountEmailReminderSettings.delete
      summary: Deletes any customized Account Email Reminder settings.
      description: >-
        Deletes any account email reminder settings that you may have configured
        and returns them to the default value of 0 (zero). When set to 0, no
        email reminders will be sent.
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
  /api/account/admin/accountSettings/attachmentsWhitelist:
    get:
      tags:
        - Account Attachments Whitelist
      operationId: api.account.admin.attachmentsWhitelist.get
      summary: Retrieves your current attachments whitelist.
      description: Retrieves your attachments whitelist.
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
                example:
                  - PDF
                  - TXT
                  - JPG
                  - DOC
        '400':
          $ref: '#/components/responses/ResourceNotFound'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
    put:
      tags:
        - Account Attachments Whitelist
      operationId: api.account.attachmentsWhitelist.put
      summary: Updates your attachments whitelist.
      description: Update your attachments whitelist.
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      requestBody:
        description: The Attachments Whitelist payload.
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                type: string
              example:
                - PDF
                - TXT
                - JPG
                - DOC
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
    delete:
      tags:
        - Account Attachments Whitelist
      operationId: api.account.admin.attachmentsWhitelist.delete
      summary: Deletes and resets attachments whitelist.
      description: >-
        Deletes attachments whitelist that you may have configured. Your
        attachments whitelist will be returned to their default values.
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
  /api/account/admin/accountSettings/attachmentsBlacklist:
    get:
      tags:
        - Account Attachments Blacklist
      operationId: api.account.admin.attachmentsBlacklist.get
      summary: Retrieves a list of blacklisted attachment types
      description: >-
        An attachment blacklist is a list of file types that a signer cannot
        uploaded to a transaction. For example, .doc files may be blacklisted,
        meaning that a signer cannot attach a .doc file to the transaction.
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
                example:
                  - EXE
                  - DLL
                  - MSI
                  - DMG
                  - SO
        '400':
          $ref: '#/components/responses/ResourceNotFound'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
  /api/account/admin/accountSettings/limitSupportedLanguages:
    get:
      tags:
        - Account Supported Languages
      operationId: api.account.admin.accountSettings.limitSupportedLanguages.get
      summary: >-
        Retrieves the list of supported languages that you can set for your
        signers.
      description: >-
        Retrieves a list of languages that you have defined as being available
        for use by your signers in any transaction that you send. This includes
        the default signing language set by you.
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountSupportedLanguages'
        '400':
          $ref: '#/components/responses/ResourceNotFound'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
    patch:
      tags:
        - Account Supported Languages
      operationId: api.account.admin.accountSettings.limitSupportedLanguages.put
      summary: Updates your supported signing languages.
      description: >-
        Defines or updates the default language to be used by your signers, and
        defines the list of supported signer languages that can be used instead
        of the default one.
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      requestBody:
        description: The Account Supported Languages Setting payload.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountSupportedLanguages'
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
    delete:
      tags:
        - Account Supported Languages
      operationId: api.account.admin.accountSettings.limitSupportedLanguages.delete
      summary: Deletes your personally configured supported signing language settings.
      description: >-
        Deletes any signing language settings that you may have configured for
        your account. This includes the list of languages that can be used when
        signing a transaction, and the default language to be used by your
        signers in any transaction that you send.
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
  /api/account/roles:
    get:
      tags:
        - Account Roles
      operationId: api.account.roles.get
      summary: Retrieves account role information for the current system account.
      description: >-
        Retrieves account role information, such as name and permissions, for
        the current system account. To use this call you must have Roles and
        Permissions enabled on your account. To enable Roles and Permissions
        contact your OneSpan Sales Representative.
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          $ref: '#/components/responses/ResultAccountRoles'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
    post:
      tags:
        - Account Roles
      operationId: api.account.roles.post
      summary: Creates a new account role for an account.
      description: >-
        Adds an account role to an account. To use this call you must have Roles
        and Permissions enabled on your account. To enable Roles and Permissions
        contact your OneSpan Sales Representative.
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      requestBody:
        description: The account role payload.
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountRoleWithoutId'
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/account/roles/{accountRoleId}':
    put:
      tags:
        - Account Roles
      operationId: api.account.roles._accountRoleId.put
      summary: Updates an existing account role.
      description: >-
        Updates an account role. For example, to change permission settings, or
        role name. To use this call you must have Roles and Permissions enabled
        on your account. To enable Roles and Permissions contact your OneSpan
        Sales Representative.
      parameters:
        - $ref: '#/components/parameters/accountRoleId'
      requestBody:
        description: The account role data to be updated.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountRoleWithoutId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          content:
            application/json; esl-api-version=11:
              schema:
                $ref: '#/components/schemas/AccountRole'
          description: OK
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
    get:
      tags:
        - Account Roles
      operationId: api.account.roles._accountRoleId.get
      summary: Retrieves an account role.
      description: >-
        Retrieves an account role by using the specified ID. To use this call
        you must have Roles and Permissions enabled on your account. To enable
        Roles and Permissions contact your OneSpan Sales Representative.
      parameters:
        - $ref: '#/components/parameters/accountRoleId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          content:
            application/json; esl-api-version=11:
              schema:
                $ref: '#/components/schemas/AccountRole'
          description: OK
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
    delete:
      tags:
        - Account Roles
      operationId: api.account.roles._accountRoleId.delete
      summary: Deletes an account role.
      description: >-
        Deletes an account role using the specified ID. To use this call you
        must have Roles and Permissions enabled on your account. To enable Roles
        and Permissions contact your OneSpan Sales Representative.
      parameters:
        - $ref: '#/components/parameters/accountRoleId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
        '304':
          $ref: '#/components/responses/NotModified'
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/account/roles/{accountRoleId}/users':
    get:
      tags:
        - Account Roles
      operationId: api.account.roles._accountRoleId.users.get
      summary: Retrieves the list of user IDs assigned to a given role.
      description: >-
        Retrieves the list of user IDs assigned to a given role. To use this
        call you must have Roles and Permissions enabled on your account. To
        enable Roles and Permissions contact your OneSpan Sales Representative.
      parameters:
        - $ref: '#/components/parameters/accountRoleId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
                example: >-
                  ["45a7e197f2d54b2797cc40787976e1b135353b920c58407d","b76c5c403dabb4e120a95ddfb385930a57c2586490784d98"]
          description: OK
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/account/senders/{senderId}/roles':
    get:
      tags:
        - Account Roles
      operationId: api.account.senders._senderId.roles.get
      summary: Retrieves the account roles assigned to the specified user.
      description: >-
        Retrieves the account roles assigned to the specified user. If the
        Subaccount feature is enabled, The API retrieves all user assigned
        subaccounts roles or specified subaccount roles if the accountUid is
        provided. To use this call you must have Roles and Permissions enabled
        on your account. To enable Roles and Permissions contact your OneSpan
        Sales Representative.
      parameters:
        - $ref: '#/components/parameters/senderId'
        - name: accountId
          in: query
          description: >-
            This parameter is used when subaccount feature enabled to get
            specified subaccount roles, if it's undefined, all user assigned
            subaccounts roles will be responsed.
          required: false
          schema:
            type: string
            example: ibwzXn69GF0J
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UserAccountRole'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
    post:
      tags:
        - Account Roles
      operationId: api.account.senders._senderId.roles.post
      summary: Assigns account roles to a user in specified account.
      description: >-
        Assigns account roles to a user. To use this call you must have Roles
        and Permissions enabled on your account. To enable Roles and Permissions
        contact your OneSpan Sales Representative.

        If your OSS Account has the Sub Accounts feature enabled, specify
        accountId in the post body, accountId is mandatory.
      parameters:
        - $ref: '#/components/parameters/senderId'
      requestBody:
        description: >-
          AccountId with Account Roles to be assigned to the user, AccountId and
          Role's id are mandatory.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserAccountRole'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UserAccountRole'
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
  /api/packages:
    get:
      tags:
        - Packages
      operationId: api.packages.get
      summary: Retrieves a list of packages.
      description: >-
        Retrieves a list of document packages in an account.

        By default, this call will return packages of the API caller.

        When specifying either the ownerUserId or ownerEmail query parameter,
        this call will return the transactions of the specified user.

        To retrieve other users' transactions, you must have the Roles and
        Permissions feature enabled on your account and the API caller must have
        the Manage users’ transactions, templates, layouts permission.

        To enable Roles and Permissions, contact your OneSpan Sales
        Representative.
      parameters:
        - name: query
          description: >-
            The folder to search for. If not set, it will search in all folders
            except trashed.
          in: query
          required: false
          schema:
            type: string
            enum:
              - drafts
              - inbox
              - trashed
        - name: type
          in: query
          description: 'If a template is needed, set to TEMPLATE'
          required: false
          schema:
            type: string
            enum:
              - TEMPLATE
        - $ref: '#/components/parameters/search'
        - name: searchtype
          in: query
          description: >-
            When empty, a wildcard search will be done in the package name and
            description for the search value, otherwise the allowable values
            will make more restrictive searches
          required: false
          schema:
            type: string
            enum:
              - exact
              - exactname
        - name: predefined
          description: 'Filter the search result, by package status'
          in: query
          required: false
          schema:
            type: string
            enum:
              - all
              - awaitingSignature
              - sent
              - completed
              - expiringSoon
        - name: visibility
          in: query
          description: >-
            The visibility used to search for the template. ONLY used for
            templates
          required: false
          schema:
            type: string
            enum:
              - ACCOUNT
              - SENDER
        - name: dateFilterType
          in: query
          description: >-
            dateFilterType: Determines which date to use for filtering the
            transactions.
          required: false
          schema:
            type: string
            enum:
              - created
              - updated
              - due
        - name: startDate
          in: query
          description: >-
            The definition of this parameter depends on the value selected in
            dateFilterType. <br><br> If dateFilterType is set to: <br><br>
            <i>created</i> &nbsp; : Then this parameter retrieves transactions
            created between this specified date and the date specified in
            endDate. <br> <i>updated</i> &nbsp;: Then this parameter retrieves
            transactions that were last updated between this specified date and
            the date specified in endDate.<br> <i>due</i>&nbsp; &nbsp; &nbsp; 
            &nbsp;  &nbsp;: Then this parameter retrieves transactions that must
            be completed between this specified date and the date specified in
            endDate. <br><br> Accepted date formats are ISO 8601. <br><br>
            Examples: 2018-12-12Z, 2018-01-01T12:30:00Z,
            2018-01-01T12:30:00+01:30
          required: false
          schema:
            type: string
        - name: endDate
          in: query
          description: >-
            The definition of this parameter depends on the value selected in
            dateFilterType. <br><br> If dateFilterType is set to:<br><br>
            <i>created</i> &nbsp; : Then this parameter retrieves transactions
            created between the date specified in startDate, and the date
            specified here.<br> <i>updated</i> &nbsp;: Then this parameter
            retrieves transactions updated between the date specified in
            startDate, and the date specified here.<br> <i>due</i>&nbsp; &nbsp;
            &nbsp;  &nbsp;  &nbsp;: Then this parameter retrieves transactions
            that must be completed within the date ranges specified in startDate
            and endDate.<br><br> Accepted date formats are ISO 8601. <br><br>
            Examples: 2018-12-12Z, 2018-01-01T12:30:00Z,
            2018-01-01T12:30:00+01:30
          required: false
          schema:
            type: string
        - name: lastUpdatedStartDate
          in: query
          description: >-
            This parameter is being deprecated. Use startDate instead and select
            the dateFilterType parameter to filter the range of transactions to
            be returned.
          deprecated: true
          required: false
          schema:
            type: string
        - name: lastUpdatedEndDate
          in: query
          description: >-
            This parameter is being deprecated. Use endDate instead and select
            the dateFilterType parameter to filter the range of transactions to
            be returned.
          deprecated: true
          required: false
          schema:
            type: string
        - $ref: '#/components/parameters/from'
        - $ref: '#/components/parameters/to'
        - name: sort
          in: query
          description: The field according to which the data will be sorted
          required: false
          schema:
            type: string
            enum:
              - created
              - completed
              - updated
              - due
              - name
              - status
        - $ref: '#/components/parameters/dir'
        - name: fields
          in: query
          description: >-
            Currently, "id" is the only available value. This means that only ID
            will be returned in each array node.
          schema:
            type: string
        - name: ownerUserId
          in: query
          description: The transaction owner's ID. Indicate the target user to search on.
          required: false
          schema:
            type: string
        - name: ownerEmail
          in: query
          description: >-
            The transaction owner's email address. Indicate the target user to
            search on.
          required: false
          schema:
            type: string
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          $ref: '#/components/responses/ResultPackages'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
    post:
      tags:
        - Packages
      operationId: api.packages.post
      description: >-
        Creates a new package or a template. To create a template, set TYPE to
        TEMPLATE. This endpoint supports creating a package with multiple
        documents encoded to Base64 using the application/json format. This is
        done by adding the "base64Content" property to a document.
      summary: Creates a package.
      requestBody:
        description: >-
          Package initial information. It doesn't need to be fully filled.  It
          should contains at least 'name' property
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Package'
          multipart/form-data:
            schema:
              type: object
              properties:
                payload:
                  allOf:
                    - $ref: '#/components/schemas/Package'
                  description: >-
                    To create this request the JSON payload must contain a
                    Package object. An example of a JSON Package object can be
                    found in 'the application/json’ content-type tab. <br />
                    Note that it is not currently possible to preview a
                    multipart/data-form, due to an existing Swagger issue. For
                    more information, see:
                    [https://github.com/swagger-api/swagger-ui/issues/5169](https://github.com/swagger-api/swagger-ui/issues/5169).
                file:
                  type: array
                  description: >-
                    Files to attach. Form-data allows to attach multiple files.
                    All attached files should be specified in Payload inside
                    Package object as 'documents' array.
                  items:
                    type: string
                    format: binary
              required:
                - payload
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          $ref: '#/components/responses/PackageId'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/packages/{packageId}':
    get:
      tags:
        - Packages
      operationId: api.packages._packageId.get
      summary: Retrieves a specified package.
      description: Retrieves information about a single document package.
      parameters:
        - $ref: '#/components/parameters/packageId'
        - $ref: '#/components/parameters/rawSignatureCapture'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json; esl-api-version=11:
              schema:
                $ref: '#/components/schemas/Package'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
    put:
      tags:
        - Packages
      operationId: api.packages._packageId.post
      summary: Updates a package.
      description: >-
        Updates the information pertaining to a specified package. This call
        updates the package itself. It does not update any existing model
        instances added to the package (roles, documents, etc.). To update those
        model instances you must use the appropriate model API call. For
        example, PUT /api/packages/{packageId}/roles/{roleId}.
      parameters:
        - $ref: '#/components/parameters/packageId'
      requestBody:
        description: >-
          Package initial information. It doesn't need to be fully filled. It
          should contain at least 'name' property
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Package'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
    delete:
      tags:
        - Packages
      operationId: api.packages._packageId.delete
      summary: Deletes a package.
      description: Deletes a specified package or template.
      parameters:
        - $ref: '#/components/parameters/packageId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/packages/{packageId}/audit':
    get:
      tags:
        - Packages
      operationId: api.packages._packageId.audit.get
      summary: Retrieves audit details about a package.
      description: >-
        Retrieves audit details about a package. The Audit Trail is embedded
        directly in the package, and can be viewed any time.
      parameters:
        - $ref: '#/components/parameters/packageId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExportedAuditTrail'
            application/xml:
              schema:
                $ref: '#/components/schemas/ExportedAuditTrail'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/packages/{packageId}/clone':
    post:
      tags:
        - Packages
      operationId: api.packages._packageId.clone.post
      summary: Creates a package or template from an existing template or package.
      description: >-
        Creates a package or template from an existing package or template. To
        create a template, the "type" in the request body has to be set to
        "TEMPLATE".
      parameters:
        - $ref: '#/components/parameters/packageId'
      requestBody:
        description: >-
          In case of template, a new name field must be provided. You can
          overwrite any of the cloned package or template fields, by adding it
          to the JSON body following the Package structure. The owner of the new
          package is by default the request user. The owner of the new package
          can be specified by adding a sender object to the JSON body.
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Package'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json; esl-api-version=11:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    description: The new transaction id.
                    example: Esdfasd0sdf08gdfg3njkfg0345dg=
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        '406':
          $ref: '#/components/responses/NotAcceptable'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/packages/{packageId}/download':
    get:
      tags:
        - Packages
      operationId: api.packages._packageId.download.get
      summary: >-
        Downloads the Evidence Summary and all the transaction's signed
        documents.
      description: >-
        Downloads a zipped file containing a package’s PDF documents and
        Evidence Summary. The files that are included in the zip file are
        defined by the 'documents' and 'evidenceSummary' parameters. If PDF
        documents are included in the zip file, the 'flatten' parameter
        determines whether or not any PDFs in the package are flattened.
      parameters:
        - $ref: '#/components/parameters/packageId'
        - $ref: '#/components/parameters/flatten'
        - name: documents
          in: query
          description: Download package documents.
          schema:
            type: boolean
            default: true
        - name: evidenceSummary
          in: query
          description: Download Evidence Summary.
          schema:
            type: boolean
            default: false
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/packages/{packageId}/evidence/summary':
    get:
      tags:
        - Packages
      operationId: api.packages._packageId.evidence.summary.get
      summary: Retrieves an evidence summary.
      description: Retrieves Evidence Summary information for a specified package.
      parameters:
        - $ref: '#/components/parameters/packageId'
        - $ref: '#/components/parameters/utf8'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/pdf; esl-api-version=11:
              schema:
                type: string
                format: binary
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/packages/{packageId}/fieldSummary':
    get:
      tags:
        - Packages
      operationId: api.packages._packageId.fieldSummary.get
      summary: Retrieves a list of fields in a package.
      description: >-
        Retrieves a list of form fields in a package. Fields are grouped by
        document and by signer. Only fields with values are returned.
      parameters:
        - $ref: '#/components/parameters/packageId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FieldSummary'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/packages/{packageId}/readiness':
    get:
      tags:
        - Packages
      operationId: api.packages._packageId.readiness.get
      summary: Retrieves information on the readiness of a specific package.
      description: 'Validates a specific package, to see if it is ready to be sent.'
      parameters:
        - $ref: '#/components/parameters/packageId'
        - name: stageName
          description: Stage name.
          in: query
          required: true
          schema:
            type: string
            enum:
              - PREPARE
              - SEND
        - name: checkSenderVisibility
          description: Check sender visibility
          in: query
          required: false
          schema:
            type: boolean
            default: false
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Readiness'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/packages/{packageId}/referencedConditions':
    get:
      tags:
        - Packages
      operationId: api.packages._packageId.referencedConditions.get
      summary: Retrieves a list of conditions for given package.
      description: >-
        Conditions determine if  senders can do the following within a single
        document&#58; (1) apply various conditions (e.g., required, optional,
        enabled, disabled) to signature and input fields; (2) configure
        conditional logic (i.e., specify that a condition applied to one field
        will impose certain conditions on other fields).
      parameters:
        - $ref: '#/components/parameters/packageId'
        - name: documentId
          description: The unique document id.
          in: query
          required: false
          schema:
            type: string
            example: 7fe707da80ed6347919b162eb05a63916028376dc991031f
        - name: fieldId
          in: query
          required: false
          schema:
            type: string
            example: zZCmIzF1U4U5
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReferencedConditions'
        '400':
          $ref: '#/components/responses/ResourceNotFound'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/packages/{packageId}/signers/{signerId}/approvals':
    get:
      tags:
        - Packages
      operationId: api.packages._packageId.signers._signerId.get
      summary: Retrieves all approvals for a signer in a package.
      description: 'Retrieves all approvals for a specified signer, in a specific package.'
      parameters:
        - name: packageId
          description: >-
            The unique package id.<br/>Note that when an unknown package id is
            provided, the API will return an empty list.
          in: path
          required: true
          schema:
            type: string
            example: asd0sdf08gdfg3njkfg0345dg=
        - name: signerId
          description: >-
            The unique signer id.<br/>Note that when an unknown signer id is
            provided, the API will return an empty list.
          in: path
          required: true
          schema:
            type: string
            example: lEuqLqc6ZzA6
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          $ref: '#/components/responses/ResultRoles'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/packages/{packageId}/signingStatus':
    get:
      tags:
        - Packages
      operationId: api.packages._packageId.signingStatus.get
      summary: Retrieves the signing status of a package.
      description: >-
        Retrieves the signing status of a package. Retrieved information can be
        filter by signer, or by document.
      parameters:
        - $ref: '#/components/parameters/packageId'
        - name: signer
          description: The unique signer id.
          in: query
          required: false
          schema:
            type: string
            example: d9f7a89a-4be4-4664-999e-e518ecb151fc
        - name: document
          description: The unique document id.
          in: query
          required: false
          schema:
            type: string
            example: 83bb52503092b368c6f227f790a8a7f566da8da3d6495cb5
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: The package status.
                    example: COMPLETED
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/packages/{templateId}/bulk_send':
    post:
      tags:
        - Templates
      operationId: api.packages._packageId.bulk_send.post
      summary: Creates multiple packages.
      description: 'Creates and sends multiple packages, using a pre-defined template.'
      parameters:
        - $ref: '#/components/parameters/templateId'
      requestBody:
        description: CVS file containing the bulk.
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                file:
                  description: The CSV file to upload.
                  type: string
                  format: binary
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            text/html:
              schema:
                type: string
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        '406':
          $ref: '#/components/responses/NotAcceptable'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/packages/{packageId}/roles':
    get:
      tags:
        - Roles
      operationId: api.packages._packageId.roles.get
      summary: Retrieves all roles for the package.
      description: Retrieves all roles for the package.
      parameters:
        - $ref: '#/components/parameters/packageId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          $ref: '#/components/responses/ResultRoles'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
    post:
      tags:
        - Roles
      operationId: api.packages._packageId.roles.post
      summary: Adds a new role.
      description: Adds a new role to an existing package.
      parameters:
        - $ref: '#/components/parameters/packageId'
      requestBody:
        description: >-
          The new role data. If the id field is not set, it will be generated by
          the system.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Role'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Role'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        default:
          $ref: '#/components/responses/UnexpectedError'
    put:
      tags:
        - Roles
      operationId: api.packages._packageId.roles.put
      summary: Reorders the roles in a package.
      description: Reorders the roles in a specified package.
      parameters:
        - $ref: '#/components/parameters/packageId'
      requestBody:
        description: The list of every Role ID and its position within the list.
        required: true
        content:
          application/json:
            schema:
              type: array
              example: |-
                [
                  {"id":"03be29b9-9628-4401-8135-140b29c474dd","index":0},
                  {"id":"d23a7961-6fd8-46e3-b305-5483a23774ac","index":1}
                ]
              items:
                $ref: '#/components/schemas/RoleReordering'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          $ref: '#/components/responses/ResultRoles'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/packages/{packageId}/roles/{roleId}':
    get:
      tags:
        - Roles
      operationId: api.packages._packageId.roles._roleId.get
      summary: Retrieves a single role.
      description: Retrieves a single role associated with a package.
      parameters:
        - $ref: '#/components/parameters/packageId'
        - $ref: '#/components/parameters/roleId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Role'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
    put:
      tags:
        - Roles
      operationId: api.packages._packageId.roles._roleId.put
      description: >-
        Updates a single Role by overriding its existing values with those in
        the JSON payload.
      summary: Updates the roles in a package.
      parameters:
        - $ref: '#/components/parameters/packageId'
        - $ref: '#/components/parameters/roleId'
      requestBody:
        description: >-
          Role information. It doesn't need to be fully filled. It should
          contain only the properties you want to change.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Role'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Role'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
    delete:
      tags:
        - Roles
      operationId: api.packages._packageId.roles._roleId.delete
      description: Deletes a specified role.
      summary: Deletes a role.
      parameters:
        - $ref: '#/components/parameters/packageId'
        - $ref: '#/components/parameters/roleId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/packages/{packageId}/roles/{roleId}/unlock':
    post:
      tags:
        - Roles
      operationId: api.packages._packageId.roles._roleId.unlock.post
      description: Unlocks a specified role.
      summary: Unlocks a role.
      parameters:
        - $ref: '#/components/parameters/packageId'
        - $ref: '#/components/parameters/roleId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Role'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/packages/{packageId}/groups':
    post:
      tags:
        - Roles
      operationId: api.packages._packageId.groups.post
      summary: Adds a new ad hoc group to a transaction
      description: Adds a new ad hoc group and its members to an existing transaction.
      parameters:
        - $ref: '#/components/parameters/packageId'
      requestBody:
        description: >-
          The new ad hoc group data. If the id field is not set, it will be
          generated by the system.
        required: true
        content:
          application/json:
            schema:
              type: array
              description: Ad hoc group and its members
              items:
                $ref: '#/components/schemas/Role'
              example:
                - signers:
                    - firstName: Example First Name 1
                      lastName: Example Last Name 1
                      email: member1@e-signlive.com
                      title: Example Title 1
                      company: Example company Name 1
                  id: member-role-id-1
                - signers:
                    - firstName: Example First Name 2
                      lastName: Example Last Name 2
                      email: member2@e-signlive.com
                      title: Example Title 2
                      company: Example company Name 2
                  id: member-role-id-2
                - signers:
                    - firstName: Example Group Name
                      signerType: AD_HOC_GROUP_SIGNER
                      group:
                        members:
                          - userId: member-role-id-1
                            memberType: AD_HOC_GROUP_MEMBER
                          - userId: member-role-id-2
                            memberType: SIGNER
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/packages/{packageId}/groups/{roleId}':
    put:
      tags:
        - Roles
      operationId: api.packages._packageId.groups._roleId.put
      description: >-
        Updates an existing ad hoc group, for a specified transaction, including
        any changes to the group's members.
      summary: Updates a transaction's existing ad hoc group.
      parameters:
        - $ref: '#/components/parameters/packageId'
        - $ref: '#/components/parameters/roleId'
      requestBody:
        description: >-
          Use to provide information about the ad hoc group and its members. You
          only need to include the properties you want to change; not all
          properties have to be added or updated.”
        required: true
        content:
          application/json:
            schema:
              type: array
              description: Ad hoc group and its members
              items:
                $ref: '#/components/schemas/Role'
              example:
                - signers:
                    - id: existing-signer-id-1
                      firstName: Example First Name 1
                      lastName: Example Last Name 1
                      email: member1@e-signlive.com
                      title: Example Title 1
                      company: Example company Name 1
                  id: member-role-id-1
                - signers:
                    - id: existing-signer-id-2
                      firstName: Example First Name 2
                      lastName: Example Last Name 2
                      email: member2@e-signlive.com
                      title: Example Title 2
                      company: Example company Name 2
                  id: member-role-id-2
                - signers:
                    - firstName: Example First Name 3
                      lastName: Example Last Name 3
                      email: member3@e-signlive.com
                      title: Example Title 3
                      company: Example company Name 3
                  id: member-role-id-3
                - id: ad-hoc-group-role-id
                  signers:
                    - firstName: Example New Group Name
                      signerType: AD_HOC_GROUP_SIGNER
                      group:
                        members:
                          - userId: member-role-id-1
                            memberType: AD_HOC_GROUP_MEMBER
                          - userId: member-role-id-2
                            memberType: SIGNER
                          - userId: member-role-id-3
                            memberType: AD_HOC_GROUP_MEMBER
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
    delete:
      tags:
        - Roles
      operationId: api.packages._packageId.groups._roleId.delete
      description: Deletes a specified ad hoc group.
      summary: Deletes a specified ad hoc group.
      parameters:
        - $ref: '#/components/parameters/packageId'
        - $ref: '#/components/parameters/roleId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/packages/{packageId}/documents':
    post:
      tags:
        - Documents
      operationId: api.packages._packageId.documents.post
      summary: Adds a new document to an existing package.
      description: >-
        Adds a new document to an existing package by using a document resource.
        This endpoint currently supports adding both external documents and
        Base64 encoded documents using the application/json format. To add a
        Base64 encoded document, add the "base64Content" property to a document.
      parameters:
        - $ref: '#/components/parameters/packageId'
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                file:
                  description: The file to upload.
                  type: string
                  format: binary
                payload:
                  description: >-
                    This is a JSON payload which must contain a "Document" model
                    object. The only required field is 'name'.
                  type: object
                  example: '{"name":"NDA Document"}'
              required:
                - file
                - payload
          application/json:
            schema:
              $ref: '#/components/schemas/Document'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            text/html; esl-api-version=11:
              schema:
                $ref: '#/components/schemas/Document'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
    put:
      tags:
        - Documents
      operationId: api.packages._packageId.documents.put
      summary: Reorders the documents in a package.
      description: Reorders the documents in a package.
      parameters:
        - $ref: '#/components/parameters/packageId'
      requestBody:
        description: The list of every Document ID and its position within the list.
        required: true
        content:
          application/json:
            schema:
              type: array
              example: "[\n\t{\"id\":\"default-consent\",\"index\":0},\n\t{\"id\":\"ae4899fd2f2cff1eca219508e2402abd2b0c79c4bde0a155\",\"index\":1},\n\t{\"id\":\"da7016d875cb609d1048d427391369e68bb55dcecedfa8ca\",\"index\":2}\n]"
              items:
                $ref: '#/components/schemas/DocumentReordering'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                example: {}
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
    delete:
      tags:
        - Documents
      operationId: api.packages._packageId.documents.delete
      description: >-
        Deletes multiple existing documents from a specified package. Documents
        are identified by the documentID.
      summary: Deletes multiple documents from a package.
      parameters:
        - $ref: '#/components/parameters/packageId'
      requestBody:
        description: The payload should contain a list of document ids.
        content:
          application/json:
            schema:
              type: array
              items:
                type: string
              example: >-
                ["01e3e197f2d54b2797cc40787976e1b135353b920c0b76c5","8407dc403dabb4e120a95ddfb385930a57c2586490781c26"]
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/packages/{packageId}/documents/zip':
    get:
      tags:
        - Documents
      operationId: api.packages._packageId.documents.zip.get
      summary: Retrieves zipped documents.
      description: >-
        Retrieves a zipped file that contains all documents that were added to
        the package.
      parameters:
        - $ref: '#/components/parameters/packageId'
        - $ref: '#/components/parameters/flatten'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/zip:
              schema:
                type: string
                format: binary
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/packages/{packageId}/documents/signConfirm':
    post:
      tags:
        - Documents
      operationId: api.packages._packageId.documents.signConfirm.post
      summary: Creates a signature confirmation.
      description: >-
        Confirms that the application can execute the signing process on the
        document.
      parameters:
        - $ref: '#/components/parameters/packageId'
      requestBody:
        description: >-
          The document object (it might include only the id) and the autograph
          string, if there are handwritten signatures.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SignedDocument'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/packages/{packageId}/documents/signed_documents':
    post:
      tags:
        - Documents
      operationId: api.packages._packageId.documents._documentId.signed_documents.post
      summary: Signs all documents in a package.
      description: Signs all documents in a specified package.
      parameters:
        - $ref: '#/components/parameters/packageId'
      requestBody:
        description: >-
          The documents should include only the ids, and the autograph string,
          if there are handwritten signatures.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SignedDocuments'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/packages/{packageId}/documents/visibility':
    get:
      tags:
        - Documents
      operationId: api.packages._packageId.documents.visibility.get
      summary: Retrieves Document Visibility information.
      description: >-
        Retrieves information about which recipients can view specific documents
        in a package during a Signing Ceremony.
      parameters:
        - $ref: '#/components/parameters/packageId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          $ref: '#/components/responses/ResultDocumentVisibility'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
    post:
      tags:
        - Documents
      operationId: api.packages._packageId.documents.visibility.post
      summary: Updates Document Visibility.
      description: >-
        Retrieves information about which recipients can view specific documents
        in a package during a Signing Ceremony.

        The response is a Document Visibility object that contains a list of
        configurations. Each configuration has&#58; (1) the Document ID of a
        specific document; (2) a list of Role IDs of the signers who can view
        the document.

        Note that&#58;

        Documents not in the Document Visibility object are visible to all
        recipients. The Package Owner can always see all documents in the
        package, regardless of its Document Visibility configuration.
      parameters:
        - $ref: '#/components/parameters/packageId'
      requestBody:
        description: The document visibility object.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DocumentVisibility'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/packages/{packageId}/documents/{documentId}':
    get:
      tags:
        - Documents
      operationId: api.packages._packageId.documents._documentId.get
      summary: Retrieves a specified document.
      description: >-
        Retrieves all information related to a given document, including ID,
        name, description, presentation index, any associated data elements,
        approvals and fields.
      parameters:
        - $ref: '#/components/parameters/packageId'
        - $ref: '#/components/parameters/documentId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json; esl-api-version=11:
              schema:
                $ref: '#/components/schemas/Document'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
    put:
      tags:
        - Documents
      operationId: api.packages._packageId.documents._documentId.put
      summary: Updates the specified document.
      description: Updates the specified document.
      parameters:
        - $ref: '#/components/parameters/packageId'
        - $ref: '#/components/parameters/documentId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Document'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json; esl-api-version=11:
              schema:
                $ref: '#/components/schemas/Document'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
    post:
      tags:
        - Documents
      operationId: api.packages._packageId.documents._documentId.post
      summary: Updates a single document.
      description: >-
        Updates a single, specified document. This endpoint accepts multi-part
        data, or the JSON structure of a document.
      parameters:
        - $ref: '#/components/parameters/packageId'
        - $ref: '#/components/parameters/documentId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Document'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json; esl-api-version=11:
              schema:
                $ref: '#/components/schemas/Document'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
    delete:
      tags:
        - Documents
      operationId: api.packages._packageId.documents._documentId.delete
      description: Deletes a document from a specified package.
      summary: Deletes a document from a package.
      parameters:
        - $ref: '#/components/parameters/packageId'
        - $ref: '#/components/parameters/documentId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/packages/{packageId}/documents/{documentId}/original':
    get:
      tags:
        - Documents
      operationId: api.packages._packageId.documents._documentId.original.get
      summary: Retrieves the original PDF document.
      description: Retrieves the original PDF document that was included in a package.
      parameters:
        - $ref: '#/components/parameters/packageId'
        - $ref: '#/components/parameters/documentId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/octet-stream; esl-api-version=11:
              schema:
                type: string
                format: binary
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/packages/{packageId}/documents/{documentId}/pdf':
    get:
      tags:
        - Documents
      operationId: api.packages._packageId.documents._documentId.pdf.get
      summary: Retrieves a specific document in PDF form.
      description: >-
        Retrieves a specific document. This function always returns the PDF
        version of the document, even if the document was originally submitted
        in a different format.
      parameters:
        - $ref: '#/components/parameters/packageId'
        - $ref: '#/components/parameters/documentId'
        - $ref: '#/components/parameters/flatten'
        - $ref: '#/components/parameters/utf8'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/octet-stream; esl-api-version=11:
              schema:
                type: string
                format: binary
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/packages/{packageId}/documents/{documentId}/layout':
    post:
      tags:
        - Documents
      operationId: api.packages._packageId.documents._documentId.layout.post
      summary: Applies a layout to a document.
      description: >-
        Applies a specific layout to a specified document. At least one
        parameter needs to be applied, either layoutID, or layoutName.
      parameters:
        - $ref: '#/components/parameters/packageId'
        - $ref: '#/components/parameters/documentId'
        - $ref: '#/components/parameters/layoutId'
        - $ref: '#/components/parameters/layoutName'
        - in: query
          name: removeOutOfBound
          schema:
            type: boolean
            default: false
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/packages/{packageId}/documents/{documentId}/fields':
    put:
      tags:
        - Documents
      operationId: api.packages._packageId.documents._documentId.fields.put
      summary: >-
        Replaces approvals and imprint fields with those provided in the
        request.
      description: >-
        Replaces approvals and imprint fields with those provided in the
        request. If an array is not provided then nothing will be updated. If an
        empty array is provided then all fields will be deleted. Only the
        editable imprint fields will be replaced.
      parameters:
        - $ref: '#/components/parameters/packageId'
        - $ref: '#/components/parameters/documentId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      requestBody:
        description: Arrays of approvals and imprint fields
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DocumentFields'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DocumentFields'
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/packages/{packageId}/reminders':
    get:
      tags:
        - Reminders
      operationId: api.packages._packageId.reminders.get
      summary: Retrieves the Reminder Schedule of a package.
      description: >-
        Retrieve the Reminder Schedule of a package. A Reminder Schedule for the
        package must already exist.
      parameters:
        - $ref: '#/components/parameters/packageId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PackageReminderSchedule'
        '204':
          description: OK. Empty Reminder Schedule.
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
    post:
      tags:
        - Reminders
      operationId: api.packages._packageId.reminders.post
      summary: Creates a Reminder Schedule for a package.
      description: >-
        The user can only create a reminder schedule on packages that are not
        yet sent. All reminders are created automatically by the system when a
        package is sent.
      parameters:
        - $ref: '#/components/parameters/packageId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PackageReminderSchedule'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PackageReminderSchedule'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
    put:
      tags:
        - Reminders
      operationId: api.packages._packageId.reminders.put
      summary: Updates the Reminder Schedule of a package.
      description: >-
        Updates the Reminder Schedule of a specified package. This resource is
        not available for packages whose status is SENT.
      parameters:
        - $ref: '#/components/parameters/packageId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PackageReminderSchedule'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PackageReminderSchedule'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
    delete:
      tags:
        - Reminders
      operationId: api.packages._packageId.reminders.delete
      description: Deletes the Reminder Schedule of the specified package.
      summary: Deletes the Reminder Schedule of a package.
      parameters:
        - $ref: '#/components/parameters/packageId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '204':
          description: OK. Empty Reminder Schedule.
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
  /api/reports/usage:
    get:
      tags:
        - Reports
      operationId: api.reports.usage.get
      summary: Retrieves a Usage Report on the current sender.
      description: >-
        Retrieves a Usage Report for the sender that is currently logged-in to
        the account.
      parameters:
        - name: from
          description: The date from which to produce the report.
          in: query
          required: false
          schema:
            type: string
            format: date-time
        - name: to
          description: The date up to which to produce the report.
          in: query
          required: false
          schema:
            type: string
            format: date-time
        - name: Accept
          in: header
          required: true
          schema:
            type: string
            enum:
              - text/csv
              - application/json
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsageReport'
            text/csv:
              schema:
                type: string
                example: >-
                  "89ArAVjboS4S","account2@e-signlivetest.com","ESL","QA","483","160","299","500","9","9","40","500"
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
  /api/reports/completion:
    get:
      tags:
        - Reports
      operationId: api.reports.completion.get
      summary: Retrieves a Completion Report on a sender.
      description: Retrieves a Completion Report for a specified sender.
      parameters:
        - name: from
          description: The date from which to produce the report.
          in: query
          required: false
          schema:
            type: string
            format: date-time
        - name: to
          description: The date up to which to produce the report.
          in: query
          required: false
          schema:
            type: string
            format: date-time
        - name: senderId
          description: The sender for which to produce the report.
          in: query
          required: false
          schema:
            type: string
        - name: status
          description: Status of the package on which you want to search.
          in: query
          required: false
          schema:
            type: string
            enum:
              - DRAFT
              - SENT
              - COMPLETED
              - ARCHIVED
              - DECLINED
              - OPTED_OUT
              - TRASHED
              - EXPIRED
        - name: summary
          description: 'Get summarized report: omit signers and document information.'
          in: query
          required: false
          schema:
            type: boolean
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompletionReport'
            text/csv:
              schema:
                type: string
                example: >-
                  "89ArAVjboS4S","account2@e-signlivetest.com","ESL","QA","483","160","299","500","9","9","40","500"
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
  /api/reports/sender-transaction-summary:
    get:
      tags:
        - Reports
      operationId: api.reports.sender-transaction-summary.get
      summary: Retrieves a paginated Usage Report for the current account’s senders.
      description: >-
        Retrieves a paginated Usage Report for the sender who is currently
        logged in to the account.
      parameters:
        - name: startDate
          description: The date from which to produce the report.
          in: query
          required: false
          schema:
            type: string
            format: date-time
        - name: endDate
          description: The date up to which to produce the report.
          in: query
          required: false
          schema:
            type: string
            format: date-time
        - $ref: '#/components/parameters/from'
        - $ref: '#/components/parameters/to'
        - name: senderId
          description: The unique sender id.
          in: query
          required: false
          schema:
            type: string
            example: lEuqLqc6ZzA5
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsageReport'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
  /api/reports/transaction-summary:
    get:
      tags:
        - Reports
      operationId: api.reports.transaction-summary.get
      summary: Retrieves a paginated Usage Report for the current account’s senders.
      description: Retrieves paginated transactions.
      parameters:
        - name: startDate
          description: The date from which to produce the report.
          in: query
          required: false
          schema:
            type: string
            format: date-time
        - name: endDate
          description: The date up to which to produce the report.
          in: query
          required: false
          schema:
            type: string
            format: date-time
        - name: senderId
          description: The unique sender id.
          in: query
          required: false
          schema:
            type: string
            example: lEuqLqc6ZzA6
        - name: status
          description: The transaction status.
          in: query
          required: false
          schema:
            type: string
            enum:
              - DRAFT
              - SENT
              - COMPLETED
              - EXPIRED
              - ARCHIVED
              - DECLINED
              - OPTED_OUT
              - TRASHED
        - $ref: '#/components/parameters/from'
        - $ref: '#/components/parameters/to'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionSummaryReport'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/reports/transaction-detail/{transactionId}':
    get:
      tags:
        - Reports
      operationId: api.reports.transaction-detail._transactionId.get
      summary: Retrieves a Transaction Details report for a specified transactionId.
      description: Retrieves a Transaction Details report for a specified transactionId.
      parameters:
        - $ref: '#/components/parameters/transactionId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PackageCompletionReport'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
  /api/reports/delegation:
    get:
      tags:
        - Reports
      operationId: api.reports.delegation.get
      summary: Retrieves a delegation report for a sender.
      description: Retrieves a delegation report for a specified sender.
      parameters:
        - name: from
          description: The date from which to produce the report.
          in: query
          required: false
          schema:
            type: string
            format: date-time
        - name: to
          description: The date up to which to produce the report.
          in: query
          required: false
          schema:
            type: string
            format: date-time
        - name: senderId
          description: The sender for which to produce the report.
          in: query
          required: false
          schema:
            type: string
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DelegationReport'
            text/csv:
              schema:
                type: string
                example: >-
                  "89ArAVjboS4S","account2@e-signlivetest.com","ESL","QA","483","160","299","500","9","9","40","500"
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/packages/{packageId}/documents/{documentId}/approvals/':
    post:
      tags:
        - Approvals
      operationId: api.packages._packageId.documents._documentId.approvals.post
      summary: Creates a new approval.
      description: >-
        Creates a new approval for a package or document. Note that text anchor
        extraction cannot be used in this API call.
      parameters:
        - $ref: '#/components/parameters/packageId'
        - $ref: '#/components/parameters/documentId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Approval'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json; esl-api-version=11:
              schema:
                $ref: '#/components/schemas/Approval'
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
    put:
      tags:
        - Approvals
      operationId: api.packages._packageId.documents._documentId.approvals.put
      summary: Updates an existing approval.
      description: >-
        Updates the approval requests that already exist on a package, or a
        document.
      parameters:
        - $ref: '#/components/parameters/packageId'
        - $ref: '#/components/parameters/documentId'
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Approval'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json; esl-api-version=11:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Approval'
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/packages/{packageId}/documents/{documentId}/approvals/{approvalId}':
    get:
      tags:
        - Approvals
      operationId: api.packages._packageId.documents._documentId.approvals._approvalId.get
      summary: Retrieves an existing approval.
      description: 'Retrieves an approval that already exists for a package, or document.'
      parameters:
        - $ref: '#/components/parameters/packageId'
        - $ref: '#/components/parameters/documentId'
        - $ref: '#/components/parameters/approvalId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Approval'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
    put:
      tags:
        - Approvals
      operationId: api.packages._packageId.documents._documentId.approvals._apporvalId.put
      summary: Updates an existing approval.
      description: >-
        Updates a specific approval that has already been created for a package
        or document.
      parameters:
        - $ref: '#/components/parameters/packageId'
        - $ref: '#/components/parameters/documentId'
        - $ref: '#/components/parameters/approvalId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Approval'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json; esl-api-version=11:
              schema:
                $ref: '#/components/schemas/Approval'
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
    delete:
      tags:
        - Approvals
      operationId: >-
        api.packages._packageId.documents._documentId.approvals._apporvalId.delete
      summary: Deletes an existing approval.
      description: >-
        Deletes a specific approval that already exists for a package or
        document.
      parameters:
        - $ref: '#/components/parameters/packageId'
        - $ref: '#/components/parameters/documentId'
        - $ref: '#/components/parameters/approvalId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/packages/{packageId}/documents/{documentId}/approvals/{approvalId}/fields':
    post:
      tags:
        - Approvals
      operationId: >-
        api.packages._packageId.documents._documentId.approvals._apporvalId.fields.post
      summary: >-
        Creates a new field with an autogenerated name related to an existing
        approval.
      description: >-
        Creates a new field for an existing approval. The new field is created
        with an autogenerated name.
      parameters:
        - $ref: '#/components/parameters/packageId'
        - $ref: '#/components/parameters/documentId'
        - $ref: '#/components/parameters/approvalId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Field'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json; esl-api-version=11:
              schema:
                $ref: '#/components/schemas/Field'
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/packages/{packageId}/documents/{documentId}/approvals/{approvalId}/fields/{fieldId}':
    get:
      tags:
        - Approvals
      operationId: >-
        api.packages._packageId.documents._documentId.approvals._apporvalId.fields._fieldId.get
      summary: Retrieves an existing field related to an existing approval.
      description: Retrieves a field that exists on an already created approval.
      parameters:
        - $ref: '#/components/parameters/packageId'
        - $ref: '#/components/parameters/documentId'
        - $ref: '#/components/parameters/approvalId'
        - $ref: '#/components/parameters/fieldId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json; esl-api-version=11:
              schema:
                $ref: '#/components/schemas/Field'
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
    put:
      tags:
        - Approvals
      operationId: >-
        api.packages._packageId.documents._documentId.approvals._apporvalId.fields._fieldId.put
      summary: Updates an existing field related to an existing approval.
      description: >-
        Updates an existing field related to an existing approval. Note that the
        JSON Field ID will be ignored and replaced by the one from the query
        parameter.
      parameters:
        - $ref: '#/components/parameters/packageId'
        - $ref: '#/components/parameters/documentId'
        - $ref: '#/components/parameters/approvalId'
        - $ref: '#/components/parameters/fieldId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Field'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json; esl-api-version=11:
              schema:
                $ref: '#/components/schemas/Field'
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
    post:
      tags:
        - Approvals
      operationId: >-
        api.packages._packageId.documents._documentId.approvals._apporvalId.fields._fieldId.post
      summary: Creates a new field related to an existing approval.
      description: Creates a new field that can then be added to an existing approval.
      parameters:
        - $ref: '#/components/parameters/packageId'
        - $ref: '#/components/parameters/documentId'
        - $ref: '#/components/parameters/approvalId'
        - $ref: '#/components/parameters/fieldId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Field'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
    delete:
      tags:
        - Approvals
      operationId: >-
        api.packages._packageId.documents._documentId.approvals._apporvalId.fields._fieldId.delete
      summary: Deletes an existing field related to an existing approval.
      description: >-
        Deletes an existing field that has already been added to an existing
        approval.
      parameters:
        - $ref: '#/components/parameters/packageId'
        - $ref: '#/components/parameters/documentId'
        - $ref: '#/components/parameters/approvalId'
        - $ref: '#/components/parameters/fieldId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/packages/{packageId}/documents/{documentId}/signers/{signerId}/approvals':
    get:
      tags:
        - Approvals
      operationId: >-
        api.packages._packageId.documents._documentId.signers._signerId.approvals.get
      summary: Retrieves all signable approvals.
      description: Retrieves all aprovals that are eligible for signing.
      parameters:
        - $ref: '#/components/parameters/packageId'
        - $ref: '#/components/parameters/documentId'
        - $ref: '#/components/parameters/signerId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Approval'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/packages/{packageId}/documents/{documentId}/approvals/{approvalId}/fields/{fieldId}/conditionalFields':
    put:
      tags:
        - Approvals
      operationId: >-
        api.packages._packageId.documents._documentId.approvals._apporvalId.fields._fieldId.conditionalFields.put
      summary: Updates the conditions for a given field
      description: >-
        Updates the conditions for a given field. In addition to the array of
        conditions, the payload should contain all Field properties. The value
        of the field is replaced by this payload.
      parameters:
        - $ref: '#/components/parameters/packageId'
        - $ref: '#/components/parameters/documentId'
        - $ref: '#/components/parameters/approvalId'
        - $ref: '#/components/parameters/fieldId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConditionalFields'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json; esl-api-version=11:
              schema:
                $ref: '#/components/schemas/ConditionalFields'
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/packages/{packageId}/attachment/zip':
    get:
      tags:
        - File Attachments
      operationId: api.packages._packageId.attachment.zip.get
      summary: Downloads all attachments.
      description: 'Compresses all attachments into a zip file, which is then downloaded.'
      parameters:
        - $ref: '#/components/parameters/packageId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/zip:
              schema:
                type: string
                format: binary
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        '406':
          $ref: '#/components/responses/NotAcceptable'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/packages/{packageId}/attachment/zip/{roleId}':
    get:
      tags:
        - File Attachments
      operationId: api.packages._packageId.attachment.zip._roleId.get
      summary: Downloads all attachments for a specified Role.
      description: >-
        Compresses all attachments into a zip file, and then downloads it. Only
        attachments for the specified role are included.
      parameters:
        - $ref: '#/components/parameters/packageId'
        - $ref: '#/components/parameters/roleId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/zip:
              schema:
                type: string
                format: binary
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        '406':
          $ref: '#/components/responses/NotAcceptable'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/packages/{packageId}/attachment/{attachmentId}':
    get:
      tags:
        - File Attachments
      operationId: api.packages._packageId.attachment._attachmentId.get
      summary: Downloads an attachment.
      description: Downloads the specified attachment.
      parameters:
        - $ref: '#/components/parameters/packageId'
        - $ref: '#/components/parameters/attachmentId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/octet-stream; esl-api-version=11:
              schema:
                type: string
                format: binary
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        '406':
          $ref: '#/components/responses/NotAcceptable'
        default:
          $ref: '#/components/responses/UnexpectedError'
    post:
      tags:
        - File Attachments
      operationId: api.packages._packageId.attachment._attachmentId.post
      summary: Adds an attachment.
      description: Uploads an attachment to the specified package.
      parameters:
        - $ref: '#/components/parameters/packageId'
        - $ref: '#/components/parameters/attachmentId'
      requestBody:
        description: An attachment data.
        required: false
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                file:
                  description: The file to upload.
                  type: string
                  format: binary
                fileName:
                  description: The name of the attachment.
                  type: string
                attachmentUid:
                  description: Optional id.
                  type: string
              required:
                - file
                - payload
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            text/html:
              schema:
                type: string
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        '406':
          $ref: '#/components/responses/NotAcceptable'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/packages/{packageId}/attachment/{attachmentId}/file/{fileId}':
    delete:
      tags:
        - File Attachments
      operationId: api.packages._packageId.attachment._attachmentId.file._fileId.delete
      summary: Deletes attachment file
      description: Deletes specific attachment file
      parameters:
        - $ref: '#/components/parameters/packageId'
        - $ref: '#/components/parameters/attachmentId'
        - $ref: '#/components/parameters/fileId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        default:
          $ref: '#/components/responses/UnexpectedError'
    get:
      tags:
        - File Attachments
      operationId: api.packages._packageId.attachment._attachmentId.file._fileId.get
      summary: Downloads an attachment.
      description: Downloads a specified attachment from a package.
      parameters:
        - $ref: '#/components/parameters/packageId'
        - $ref: '#/components/parameters/attachmentId'
        - $ref: '#/components/parameters/fileId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/octet-stream; esl-api-version=11:
              schema:
                type: string
                format: binary
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/packages/{packageId}/attachment/{attachmentId}/exists':
    get:
      tags:
        - File Attachments
      operationId: api.packages._packageId.attachment._attachmentId.exists.get
      summary: Checks for Signer uploads.
      description: >-
        Verifies whether or not the specified attachment contains any uploads
        from the Signer.
      parameters:
        - $ref: '#/components/parameters/packageId'
        - $ref: '#/components/parameters/attachmentId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentAvailability'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/packages/{packageId}/attachment/{attachmentId}/file/{fileId}/exists':
    get:
      tags:
        - File Attachments
      operationId: api.packages._packageId.attachment._attachmentId.file._fileId.exists.get
      summary: Checks for a specific attachment.
      description: Checks whether or not the specified attachment exists in the package.
      parameters:
        - $ref: '#/components/parameters/packageId'
        - $ref: '#/components/parameters/attachmentId'
        - $ref: '#/components/parameters/fileId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentAvailability'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/packages/{packageId}/attachment/zip/{roleId}/exists':
    get:
      tags:
        - File Attachments
      operationId: api.packages._packageId.attachment.zip._roleId.exists.get
      summary: Checks for attachments and uploads by a specified Role
      description: >-
        Verifies whether or not there are any attachments for the specified
        role, and whether or not those attachments contain uploads from a
        Signer.
      parameters:
        - $ref: '#/components/parameters/packageId'
        - $ref: '#/components/parameters/roleId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentAvailability'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
  /api/authenticationTokens/user:
    post:
      tags:
        - Authentication Tokens
      operationId: api.authenticationTokens.user.post
      summary: Creates a new authentication token.
      description: >-
        Creates a token that can be used to obtain a valid session for a
        particular user of the system. This token is single-use, and expires
        after 30 minutes (though this is configurable). This token allows you to
        login through a get to the
        /auth?senderAuthenticationToken=VALUE&target=http://environment/destination.
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  value:
                    type: string
                    example: ZDk5ZjllYTYtMDUzYy00MzE4LTk4OGUtMWQ3ZjE3NmFjNzhk
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
  /api/authenticationTokens/sender:
    post:
      tags:
        - Authentication Tokens
      operationId: api.authenticationTokens.seender.post
      summary: Creates a new sender authentication token.
      description: >-
        Creates a token that can be used to obtain a valid session for the owner
        of an existing package, so they can edit the package using the Designer
        view, and then distribute it for signing. The destination must be a
        valid destination for a sender. It is single-use, and expires after 30
        minutes (though this is configurable). This token allows you to login
        through a get to the
        /auth?senderAuthenticationToken=VALUE&target=http://environment/destination.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SenderAuthenticationToken'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SenderAuthenticationToken'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
  /api/authenticationTokens/signer/multiUse:
    post:
      tags:
        - Authentication Tokens
      operationId: api.authenticationTokens.signer.multiUse.post
      summary: Creates a new multi-use signer authentication token.
      description: >-
        Creates a token that can be used to obtain a valid session for a
        particular signer of an existing package, so they can sign the package.
        This token is restricted to a single package, and expires after 30
        minutes (though this is configurable). However, it can be used multiple
        times. This token allows you to login through a get to the
        /auth?senderAuthenticationToken=VALUE&target=http://environment/destination.
        The destination must be a valid destination for a signer.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SignerAuthenticationToken'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SignerAuthenticationToken'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
  /api/authenticationTokens/signer/singleUse:
    post:
      tags:
        - Authentication Tokens
      operationId: api.authenticationTokens.signer.singleUse.post
      summary: Creates a new single use signer authentication token.
      description: >-
        Creates a token that can be used to obtain a valid session for a
        particular signer of an existing package, so they can sign the package.
        This token is restricted to a single package. It is single-use, and
        expires after 30 minutes (though this is configurable). This token
        allows you to login through a get to the
        /auth?senderAuthenticationToken=VALUE&target=http://environment/destination.
        The destination must be a valid destination for a signer.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SignerAuthenticationToken'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SignerAuthenticationToken'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
  /api/callback:
    get:
      tags:
        - Callback
      operationId: api.callback.get
      summary: Retrieves a list of all callbacks.
      description: >-
        Callback event notifications allow you to be automatically notified of
        events pertaining to a package. Upon a specific event, the system will
        automatically call a specified URL.
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Callback'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
    post:
      tags:
        - Callback
      operationId: api.callback.post
      summary: Creates a new callback.
      description: >-
        Callback event notifications allow you to be automatically notified of
        events pertaining to a package. Upon a specific event, the system will
        automatically call a specified URL.
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      requestBody:
        description: Group information.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Callback'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Callback'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/callback/connectors/{origin}':
    get:
      tags:
        - Callback
      operationId: api.callback.connectors._origin.get
      summary: Retrieves a list of callbacks for a specified connector.
      description: >-
        Retrieves a list of callbacks for a specified connector, such as a
        Sharepoint connector, or a Microsoft CRM connector.
      parameters:
        - $ref: '#/components/parameters/origin'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Callback'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
    post:
      tags:
        - Callback
      operationId: api.callback.connectors._origin.post
      summary: Creates a new callback for a specified connector.
      description: >-
        Creates a new callback for a specified connector, such as a Sharepoint
        connector, or a Microsoft CRM connector.
      parameters:
        - $ref: '#/components/parameters/origin'
      requestBody:
        description: Callback object.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Callback'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Callback'
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
  /api/dataRetentionSettings/dataManagementPolicy:
    get:
      tags:
        - Data Management
      operationId: api.dataManagementPolicy.get
      summary: Retrieves the data management policy for the account.
      description: Retrieves the data management policy for the account.
      security:
        - ApiKeyAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataManagementPolicy'
        '400':
          $ref: '#/components/responses/ResourceNotFound'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
    put:
      tags:
        - Data Management
      operationId: api.dataManagementPolicy.put
      summary: Updates data management policy for the account.
      description: Updates data management policy for the account.
      security:
        - ApiKeyAuth: []
      requestBody:
        description: The sample payload.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DataManagementPolicy'
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
  /api/dataRetentionSettings/expiryTimeConfiguration:
    get:
      tags:
        - Data Management
      operationId: api.expiryTimeConfiguration.get
      summary: Retrieves the expiry configurations defined for the account.
      description: Retrieves the expiry configurations defined for the account.
      security:
        - ApiKeyAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExpiryTimeConfiguration'
        '400':
          $ref: '#/components/responses/ResourceNotFound'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
    put:
      tags:
        - Data Management
      operationId: api.expiryTimeConfiguration.put
      summary: Updates the expiry configurations defined for the account.
      description: Updates the expiry configurations defined for the account.
      security:
        - ApiKeyAuth: []
      requestBody:
        description: The sample payload.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExpiryTimeConfiguration'
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
  /api/session:
    get:
      tags:
        - Sessions
      operationId: api.session.get
      summary: Retrieves the session object.
      description: Retrieves the session object.
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Session'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/packages/{packageId}/roles/{roleId}/signatureImage':
    get:
      tags:
        - Signature Image Extraction
      operationId: api.package._packageId.roles._roleId.signatureImage.get
      summary: Extracts a Signer’s Captured Signature from a Package.
      description: >-
        Extracts the image of a specific signer’s captured signature from a
        package.</br> An Account Manager can extract signature images from any
        package, and Package Owners can extract signature images from the
        packages they own.</br> The default image size is 350 x 100 pixels.
      parameters:
        - $ref: '#/components/parameters/packageId'
        - $ref: '#/components/parameters/roleId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            image/png:
              schema:
                type: string
                format: binary
            image/jpeg:
              schema:
                type: string
                format: binary
            image/gif:
              schema:
                type: string
                format: binary
            image/bmp:
              schema:
                type: string
                format: binary
            image/*:
              schema:
                type: string
                format: binary
            '*/*':
              schema:
                type: string
                format: binary
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/packages/{packageId}/roles/{roleId}/signingUrl':
    get:
      tags:
        - Signing URL
      operationId: api.package._packageId.roles._roleId.signingUrl.get
      summary: Retrieves the url that a signer can use to sign a package.
      description: >-
        Retrieves the url that a signer can use to sign a package. This can only
        be done to a package which is not modifiable (e.g., a sent package). It
        cannot be done to a package that is in a draft state.
      parameters:
        - $ref: '#/components/parameters/packageId'
        - $ref: '#/components/parameters/roleId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SigningUrl'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/packages/{packageId}/roles/{roleId}/verification':
    get:
      tags:
        - Roles Verification
      operationId: api.packages._packageId.roles._roleId.verification.get
      summary: Retrieves information on the type of verification being used.
      description: >-
        If an advanced form of verification is used, such as an external
        verification method, then this call retrieves information about that
        verification method, for the specified role.
      parameters:
        - $ref: '#/components/parameters/packageId'
        - $ref: '#/components/parameters/roleId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Verification'
        '204':
          description: OK. No verification is assigned to the role.
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
    put:
      tags:
        - Roles Verification
      operationId: api.packages._packageId.roles._roleId.verification.put
      summary: Updates an advanced verification method.
      description: >-
        Updates an existing advanced form of verification, such as an external
        verification method, for the specified role.
      parameters:
        - $ref: '#/components/parameters/packageId'
        - $ref: '#/components/parameters/roleId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Verification'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Verification'
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
    post:
      tags:
        - Roles Verification
      operationId: api.packages._packageId.roles._roleId.verification.post
      summary: Creates an advanced form of verification.
      description: >-
        Creates an advanced form of verification for a role, such as an external
        verification method role.
      parameters:
        - $ref: '#/components/parameters/packageId'
        - $ref: '#/components/parameters/roleId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Verification'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Verification'
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
    delete:
      tags:
        - Roles Verification
      operationId: api.packages._packageId.roles._roleId.verification.delete
      summary: 'Deletes an advanced verification method, for a specified role.'
      description: >-
        If an advanced form of verification is used, such as an external
        verification method, then this call deletes that verification method,
        for the specified role.
      parameters:
        - $ref: '#/components/parameters/packageId'
        - $ref: '#/components/parameters/roleId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/account/{accountId}/verificationTypes':
    get:
      tags:
        - Roles Verification
      operationId: api.account._accountId.verificationTypes.get
      summary: Retrieves advanced verification types.
      description: >-
        Retrieves a list of verification types that are available in the
        account.
      parameters:
        - $ref: '#/components/parameters/accountId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          $ref: '#/components/responses/ResultSenders'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/packages/{packageId}/notifications':
    post:
      tags:
        - Notifications
      operationId: api.packages._packageId.notifications.post
      summary: Resends a notification to a signer.
      description: Resends a notification to a signer.
      parameters:
        - $ref: '#/components/parameters/packageId'
      requestBody:
        description: The journal entry JSON.
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                email:
                  type: string
                  description: The signer email.
                  example: john.smith@acme.com
                message:
                  type: string
                  description: 'The message, that will be send to the signer.'
                  example: Please sign ASAP!
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/packages/{packageId}/roles/{roleId}/notifications':
    post:
      tags:
        - Notifications
      operationId: api.packages._packageId.roles._roleId.notifications.post
      description: Sends an email notification to the signers linked to a role.
      summary: Sends a notification to the signers linked to a role.
      parameters:
        - $ref: '#/components/parameters/packageId'
        - $ref: '#/components/parameters/roleId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/packages/{packageId}/roles/{roleId}/sms_notification':
    post:
      tags:
        - Notifications
      operationId: api.packages._packageId.roles._roleId.sms_notifications.post
      description: Sends an SMS notification to the signers linked to a role.
      summary: Sends an SMS notification to the signers linked to a role.
      parameters:
        - $ref: '#/components/parameters/packageId'
        - $ref: '#/components/parameters/roleId'
        - $ref: '#/components/parameters/inPerson'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/packages/{packageId}/documents/{documentId}/approvals/{approvalId}/mobile_notification':
    post:
      tags:
        - Notifications
      operationId: >-
        api.packages._packageId.documents._documentId.approvals._apporvalId.mobile_notification.post
      summary: Sends a mobile notification.
      description: >-
        Sends a notification to yourself. Included in the notification is a
        mobile-device signing link to an approval.
      parameters:
        - $ref: '#/components/parameters/packageId'
        - $ref: '#/components/parameters/documentId'
        - $ref: '#/components/parameters/approvalId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
  /api/sms/resend:
    post:
      tags:
        - Notifications
      operationId: api.sms.resend.post
      summary: Resends the SMS code to the signer.
      description: Resends the SMS authentication code to the signer.
      parameters:
        - name: loginToken
          in: query
          schema:
            type: string
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
  /api/inappreports/reports:
    get:
      tags:
        - InAppReports
      operationId: api.inappreports.reports.get
      summary: >-
        Retrieves reports for the specified fromDate,toDate and reportType for
        all accounts.
      description: >-
        Retrieves reports for the specified fromDate,toDate and reportType for
        all accounts.
      parameters:
        - $ref: '#/components/parameters/fromDate'
        - $ref: '#/components/parameters/toDate'
        - $ref: '#/components/parameters/reportType'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          $ref: '#/components/responses/ResultUrl'
        '400':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
    delete:
      tags:
        - InAppReports
      operationId: api.inappreports.reports.delete
      summary: Deletes the specified report files (csv).
      description: Deletes the specified report files (csv).
      parameters:
        - in: query
          name: fileName
          description: The csv file names.
          schema:
            type: array
            items:
              type: string
          required: true
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: Reports deleted.
        '400':
          description: 'Invalid parameters, missing account or file names.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultError'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
  /api/inappreports/reports/summaries:
    get:
      tags:
        - InAppReports
      operationId: api.inappreports.reports.summaries.get
      summary: >-
        Retrieves report summaries for the specified fromDate,toDate and
        reportType for all accounts.
      description: >-
        Retrieves report summaries for the specified fromDate,toDate and
        reportType for all accounts.
      parameters:
        - $ref: '#/components/parameters/fromDate'
        - $ref: '#/components/parameters/toDate'
        - $ref: '#/components/parameters/reportType'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          $ref: '#/components/responses/ResultReportSummary'
        '400':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/inappreports/reports/{fileName}':
    get:
      tags:
        - InAppReports
      operationId: api.inappreports.reports._fileName.get
      summary: Retrieves the specified report file (csv).
      description: Retrieves the specified report file (csv).
      parameters:
        - in: path
          name: fileName
          description: The csv file name to retrieve.
          schema:
            type: string
          required: true
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            text/csv;charset=UTF-8:
              schema:
                type: string
        '400':
          $ref: '#/components/responses/ResourceNotFound'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
    delete:
      tags:
        - InAppReports
      operationId: api.inappreports.reports._fileName.delete
      summary: Deletes the specified report file (csv).
      description: Deletes the specified report file (csv).
      parameters:
        - in: path
          name: fileName
          description: The csv file name to delete.
          schema:
            type: string
          required: true
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: Report deleted.
        '400':
          description: 'Invalid parameters, missing account or file name.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultError'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
  /api/inappreports/zip/reports:
    get:
      tags:
        - InAppReports
      operationId: api.inappreports.zip.reports.get
      summary: Retrieves the specified report files (csv) as a zip file.
      description: Retrieves the specified report files (csv) as a zip file.
      parameters:
        - in: query
          name: fileName
          description: The csv file names.
          schema:
            type: array
            items:
              type: string
          required: true
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/zip:
              schema:
                type: string
                format: binary
        '400':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/packages/{packageId}/virtual-room/config':
    get:
      tags:
        - Virtual Room
      operationId: api.packages._packageId.virtualRoom.config.get
      summary: Retrieves the configuration of a virtual room for specific package.
      description: >-
        Virtual rooms give you the ability to support your business using remote
        and online tools. Virtual rooms allow you to help your signers complete
        their transactions with the same level of support that they would get
        from a face to face interaction. This call allows you to retreive the
        configurations of a virtual room that has been created for a specific
        transaction.
      parameters:
        - $ref: '#/components/parameters/packageId'
        - $ref: '#/components/parameters/defaultVirtualRoomConfig'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VirtualRoom'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
    put:
      tags:
        - Virtual Room
      operationId: api.packages._packageId.virtualRoom.config.put
      summary: Update virtual room configuration.
      description: Update the configuration of virtual room for specific package.
      parameters:
        - $ref: '#/components/parameters/packageId'
      requestBody:
        description: Virtual Room configuration.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VirtualRoom'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/packages/{packageId}/virtual-room/config/masked-fields':
    get:
      tags:
        - Virtual Room
      operationId: api.packages._packageId.virtualRoom.config.maskedFields.get
      summary: Retrieves list of masked fields.
      description: >-
        In a Virtual Room transaction, returns a list of field id's that are
        masked. This means that these fields cannot be seen by other signers in
        the Virtual Room transaction. 


        Returns a list of fields in following format:
        {documentId}-{approvalId}-{fieldId}.
      parameters:
        - $ref: '#/components/parameters/packageId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
                example: >-
                  ["ffab89e286b8b4d75420e443e5e77dfca45264aee26c8fd6-tqHXxte27C4K-ZmJbkStS1wES","ffab89e286b8b4d75420e443e5e77dfca45264aee26c8fd6-tqHXxte27C4K-DctMQReqteUQ"]
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
    post:
      tags:
        - Virtual Room
      operationId: api.packages._packageId.virtualRoom.config.maskedFields.post
      summary: Defines the fields to be masked.
      description: >-
        In a Virtual Room transaction, defines the fields that will be masked
        from other signers in the transaction. This means that these fields
        cannot be seen by the other signers. 


        Takes a list of fields in following format:
        {documentId}-{approvalId}-{fieldId}.
      parameters:
        - $ref: '#/components/parameters/packageId'
      requestBody:
        description: >-
          List of field id's to be masked in a following format:
          {documentId}-{approvalId}-{fieldId}.
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                type: string
              example: >-
                ["ffab89e286b8b4d75420e443e5e77dfca45264aee26c8fd6-tqHXxte27C4K-ZmJbkStS1wES","ffab89e286b8b4d75420e443e5e77dfca45264aee26c8fd6-tqHXxte27C4K-DctMQReqteUQ"]
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/packages/{packageId}/virtual-room/config/masked-fields/{maskedFieldId}':
    put:
      tags:
        - Virtual Room
      operationId: api.packages._packageId.virtualRoom.config.maskedFields.put
      summary: Adds field to a list of masked fields in a transaction.
      description: Adds a field to a list of masked fields in a Virtual Room transaction.
      parameters:
        - $ref: '#/components/parameters/packageId'
        - $ref: '#/components/parameters/maskedFieldId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
    delete:
      tags:
        - Virtual Room
      operationId: api.packages._packageId.virtualRoom.config.maskedFields.delete
      summary: Deletes a masked field.
      description: >-
        In a Virtual Room transaction, deletes a specified field from a list of
        other masked fields.
      parameters:
        - $ref: '#/components/parameters/packageId'
        - $ref: '#/components/parameters/maskedFieldId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/virtual-room-video/{packageId}/recordings':
    get:
      tags:
        - Virtual Room
      operationId: virtual-room-video._packageId.recordings.get
      summary: >-
        Retrieves a list of available Virtual Room session recrodings for given
        package.
      description: >-
        Retrieves a list of available Virtual Room session recrodings for given
        package.
      parameters:
        - $ref: '#/components/parameters/packageId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Recording'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/virtual-room-video/{packageId}/download-recording/{recordingUid}':
    get:
      tags:
        - Virtual Room
      operationId: virtual-room-video._packageId.download-recording._recordingUid.get
      summary: Fetches video file.
      description: Fetches video file.
      parameters:
        - $ref: '#/components/parameters/packageId'
        - name: recordingUid
          in: path
          description: >-
            UID of a recording returned by
            [/virtual-room-video/{packageId}/recordings](#/Virtual%20Room/virtual-room-video._packageId.recordings.get)
          example: bf5e90a8-d284-4a82-9792-42b940019821
          required: true
          schema:
            type: string
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            video/mp4:
              schema:
                type: string
                format: binary
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
  /api/accountConfig/idvWorkflowConfigs:
    get:
      tags:
        - IDV Workflow Configuration
      operationId: api.accountConfig.idvWorkflowConfigs.get
      summary: Retrieves the IDV Authentication Workflow.
      description: >-
        Retrieves the IDV workflow configurations as JSON. The IDV workflow
        configuration is the Secure Agreement Automation workflow that
        integrates with OneSpan Sign. This must be set in the Back Office.
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IdvWorkflow'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
    post:
      tags:
        - IDV Workflow Configuration
      operationId: api.accountConfig.idvWorkflowConfigs.post
      summary: Creates a new IDV Authentication workflow configuration.
      description: >
        Creates a workflow configuration for IDV authentication. The following
        types of workflow configurations can be created: DV and DVF.

        The IDV workflow configuration is the Secure Agreement Automation
        workflow that integrates with OneSpan Sign. This must be set in the Back
        Office.
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      requestBody:
        description: The sample payload.
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/IdvWorkflow'
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
    put:
      tags:
        - IDV Workflow Configuration
      operationId: api.accountConfig.idvWorkflowConfigs.put
      summary: Updates the IDV workflow configuration.
      description: >-
        Updates the IDV workflow configuration. The IDV workflow configuration
        is the Secure Agreement Automation workflow that integrates with OneSpan
        Sign. This must be set in the Back Office.
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      requestBody:
        description: The sample payload.
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/IdvWorkflow'
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
    delete:
      tags:
        - IDV Workflow Configuration
      operationId: api.accountConfig.idvWorkflowConfigs.delete
      summary: Deletes the IDV workflow configuration.
      description: >-
        Deletes the IDV workflow configuration. The IDV workflow configuration
        is the Secure Agreement Automation workflow that integrates with OneSpan
        Sign. This must be set in the Back Office.
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: The resource was deleted successfully.
        '400':
          $ref: '#/components/responses/ResourceNotFound'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/packages/{packageId}/documents/{documentId}/imprint-fields':
    post:
      tags:
        - Imprint Fields
      operationId: api.packages._packageId.documents._documentId.imprint-fields.post
      summary: Creates new imprint field with an autogenerated id.
      description: Creates new imprint field with an autogenerated id.
      parameters:
        - $ref: '#/components/parameters/packageId'
        - $ref: '#/components/parameters/documentId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      requestBody:
        description: The sample payload.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ImprintField'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImprintField'
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
    delete:
      tags:
        - Imprint Fields
      operationId: api.packages._packageId.documents._documentId.imprint-fields.delete
      summary: Deletes all imprint fields assigned to the document.
      description: Deletes all imprint fields assigned to the document.
      parameters:
        - $ref: '#/components/parameters/packageId'
        - $ref: '#/components/parameters/documentId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
    put:
      tags:
        - Imprint Fields
      operationId: api.packages._packageId.documents._documentId.imprint-fields.put
      summary: Replaces all imprint fields with those provided in the request.
      description: >-
        Replaces all imprint fields with those provided in the request. If an
        empty array is provided then all fields will be deleted. Only the
        editable imprint fields will be replaced.
      parameters:
        - $ref: '#/components/parameters/packageId'
        - $ref: '#/components/parameters/documentId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      requestBody:
        description: An array of imprint fields
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/ImprintField'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImprintField'
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/packages/{packageId}/documents/{documentId}/imprint-fields/{fieldId}':
    get:
      tags:
        - Imprint Fields
      operationId: >-
        api.packages._packageId.documents._documentId.imprint-fields._fieldId.get
      summary: Retrieves existing imprint field.
      description: Retrieves existing imprint field.
      parameters:
        - $ref: '#/components/parameters/packageId'
        - $ref: '#/components/parameters/documentId'
        - $ref: '#/components/parameters/fieldId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImprintField'
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
    delete:
      tags:
        - Imprint Fields
      operationId: >-
        api.packages._packageId.documents._documentId.imprint-fields._fieldId.delete
      summary: Deletes existing imprint field.
      description: Deletes existing imprint field.
      parameters:
        - $ref: '#/components/parameters/packageId'
        - $ref: '#/components/parameters/documentId'
        - $ref: '#/components/parameters/fieldId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
    put:
      tags:
        - Imprint Fields
      operationId: >-
        api.packages._packageId.documents._documentId.imprint-fields._fieldId.put
      summary: Updates existing imprint field.
      description: >-
        Updates existing imprint field. Note that the JSON Field ID will be
        ignored and replaced by the one from the query parameter.
      parameters:
        - $ref: '#/components/parameters/packageId'
        - $ref: '#/components/parameters/documentId'
        - $ref: '#/components/parameters/fieldId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      requestBody:
        description: The sample payload.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ImprintField'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImprintField'
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/packages/{packageId}/documents/{documentId}/imprint-fields/{fieldId}/copies':
    post:
      tags:
        - Imprint Fields
      operationId: >-
        api.packages._packageId.documents._documentId.imprint-fields._fieldId.copies.post
      summary: Copies the imprint field to the other documents in the package.
      description: >-
        Copies the imprint field to the other documents in the package. When it
        is not possible to add a field due to the lack of a given page number,
        the field will be added on the last page of this document.
      parameters:
        - $ref: '#/components/parameters/packageId'
        - $ref: '#/components/parameters/documentId'
        - $ref: '#/components/parameters/fieldId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                description: Imprint Fields
                items:
                  $ref: '#/components/schemas/ImprintFieldCopyResult'
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
  /api/external-authentication-options:
    get:
      tags:
        - External Authentication
      operationId: api.external-authentication-options.get
      summary: >-
        Retrieves information on external authentication types and type
        categories for the current system account.
      description: >-
        Retrieves information on external authentication types and type
        categories for the current system account. To use this call you must
        have External Authentication enabled on your account and your
        externalAuthentication.settings resource must be configured with the
        required external authentication types. To enable External
        Authentication and configure the externalAuthentication.settings contact
        your OneSpan Sales Representative.
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExternalAuthenticationOptions'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/packages/{packageId}/audit/idv':
    get:
      tags:
        - IDV Evidence Summary
      operationId: api.packages._packageId.audit.idv.get
      summary: Retrieves IDV Evidence Summary in Json format.
      description: >-
        Retrieves IDV Evidence Summary in Json format when package id is
        provided.
      parameters:
        - $ref: '#/components/parameters/packageId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IdvEvsJson'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/packages/{packageId}/audit/idv/dvrImageUrls':
    get:
      tags:
        - IDV Evidence Summary
      operationId: api.packages._packageId.audit.idv.dvrImageUrls.get
      summary: Gets a list of image in Detailed Verification Report.
      description: >-
        Gets a list of image in Detailed Verification Report when package id is
        provided.
      parameters:
        - $ref: '#/components/parameters/packageId'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DvrImageUrls'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
  '/api/packages/{packageId}/audit/idv/dvrSignerImage':
    get:
      tags:
        - IDV Evidence Summary
      operationId: api.packages._packageId.audit.idv.dvrSignerImage.get
      summary: Downloads selected IDV image.
      description: >-
        Downloads selected IDV image in binary format when package id, idv
        transaction id and image urls are provided.
      parameters:
        - $ref: '#/components/parameters/packageId'
        - name: idvTransactionId
          in: query
          description: IDV transaction id
          schema:
            type: string
          required: true
          example: c2e57376-7391-4559-8da9-5d0ed4a24c56
        - name: imageUrl
          in: query
          schema:
            type: string
          required: true
          description: The sfs url for required image
          example: 'sfs://server/path_of_image'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            image/jpeg:
              schema:
                type: string
                format: binary
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/AccessDenied'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        default:
          $ref: '#/components/responses/UnexpectedError'
  /api/accountConfig/ifWorkflows:
    get:
      tags:
        - Integration Framework Workflow Configuration
      summary: Retrieves the Integration Framework workflow for Archiving Connectors.
      description: >-
        Retrieves a list of connectors (for example, IPAAS, SFTP) that are used
        for archiving documents to an external location. The list of connectors
        is returned in JSON format. To configure this contact our Support Team.
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IntegrationFrameworkWorkflows'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
  /api/logs/management:
    get:
      tags:
        - System Logs
      summary: Retrieves management logs report.
      description: >-
        Retrieves a report of management event logs for a specified day. The
        report includes events such as user locking/unlocking, user status or
        type changes, password changes, and user additions or deletions.
        Additionally, it covers group, role, and delegation events. The logs are
        generated as .csv files and are retained for 90 days. Users can fetch
        logs for up to 90 days.
      parameters:
        - $ref: '#/components/parameters/date'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            text/csv:
              schema:
                type: string
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
  /api/logs/access:
    get:
      tags:
        - System Logs
      summary: Retrieves access logs report.
      description: >-
        Retrieves a report of access event logs for a specified day. The report
        includes events such as user login, logout, login failures, and the
        start/end of user delegation within the sender UI. The logs are
        generated as .csv files and are retained for 90 days. Users can fetch
        logs for up to 90 days.
      parameters:
        - $ref: '#/components/parameters/date'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            text/csv:
              schema:
                type: string
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
  /api/logs/delegation:
    get:
      tags:
        - System Logs
      summary: Retrieves delegation logs report.
      description: >-
        Retrieves a report of delegation event logs for a specified day. The
        report includes information on the creation, updating, and deletion of
        delegations. Note that this report does not cover the delegation time
        period during which a delegate can sign transactions. The logs are
        generated as .csv files and are retained for 90 days. Users can fetch
        logs for up to 90 days.
      parameters:
        - $ref: '#/components/parameters/date'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            text/csv:
              schema:
                type: string
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
  /api/logs/systemUpdate:
    get:
      tags:
        - System Logs
      summary: Retrieves system update logs report.
      description: >-
        Retrieves a report of system update event logs for a specified day. The
        report includes information on account configuration updates and
        security settings updates, whether made in the backoffice or via
        self-serve options in the UI. The logs are generated as .csv files and
        are retained for 90 days. Users can fetch logs for up to 90 days.
      parameters:
        - $ref: '#/components/parameters/date'
      security:
        - ApiKeyAuth: []
        - ApiTokenAuth: []
      responses:
        '200':
          description: OK
          content:
            text/csv:
              schema:
                type: string
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        default:
          $ref: '#/components/responses/UnexpectedError'
components:
  schemas:
    Account:
      type: object
      required:
        - company
        - created
        - customFields
        - id
        - licenses
        - name
        - owner
        - timezoneId
        - updated
      properties:
        name:
          type: string
          description: The name of the account.
        created:
          type: string
          format: date-time
          description: The date and time that the account was created.
        owner:
          type: string
          description: The account owner's unique identification number.
          example: OhONEdotwte12
        id:
          type: string
          description: The account's unique identification number.
          example: AhONEdspank23
        data:
          type: object
          description: Data
          additionalProperties:
            type: object
        customFields:
          type: array
          description: CustomFields
          items:
            $ref: '#/components/schemas/CustomField'
        providers:
          $ref: '#/components/schemas/AccountProviders'
        timezoneId:
          type: string
          description: >-
            The default time zone Id of the time zone configured for a
            transaction in an account.   Visible time components, like the
            signature time stamp and date fields,  will format and display
            according to the specified time zone. 
          example: America/Toronto
          default: GMT
        licenses:
          type: array
          description: Licenses
          items:
            $ref: '#/components/schemas/License'
        company:
          $ref: '#/components/schemas/Company'
        updated:
          type: string
          format: date-time
          description: The date and time that the account was updated.
        logoUrl:
          type: string
          description: Defines the logo that will be used for the account.
        logoAltTextKey:
          type: string
          description: >-
            Defines the key that will be used to determine the text read by a
            screen reader for the logo in ADA mode (used in signing ceremony).
    AccountProviders:
      type: object
      required:
        - documents
        - users
      properties:
        documents:
          type: array
          description: Documents
          items:
            $ref: '#/components/schemas/Provider'
        users:
          type: array
          description: Users
          items:
            $ref: '#/components/schemas/Provider'
    AccountRole:
      type: object
      required:
        - id
      properties:
        id:
          type: string
          description: Automatically generated guid
        name:
          type: string
          description: Name
        permissions:
          type: array
          description: Permissions
          items:
            type: string
        description:
          type: string
          description: Descriptions
        enabled:
          type: boolean
          default: false
          description: Enabled
        inherited:
          type: boolean
          description: True when the role was created in a parent sub-account.
        predefined:
          type: boolean
          description: >-
            True when the role is defined by OneSpan and uneditable. False when
            the role is managed by your account and editable (Role Management
            permission required for editing a role).
    AccountRoleWithoutId:
      type: object
      required:
        - name
      properties:
        name:
          type: string
          description: Name
        permissions:
          type: array
          description: Permissions
          items:
            type: string
        description:
          type: string
          description: Descriptions
        enabled:
          type: boolean
          default: false
          description: Enabled
    AccountEmailReminderSettings:
      type: object
      properties:
        startInDaysDelay:
          type: integer
          description: >-
            Defines the number of days after an intial email invitation is sent
            before a reminder email is sent.
        intervalInDays:
          type: integer
          description: Defines the number of days between successive reminders.
        repetitionsCount:
          type: integer
          description: Defines the total number of reminders to be sent.
    Address:
      type: object
      properties:
        state:
          type: string
          description: State
        country:
          type: string
          description: Country
        city:
          type: string
          description: City
        address1:
          type: string
          description: Address1
        address2:
          type: string
          description: Address2
        zipcode:
          type: string
          description: Zipcode
    Approval:
      type: object
      required:
        - role
      properties:
        fields:
          type: array
          description: Fields
          items:
            $ref: '#/components/schemas/Field'
        name:
          type: string
          description: Name
        id:
          type: string
          description: Id
        data:
          type: object
          description: Data
          additionalProperties:
            type: object
        role:
          type: string
          description: Role
        optional:
          type: boolean
          description: Optional
        enforceCaptureSignature:
          type: boolean
          description: EnforceCaptureSignature
        fromFile:
          type: boolean
          description: FromFile
        accepted:
          type: string
          format: date-time
          description: Accepted
        signed:
          type: string
          format: date-time
          description: Signed
    AttachmentAvailability:
      type: object
      properties:
        exists:
          type: boolean
          description: Defines whether or not an attachment exists
    AttachmentRequirement:
      type: object
      required:
        - id
        - name
        - required
        - status
      properties:
        name:
          type: string
          description: Name
        description:
          type: string
          description: Description
        status:
          type: string
          description: Status
          enum:
            - INCOMPLETE
            - REJECTED
            - COMPLETE
        comment:
          type: string
          description: Comment
        id:
          type: string
          description: Id
        required:
          type: boolean
          description: Required
        data:
          type: object
          description: Data
          additionalProperties:
            type: object
    AuditEvent:
      type: object
      properties:
        target-type:
          type: string
          description: The target type.
          enum:
            - Document
            - Package
            - AuthMethod
            - Account
            - CHALLENGE
            - SMS
            - SSO
            - EMAIL_LINK
            - Knowledge Based Authentication
        date-time:
          type: string
          format: date-time
          description: The time the event happened.
        type:
          type: string
          description: The audit type.
          enum:
            - Accept
            - Click To Sign
            - Click To Initial
            - Capture Signature
            - Confirm
            - Download
            - Download Zip
            - Form Field
            - Login
            - View
            - Opt Out
            - Signing Session For Recipient
            - Decline
        target:
          type: string
          description: The audit target.
        user:
          type: string
          description: The signer full name.
          example: John Smith
        user-email:
          type: string
          description: The signer email.
          example: john.smith@myemail.com
        user-ip:
          type: string
          description: The signer ip.
          example: 10.85.37.250
        data:
          type: string
          description: The data signer enters.
    Auth:
      type: object
      required:
        - challenges
        - scheme
      properties:
        scheme:
          type: string
          description: Scheme
          enum:
            - NONE
            - PROVIDER
            - CHALLENGE
            - SMS
            - SSO
            - KBA
            - SAA
            - QASMS
        challenges:
          type: array
          description: Challenges
          items:
            $ref: '#/components/schemas/AuthChallenge'
        idvWorkflow:
          type: object
          description: Idv Workflow configuration
          items:
            $ref: '#/components/schemas/IdvWorkflow'
        qasms:
          type: array
          description: >-
            For ID verification that requires both a challenge question and an
            SMS code
          items:
            $ref: '#/components/schemas/AuthWithQaSms'
    AuthChallenge:
      type: object
      required:
        - maskInput
        - question
      properties:
        question:
          type: string
          description: Question
        answer:
          type: string
          description: Answer
        maskInput:
          type: boolean
          description: MaskInput
    AuthWithQaSms:
      type: object
      required:
        - maskInput
        - question
        - challengeType
      properties:
        question:
          type: string
          description: The question to be used for verification purposes.
        answer:
          type: string
          description: The answer that must be entered to confirm verification.
        maskInput:
          type: boolean
          description: >-
            To be used if the answer is to be hidden. Possible values are True
            or False.
        challengeType:
          type: string
          description: >-
            Challenge, for a question and answer verification, and SMS, for a
            text verification. To use both the array must contain at least one
            challenge object (question) and at least one SMS object.
    BaseMessage:
      type: object
      required:
        - content
      properties:
        content:
          type: string
          description: Content
    BrandingBarOptions:
      type: object
      properties:
        logo:
          $ref: '#/components/schemas/Image'
    Callback:
      type: object
      properties:
        events:
          type: array
          items:
            type: string
            enum:
              - DOCUMENT_SIGNED
              - EMAIL_BOUNCE
              - KBA_FAILURE
              - PACKAGE_ACTIVATE
              - PACKAGE_ARCHIVE
              - PACKAGE_ATTACHMENT
              - PACKAGE_COMPLETE
              - PACKAGE_CREATE
              - PACKAGE_DEACTIVATE
              - PACKAGE_DECLINE
              - PACKAGE_DELETE
              - PACKAGE_EXPIRE
              - PACKAGE_OPT_OUT
              - PACKAGE_READY_FOR_COMPLETE
              - PACKAGE_RESTORE
              - PACKAGE_TRASH
              - ROLE_REASSIGN
              - SIGNER_COMPLETE
              - SIGNER_LOCKED
              - TEMPLATE_CREATE
        url:
          type: string
          description: 'The url, you want to be called.'
          example: 'https://your-server.com/callback-path'
        key:
          type: string
          description: Unique callback key.
    CcExpiration:
      type: object
      required:
        - month
        - year
      properties:
        year:
          type: integer
          format: int32
          description: Year
        month:
          type: integer
          format: int32
          description: Month
    CeremonyEventComplete:
      type: object
      properties:
        dialog:
          type: boolean
          description: Dialog
        redirect:
          type: string
          description: Redirect
    CeremonyEvents:
      type: object
      properties:
        complete:
          $ref: '#/components/schemas/CeremonyEventComplete'
    CeremonySettings:
      type: object
      required:
        - ada
        - declineButton
        - declineReasons
        - disableDeclineOther
        - disableDownloadForUncompletedPackage
        - disableFirstInPersonAffidavit
        - disableInPersonAffidavit
        - disableOptOutOther
        - disableSecondInPersonAffidavit
        - enforceCaptureSignature
        - extractAcroFields
        - extractTextTags
        - hideCaptureText
        - hideLanguageDropdown
        - hidePackageOwnerInPerson
        - hideWatermark
        - inPerson
        - optOutButton
        - optOutReasons
      properties:
        layout:
          $ref: '#/components/schemas/LayoutOptions'
        events:
          $ref: '#/components/schemas/CeremonyEvents'
        handOver:
          $ref: '#/components/schemas/Link'
        enforceCaptureSignature:
          type: boolean
          description: EnforceCaptureSignature
        inPerson:
          type: boolean
          description: InPerson
        declineButton:
          type: boolean
          description: DeclineButton
        declineReasons:
          type: array
          description: DeclineReasons
          items:
            type: string
        disableDeclineOther:
          type: boolean
          description: DisableDeclineOther
        disableDownloadForUncompletedPackage:
          type: boolean
          description: DisableDownloadForUncompletedPackage
        disableFirstInPersonAffidavit:
          type: boolean
          description: DisableFirstInPersonAffidavit
        disableInPersonAffidavit:
          type: boolean
          description: DisableInPersonAffidavit
        disableOptOutOther:
          type: boolean
          description: DisableOptOutOther
        disableSecondInPersonAffidavit:
          type: boolean
          description: DisableSecondInPersonAffidavit
        documentToolbarOptions:
          $ref: '#/components/schemas/DocumentToolbarOptions'
        hideCaptureText:
          type: boolean
          description: HideCaptureText
        hideLanguageDropdown:
          type: boolean
          description: HideLanguageDropdown
        hidePackageOwnerInPerson:
          type: boolean
          description: HidePackageOwnerInPerson
        hideWatermark:
          type: boolean
          description: HideWatermark
        maxAuthFailsAllowed:
          type: integer
          format: int32
          description: MaxAuthFailsAllowed
        optOutButton:
          type: boolean
          description: OptOutButton
        optOutReasons:
          type: array
          description: OptOutReasons
          items:
            type: string
        extractAcroFields:
          type: boolean
          description: ExtractAcroFields
        extractTextTags:
          type: boolean
          description: ExtractTextTags
        ada:
          type: boolean
          description: Ada
        style:
          $ref: '#/components/schemas/LayoutStyle'
    Company:
      type: object
      required:
        - id
        - name
      properties:
        address:
          $ref: '#/components/schemas/Address'
        name:
          type: string
          description: Name
        id:
          type: string
          description: Id
        data:
          type: object
          description: Data
          additionalProperties:
            type: object
    CompletionReport:
      type: object
      properties:
        from:
          type: string
          format: date-time
        to:
          type: string
          format: date-time
        senders:
          description: The usage list
          type: array
          items:
            $ref: '#/components/schemas/Sender'
    Condition:
      type: object
      required:
        - action
        - condition
        - id
      properties:
        action:
          description: Action
          type: string
          example: >-
            document['49a221e06c609157e214d78605a9c8fbf84937a5087ee737'].field['fuwgAytPFeoM'].disabled
            = false
        condition:
          type: string
          description: Condition
          example: >-
            document['49a221e06c609157e214d78605a9c8fbf84937a5087ee737'].field['XOdevBtCxusH'].value
            == 'X'
        id:
          type: string
          description: unique condition ID
          example: 55fc2124-b52e-4166-b603-5412b35bd5ff
    ConditionalFields:
      allOf:
        - $ref: '#/components/schemas/Field'
        - type: object
          description: >-
            In addition to the array of conditions, this payload should contain
            the entire Field.
          required:
            - conditions
          properties:
            conditions:
              type: array
              items:
                $ref: '#/components/schemas/Condition'
    PackageCompletionReport:
      type: object
      properties:
        created:
          type: string
          format: date-time
        data:
          type: string
        documents:
          type: array
          description: Document Report
          items:
            $ref: '#/components/schemas/DocumentCompletionReport'
        id:
          type: string
        name:
          type: string
        signers:
          type: array
          description: Signers Report
          items:
            $ref: '#/components/schemas/SignerCompletionReport'
        status:
          type: string
          description: Status of the package
          enum:
            - DRAFT
            - SENT
            - COMPLETED
            - ARCHIVED
            - DECLINED
            - OPTED_OUT
            - EXPIRED
        trashed:
          type: string
          format: date-time
        updated:
          type: string
          format: date-time
    DocumentCompletionReport:
      type: object
      properties:
        completed:
          type: boolean
        firstSigned:
          type: string
          format: date-time
        id:
          type: string
        lastSigned:
          type: string
          format: date-time
        name:
          type: string
    SignerCompletionReport:
      type: object
      properties:
        completed:
          type: boolean
        email:
          type: string
        firstName:
          type: string
        firstSigned:
          type: string
          format: date-time
        id:
          type: string
        lastName:
          type: string
        lastSigned:
          type: string
          format: date-time
    Credentials:
      type: object
      required:
        - email
        - newPassword
        - password
      properties:
        email:
          type: string
          description: The user email.
        newPassword:
          type: string
          description: The user new password.
        password:
          type: string
          description: The user password.
    CreditCard:
      type: object
      required:
        - expiration
        - name
        - number
        - type
      properties:
        name:
          type: string
          description: Name
        type:
          type: string
          description: Type
        number:
          type: string
          description: Number
        expiration:
          $ref: '#/components/schemas/CcExpiration'
        cvv:
          type: string
          description: Cvv
    Currency:
      type: object
      required:
        - id
        - name
      properties:
        name:
          type: string
          description: Name
        id:
          type: string
          description: Id
        data:
          type: object
          description: Data
          additionalProperties:
            type: object
    CustomField:
      type: object
      required:
        - id
        - name
        - required
        - translations
      properties:
        value:
          type: string
          description: Value
        name:
          type: string
          description: Name
        id:
          type: string
          description: Id
        required:
          type: boolean
          description: Required
        data:
          type: object
          description: Data
          additionalProperties:
            type: object
        translations:
          type: array
          description: Translations
          items:
            $ref: '#/components/schemas/Translation'
    CycleCount:
      type: object
      required:
        - count
        - cycle
      properties:
        cycle:
          type: string
          description: Cycle
          enum:
            - DAY
            - MONTH
            - YEAR
        count:
          type: integer
          format: int32
          description: Count
    DataManagementPolicy:
      type: object
      description: Data management policy
      required:
        - transactionRetention
      properties:
        transactionRetention:
          $ref: '#/components/schemas/TransactionRetention'
    TransactionRetention:
      type: object
      description: Transaction retention settings
      required:
        - draft
        - sent
        - completed
        - archived
        - declined
        - optedOut
        - expired
      properties:
        draft:
          type: integer
          description: Number of days to keep drafts for
          example: 90
        sent:
          type: integer
          description: Number of days to keep sent transactions for
          example: 90
        completed:
          type: integer
          description: Number of days to keep completed transactions for
          example: 90
        archived:
          type: integer
          description: Number of days to keep archived transactions for
          example: 90
        declined:
          type: integer
          description: Number of days to keep declined transactions for
          example: 90
        optedOut:
          type: integer
          description: Number of days to keep opted-out transactions for
          example: 90
        expired:
          type: integer
          description: Number of days to keep expired transactions for
          example: 90
    DelegationUser:
      type: object
      required:
        - id
        - name
      properties:
        email:
          type: string
          description: Email
        firstName:
          type: string
          description: First name
        lastName:
          type: string
          description: Last name
        name:
          type: string
          description: Name
        id:
          type: string
          description: Id
        startDate:
          type: string
          description: Date when delegation starts
        expiryDate:
          type: string
          description: Date when delegation expires
        sendEmailCopies:
          type: boolean
          description: >-
            When selected the delegate will receive copies of all delegator
            emails
        data:
          type: object
          description: Data
          additionalProperties:
            type: object
    DelegationReport:
      type: object
      properties:
        from:
          type: string
          format: date-time
        to:
          type: string
          format: date-time
        delegationEvents:
          description: The delegation event list
          type: array
          items:
            $ref: '#/components/schemas/DelegationEvent'
    DelegationEvent:
      type: object
      properties:
        eventDate:
          type: string
          format: date-time
        eventType:
          type: string
        eventDescription:
          type: string
        eventUser:
          type: string
    Delivery:
      type: object
      required:
        - download
        - email
        - provider
      properties:
        provider:
          type: boolean
          description: Provider
        email:
          type: boolean
          description: Email
        download:
          type: boolean
          description: Download
    Document:
      type: object
      required:
        - approvals
        - description
        - extract
        - extractionTypes
        - fields
        - id
        - index
        - name
        - pages
        - size
        - tagged
      properties:
        status:
          type: string
          description: >-
            The status of the signing process this transaction orchestrates.
            This is an aggregate value of the signingStatus of the different
            recipients and participants.
        fields:
          type: array
          description: Fields
          items:
            $ref: '#/components/schemas/Field'
        imprintFields:
          type: array
          description: Fields
          items:
            $ref: '#/components/schemas/ImprintField'
        name:
          type: string
          description: The title of the document.
        size:
          type: integer
          format: int32
          description: The size of the document.
        description:
          type: string
          description: Description
        index:
          type: integer
          format: int32
          description: >-
            The position of the document within the document list associated
            with the transaction.  The index starts from 0, indicating the first
            document in the list.
        id:
          type: string
          description: The identifier of the document.
        data:
          type: object
          description: A free form object where attributes can be added by an api customer.
          additionalProperties:
            type: object
        signedHash:
          type: string
          description: The signed value of the document hash.
        extract:
          type: boolean
          description: Whether the auto-extraction is enabled.
        extractionTypes:
          type: array
          description: >
            The extractionTypes attribute enables automatic extraction of
            signatures and fields from uploaded documents.

            There are two supported types.

            <p>TEXT_TAGS - This type extracts text tags if auto-extraction
            option is enabled during document upload.</p>

            <p>ACROFIELDS - This type extracts AcroFields (form fields) if
            auto-extraction option is enabled during document upload.</p>
          uniqueItems: true
          items:
            type: string
        tagged:
          type: boolean
          description: Whether the document is a tagged document.
        externalSigned:
          type: boolean
          default: false
          example: true
          description: Whether the document is an external signed document.
        external:
          $ref: '#/components/schemas/External'
        approvals:
          type: array
          description: Approvals
          items:
            $ref: '#/components/schemas/Approval'
        base64Content:
          type: string
          description: >-
            The document content encoded in Base64 as per RFC 4648, which
            specifies the Base64 encoding scheme used on the web. Base64
            encoding is used to represent binary data over media that require
            text, such as JSON.
        signerVerificationToken:
          type: string
          description: SignerVerificationToken
        pages:
          type: array
          description: Pages
          items:
            $ref: '#/components/schemas/Page'
    DocumentReordering:
      type: object
      required:
        - id
        - index
      properties:
        index:
          type: integer
          format: int32
          description: Index
        id:
          type: string
          description: Id
    DocumentToolbarOptions:
      type: object
      required:
        - downloadButton
      properties:
        downloadButton:
          type: boolean
          description: DownloadButton
    DocumentVisibility:
      type: object
      properties:
        configurations:
          type: array
          description: List of DocumentVisibilityConfigurations.
          items:
            $ref: '#/components/schemas/DocumentVisibilityConfiguration'
        id:
          type: string
        data:
          type: object
          description: Data
          additionalProperties:
            type: object
        name:
          type: string
    DocumentVisibilityConfiguration:
      type: object
      properties:
        documentUid:
          type: string
          description: Document Id.
        roleUids:
          type: array
          description: List of Role Ids that can view the identified Document.
          items:
            type: string
        id:
          type: string
        data:
          type: object
          description: Data
          additionalProperties:
            type: object
        name:
          type: string
    DocumentFields:
      type: object
      properties:
        approvals:
          type: array
          description: Approvals
          items:
            $ref: '#/components/schemas/Approval'
        imprintFields:
          type: array
          description: Imprint Fields
          items:
            $ref: '#/components/schemas/ImprintField'
    ExpiryTimeConfiguration:
      type: object
      description: Transaction expiry configuration
      required:
        - remainingDays
        - maximumRemainingDays
      properties:
        remainingDays:
          type: integer
          description: Default expiry time for transactions in days
          example: 60
        maximumRemainingDays:
          type: integer
          description: Maximum allowed value for expiry time for transactions in days
          example: 90
    ExportedAuditTrail:
      properties:
        package-id:
          type: string
          description: The package id.
          example: 9xZvSoqg-ksfWUMGUDjmt1D4tzA=
        audit-events:
          type: array
          description: Audit events.
          items:
            $ref: '#/components/schemas/AuditEvent'
    External:
      type: object
      required:
        - id
        - provider
      properties:
        id:
          type: string
          description: Id
        provider:
          type: string
          description: Provider
        providerName:
          type: string
          description: ProviderName
        data:
          type: object
          description: Data
          additionalProperties:
            type: object
    ExternalAuthenticationOptions:
      type: object
      required:
        - types
        - typeCategories
      properties:
        typeCategories:
          type: array
          description: External Authentication type categories
          items:
            $ref: '#/components/schemas/ExternalAuthenticationTypeCategory'
        types:
          type: array
          description: External Authentication types
          items:
            $ref: '#/components/schemas/ExternalAuthenticationType'
    ExternalAuthenticationType:
      type: object
      required:
        - id
        - categoryId
        - name
        - description
      properties:
        id:
          type: string
          description: Unique ID of the type
        categoryId:
          type: string
          description: Unique ID of the type category corresponding to this type
        name:
          type: string
          description: Name of the type
        description:
          type: string
          description: Description of the type
    ExternalAuthenticationTypeCategory:
      type: object
      required:
        - id
        - name
        - description
      properties:
        id:
          type: string
          description: Unique ID of the type category
        name:
          type: string
          description: Name of the type category
        description:
          type: string
          description: Description of the type category
    ExtractAnchor:
      type: object
      required:
        - anchorPoint
        - characterIndex
        - height
        - index
        - leftOffset
        - text
        - topOffset
        - width
      properties:
        topOffset:
          type: integer
          format: int32
          description: An absolute offset applied to the final y value
          example: 100
        characterIndex:
          type: integer
          format: int32
          description: >-
            The index of the character within the Anchor Text that will be used
            to calculate position
          example: 3
        anchorPoint:
          type: string
          enum:
            - TOPLEFT
            - BOTTOMLEFT
            - TOPRIGHT
            - BOTTOMRIGHT
          description: >-
            Which corner of the specified character to use as the base for
            calculating position
        index:
          type: integer
          format: int32
          description: >-
            The "occurrence" of the string. For example, if index = 2, the
            software will skip the first two occurrences of Anchor Text, and use
            the third occurrence to calculate position.
          example: 2
        text:
          type: string
          description: The exact string that will be searched for in the uploaded document
          example: 'Signature:'
        width:
          type: integer
          format: int32
          description: The width of the field position to be calculated
          example: 200
        height:
          type: integer
          format: int32
          description: The height of the field position to be calculated
          example: 50
        leftOffset:
          type: integer
          format: int32
          description: An absolute offset applied to the final x value
          example: 20
    Features:
      type: object
      required:
        - allowInPersonForAccountSenders
        - attachments
        - authenticatedInbox
        - bulkSend
        - certificateSigning
        - conditionalFields
        - customFields
        - delegation
        - disableFooter
        - disableInPersonActivationEmail
        - documentVisibility
        - emailDocumentsAndEvidenceSummary
        - enableNewUi
        - enableSignerUi
        - enforceAuth
        - lexisNexis
        - evidenceSummary
        - externalSignerVerification
        - fastTrack
        - flattenSignerDocuments
        - forceLogin
        - eWitnessRecording
        - groups
        - maskResponse
        - mobileCapture
        - mobileSigningCeremony
        - mobileSigningCeremonyTablet
        - notarize
        - ofacBlacklist
        - optionalSignature
        - personalCertificateClient
        - preventConsentRemoval
        - qnaAuth
        - qrCode
        - sendToMobile
        - signerSso
        - smsAuth
        - ssoLogin
        - tamperSealEvidence
      properties:
        tamperSealEvidence:
          type: boolean
          description: >-
            Specifies whether the evidence summary should be signed and locked
            to prevent tampering.
        groups:
          type: boolean
          description: Specifies whether Groups are available in the account.
        qrCode:
          type: boolean
          description: This flag is deprecated.
          deprecated: true
        authenticatedInbox:
          type: boolean
          description: This flag is deprecated.
          deprecated: true
        attachments:
          type: boolean
          description: >-
            Specifies whether the Attachments feature will be available in the
            account.
        eWitnessRecording:
          type: boolean
          description: >-
            Specifies whether the signing ceremony events will be recorded in
            eWitness.
        flattenSignerDocuments:
          type: boolean
          description: >
            Specifies whether documents downloaded or sent via email are
            flattened before being sent.


            When set to True, documents will always be flattened.


            When set to False, documents downloaded before the transaction is
            completed will be flattened, while those downloaded after the
            transaction is completed will remain active.


            Note that this setting only applies for signers.
        delegation:
          type: boolean
          description: >-
            Specifies whether the Delegation feature will be available in the
            account.
        encryptDocuments:
          type: boolean
          description: This flag is deprecated.
          deprecated: true
        documentVisibility:
          type: boolean
          description: >-
            Specifies whether the Document Visibility feature will be available
            in the account.
        customFields:
          type: boolean
          description: Specifies whether Custom Fields are available in the account.
        sendToMobile:
          type: boolean
          description: >-
            Specifies whether the Send to Mobile option will be available to the
            signers.
        optionalSignature:
          type: boolean
          description: Specifies whether signatures can be flagged as optional.
        certificateSigning:
          type: boolean
          description: >-
            Specifies whether account senders are required to sign using their
            CAC/PIV cards.
        evidenceSummary:
          type: boolean
          description: >-
            Specifies whether the transaction owner will receive the evidence
            summary as an email attachment.
        fastTrack:
          type: boolean
          description: Specifies whether Fast Track is available in the account.
        forceLogin:
          type: boolean
          description: >-
            Specifies whether a recipient, who is also an account sender, must
            log in to OSS before accessing the signing ceremony.
        inboxFiltering:
          type: boolean
          description: This flag is deprecated.
          deprecated: true
        notarize:
          type: boolean
          description: >-
            Specifies whether the Enable Notarization option is available when
            creating a template or transaction.
        showDocumentsPreview:
          type: boolean
          description: This flag is deprecated.
          deprecated: true
        lexisNexis:
          type: boolean
          description: >-
            Specifies whether the LexisNexis provider is available for KBA
            authentication.
        equifaxCanada:
          type: boolean
          description: >-
            Specifies whether the Equifax Canada provider is available for KBA
            authentication.
        equifaxUS:
          type: boolean
          description: >-
            Specifies whether the Equifax US provider is available for KBA
            authentication.
        smsAuth:
          type: boolean
          description: Specifies whether SMS authentication is enabled for recipients.
        qnaAuth:
          type: boolean
          description: >-
            Specifies whether Q&A authentication is available for recipients
            when accessing the Designer page and when sending transactions.
        enforceAuth:
          type: boolean
          description: >-
            Specifies whether an authentication method (SMS, Q&A, or KBA) is
            required for recipients in a transaction. This requirement applies
            when accessing the Designer page and when sending transactions.
        ofacBlacklist:
          type: boolean
          description: >-
            Specifies whether countries can be blacklisted from accessing
            OneSpan Sign. When enabled, any user (sender or signer) attempting
            to access from a blacklisted country will be blocked.
        mobileCapture:
          type: boolean
          description: >-
            Specifies whether the Mobile Capture signature type will be
            available when preparing documents for signing.
        maskResponse:
          type: boolean
          description: >-
            Allows setting the default value of the "Mask response" toggle for
            Q&A authentication, both through the UI and when configured via the
            API.
        allowCheckboxConsentApproval:
          type: boolean
          description: >-
            Specifies whether the signer is permitted to accept the electronic
            consent document directly from the top of the document, without the
            need to scroll down.
        allowInPersonForAccountSenders:
          type: boolean
          description: >-
            Specifies whether senders within the same account can view the
            in-person recipient switcher when they are not the owner of the
            transaction.
        mobileSigningCeremony:
          type: boolean
          description: >-
            Specifies whether the Mobile Signing Ceremony is accessible to
            signers using a mobile device.
        mobileSigningCeremonyTablet:
          type: boolean
          description: >-
            Specifies whether the Mobile Signing Ceremony is accessible to
            signers using a tablet.
        disableInPersonActivationEmail:
          type: boolean
          description: >-
            Specifies whether signers in an in-person transaction will receive
            an email invitation to sign.
        emailDocumentsAndEvidenceSummary:
          type: boolean
          description: >-
            Specifies whether both the signed documents and the Evidence Summary
            will be sent by email upon completing the transaction. If set to
            true, both will be sent. If set to false, the "evidencesummary"
            setting will be checked. If "evidencesummary" is true, only the
            Evidence Summary will be sent. If both settings are false, no
            documents will be sent upon completion.
        bulkSend:
          type: boolean
          description: Specifies whether Bulk Send will be available in the account.
        ssoLogin:
          type: boolean
          description: Specifies whether senders can log in exclusively through SAML.
        signerSso:
          type: boolean
          description: Specifies whether signers can be configured with SSO authentication.
        allowUiSwitch:
          type: boolean
          description: This flag is deprecated.
          deprecated: true
        enableNewUi:
          type: boolean
          description: >-
            Specifies whether the new UI should be displayed for the
            application.
        enableSignerUi:
          type: boolean
          description: Specifies whether the new signing ceremony should be displayed.
        disableFooter:
          type: boolean
          description: Specifies whether the footer is displayed within the application.
        externalSignerVerification:
          type: boolean
          description: >-
            Specifies whether external signer verification is enabled for the
            account. When enabled, signers will be redirected to an external
            service for identity validation during the signing ceremony.
        personalCertificateClient:
          type: boolean
          description: >-
            Specifies whether the personal certificate client (native bridge)
            should be used for certificate-based signing.
        allowIntegration:
          type: boolean
          description: This flag is deprecated.
          deprecated: true
        apiKey:
          type: boolean
          description: >-
            Specifies whether the API key will be displayed within the sender
            UI.
        apiToken:
          type: boolean
          description: Specifies whether API tokens can be used to make API calls.
        eventNotification:
          type: boolean
          description: Specifies whether event notifications can be setup for the account.
        preventConsentRemoval:
          type: boolean
          description: >-
            Specifies whether senders can remove the Electronic Consent Document
            from a template or transaction.
        conditionalFields:
          type: boolean
          description: >-
            Specifies whether the conditional fields feature is enabled for the
            account.
        deliverDocumentsByEmail:
          type: boolean
          description: >-
            Specifies whether the transaction owner has the option to enable
            email delivery of documents to their signers.
        enableRecipientHistory:
          type: boolean
          description: >-
            Specifies whether the recipient's history will be tracked and
            stored.
        keyManagementService:
          type: boolean
          description: >-
            Specifies whether KMS (Key Management Service) encryption will be
            utilized for data storage.
        privateEncryptionKey:
          type: boolean
          description: >-
            Specifies whether a custom Customer Master Key (CMK) will be used
            for the account instead of a shared key.
        allowExternalCMK:
          type: boolean
          description: Specifies whether HYOK (Hold Your Own Key) support is enabled.
        externalSignedDocument:
          type: boolean
          description: >-
            Enables a document that has been electronically signed using an
            external, non-OSS solution to be further eSigned within OSS, while
            maintaining the integrity of the existing eSignatures.
        hideEnableAccessibility:
          type: boolean
          description: >-
            Specifies whether the "Enable/Disable Accessibility" button will be
            visible to users during the signing process.
        inAppReports:
          type: boolean
          description: >-
            Specifies whether the In App Reports feature is enabled for the
            account.
        inPersonSmsAuth:
          type: boolean
          description: >-
            Specifies whether signers are required to authenticate via SMS (if
            configured) during in-person signing.
        reliableEventService:
          type: boolean
          description: >-
            Specifies whether the Reliable Event Service is enabled for the
            account.
        selfServiceDataManagement:
          type: boolean
          description: >-
            Specifies whether the data management feature is enabled for the
            account.
        stopImageRendering:
          type: boolean
          description: >-
            Disables document image rendering in the new signer experience to
            enhance system performance and significantly reduce storage costs.
    Field:
      type: object
      description: >-
        Fields enable the placement of additional data in a document at the time
        of signing.
      required:
        - extract
        - id
        - name
        - page
        - subtype
        - type
      properties:
        value:
          type: string
          description: The value of the field.
        name:
          type: string
          description: The name of the field.
        type:
          type: string
          description: >-
            A field's type. Possible values include <ul> <li>SIGNATURE -
            Signature fields are used to collect a signature from a
            recipient.</li> <li>INPUT - Input fields are used to collect
            recipient's input prior to signing.</li>
          enum:
            - SIGNATURE
            - INPUT
        validation:
          $ref: '#/components/schemas/FieldValidation'
        binding:
          type: string
          description: >-
            A string attribute that specifies the macro to which the field value
            is bound.  The value of this attribute must be one of the predefined
            macros, enclosed in curly braces "{}".  These macros dynamically
            reference various elements such as transactions, documents, and
            signatures.  Examples of valid macros include "{transaction.id}",
            "{document.id}", "{signer.name}", "{signer.title}",
            "{signer.company}", "{approval.signed}" ...
        id:
          type: string
          description: The field's unique identification number.
        data:
          type: object
          description: A free form object where attributes can be added by an API customer.
          additionalProperties:
            type: object
        page:
          type: integer
          format: int32
          description: >-
            The zero-based index of the page in the associated document where
            the field is located.
        left:
          type: number
          format: double
          description: An absolute offset applied to the final x value
          example: 20
        extractAnchor:
          $ref: '#/components/schemas/ExtractAnchor'
        extract:
          type: boolean
          description: >-
            Indicates whether the field’s position is extracted from the
            document.
        subtype:
          type: string
          description: >-
            A string attribute that specifies the subtype of the field,
            providing more detailed categorization within the primary type.  The
            subtype attribute refines the field’s type by indicating its
            specific function or format.
          enum:
            - FULLNAME
            - INITIALS
            - CAPTURE
            - LABEL
            - TEXTFIELD
            - TEXTAREA
            - CHECKBOX
            - DATE
            - RADIO
            - LIST
            - QRCODE
            - CUSTOMFIELD
            - SEAL
            - MOBILE_CAPTURE
            - RAW_CAPTURE
            - DATEPICKER
        width:
          type: number
          format: double
          description: The width of the field position to be calculated
          example: 200
        top:
          type: number
          format: double
          description: An absolute offset applied to the final y value
          example: 100
        height:
          type: number
          format: double
          description: The height of the field position to be calculated
          example: 50
        textAlignment:
          type: string
          description: >-
            Specifies the alignment of the text. Possible values are 'left',
            'right', and 'center'.
    FieldSummary:
      type: object
      required:
        - signerId
        - documentId
        - fieldId
        - fieldName
      properties:
        signerId:
          type: string
          description: Signer Id
        documentId:
          type: string
          description: Document Id
        fieldId:
          type: string
          description: Field Id
        fieldName:
          type: string
          description: Field Name
        fieldValue:
          type: string
          description: Field Value
    ReferencedConditions:
      description: Package details
      type: object
      properties:
        packageId:
          type: string
          description: The transaction's unique identification number.
        documents:
          type: array
          description: >-
            Returns a list of all signature conditions that appear in all
            documents in the package.
          items:
            $ref: '#/components/schemas/ReferencedConditionsDocument'
    ReferencedConditionsDetails:
      description: Condition details
      type: object
      properties:
        id:
          description: The condition's unique identification number.
          type: string
        condition:
          description: >-
            The interaction that needs to be met to trigger a conditional
            action. Typically, this would be a True or False evaluation. For
            example, if value=x is TRUE, then do action A - set the field to
            Required. Implicitly, if value=x is FALSE, then the opposite action
            will take place - the field will not be Required
          type: string
        action:
          description: >-
            When triggered, the action that is performed on the field. For
            example, set to Required.
          type: string
    ReferencedConditionsDocument:
      description: Document details
      type: object
      properties:
        documentId:
          description: The document's unique identification number.
          type: string
        fields:
          description: Fields
          type: array
          items:
            $ref: '#/components/schemas/ReferencedConditionsField'
    ReferencedConditionsField:
      description: Field details
      type: object
      properties:
        fieldId:
          description: The field's unique identification number.
          type: string
        referencedInCondition:
          description: A list of all conditions defined for the specified field.
          type: array
          items:
            $ref: '#/components/schemas/ReferencedConditionsDetails'
        referencedInAction:
          description: >-
            A list of all conditions with actions that have an effect on the
            specified field.
          type: array
          items:
            $ref: '#/components/schemas/ReferencedConditionsDetails'
    FieldValidation:
      type: object
      required:
        - required
      properties:
        maxLength:
          type: integer
          format: int32
          description: MaxLength
        pattern:
          type: string
          description: Pattern
        required:
          type: boolean
          description: Required
        errorMessage:
          type: string
          description: ErrorMessage
        errorCode:
          type: integer
          format: int32
          description: ErrorCode
        enum:
          type: array
          description: Enum
          items:
            type: string
        minLength:
          type: integer
          format: int32
          description: MinLength
        group:
          type: string
          description: Group (Grouped Checkboxes)
        minimumRequired:
          type: integer
          description: Minimum Required (Grouped Checkboxes)
    FooterOptions:
      type: object
    GlobalActionsOptions:
      type: object
      required:
        - confirm
        - download
        - hideEvidenceSummary
        - saveAsLayout
      properties:
        download:
          type: boolean
          description: Download
        saveAsLayout:
          type: boolean
          description: SaveAsLayout
        hideEvidenceSummary:
          type: boolean
          description: HideEvidenceSummary
        confirm:
          type: boolean
          description: Confirm
    Group:
      type: object
      required:
        - created
        - emailMembers
        - id
        - members
        - name
        - reciprocalDelegation
        - updated
      properties:
        name:
          type: string
          description: Name
        members:
          type: array
          description: Members
          items:
            $ref: '#/components/schemas/GroupMember'
        account:
          $ref: '#/components/schemas/Account'
        created:
          type: string
          format: date-time
          description: Created
        id:
          type: string
          description: Id
        data:
          type: object
          description: Data
          additionalProperties:
            type: object
        updated:
          type: string
          format: date-time
          description: Updated
        email:
          type: string
          description: Email
        emailMembers:
          type: boolean
          description: EmailMembers
        reciprocalDelegation:
          type: boolean
          description: Reciprocal Delegation
    GroupMember:
      type: object
      required:
        - email
        - firstName
        - lastName
        - memberType
        - pending
        - userId
      properties:
        userId:
          type: string
          description: UserId
        firstName:
          type: string
          description: FirstName
        lastName:
          type: string
          description: LastName
        email:
          type: string
          description: Email
        memberType:
          type: string
          description: MemberType
          enum:
            - REGULAR
            - MANAGER
        pending:
          type: boolean
          description: Pending
    GroupMembership:
      type: object
      required:
        - groupId
        - groupName
        - memberType
      properties:
        groupId:
          type: string
          description: GroupId
        groupName:
          type: string
          description: GroupName
        memberType:
          type: string
          description: MemberType
          enum:
            - REGULAR
            - MANAGER
    GroupSummary:
      type: object
      required:
        - id
        - data
        - email
        - name
      properties:
        id:
          type: string
          description: Id
        data:
          type: string
          description: Data
        email:
          type: string
          description: Email
        name:
          type: string
          description: Name
    HeaderOptions:
      type: object
      required:
        - breadcrumbs
        - feedback
        - globalNavigation
        - sessionBar
      properties:
        feedback:
          type: boolean
          description: Feedback
        breadcrumbs:
          type: boolean
          description: Breadcrumbs
        globalActions:
          $ref: '#/components/schemas/GlobalActionsOptions'
        globalNavigation:
          type: boolean
          description: GlobalNavigation
        sessionBar:
          type: boolean
          description: SessionBar
        titleBar:
          $ref: '#/components/schemas/TitleBarOptions'
    Image:
      type: object
      required:
        - src
      properties:
        link:
          type: string
          description: Link
        src:
          type: string
          description: Src
        logoAltTextKey:
          type: string
          description: LogoAltTextKey
    ImprintField:
      type: object
      properties:
        value:
          type: string
          description: Value
        name:
          type: string
          description: Name
        type:
          type: string
          description: Type
          enum:
            - INPUT
        id:
          type: string
          description: Id
        data:
          type: object
          description: Data
          additionalProperties:
            type: object
        page:
          type: integer
          format: int32
          description: Page
        left:
          type: number
          format: double
          description: Left
        subtype:
          type: string
          description: Subtype
          enum:
            - LABEL
        width:
          type: number
          format: double
          description: Width
        top:
          type: number
          format: double
          description: Top
        height:
          type: number
          format: double
          description: Height
        binding:
          type: string
          description: >-
            Accepts values: {document.id} and {transaction.id} to automatically
            fill the field with the document or transaction identifier
        editable:
          type: boolean
          format: boolean
          description: Determines whether the field is editable. The property is read only
    ImprintFieldCopyResult:
      type: object
      properties:
        documentId:
          type: string
          description: Document id
        imprintField:
          $ref: '#/components/schemas/ImprintField'
          description: Imprint Field
        messageKey:
          type: string
          description: >-
            Error message code, filled when the field has not been added or has
            not been added in the expected place in the document
    KnowledgeBasedAuthentication:
      type: object
      properties:
        knowledgeBasedAuthenticationStatus:
          type: string
          description: Knowledge Based Authentication Status
          enum:
            - NOT_YET_ATTEMPTED
            - PASSED
            - FAILED
            - INVALID_SIGNER
            - UPDATED
        signerInformationForLexisNexis:
          $ref: '#/components/schemas/SignerInformationForLexisNexis'
        lexisNexis:
          type: boolean
    NotificationMethod:
      type: string
      description: Lists all available notification methods
      enum:
        - EMAIL
        - SMS
    NotificationMethods:
      type: object
      description: >-
        -> The default notification method for a signer in a particular
        transaction. If this notification method is defined as part of a
        template, then when creating a new transaction using this template,
        these notification methods will be used as part of the pre-populated
        fields.
      required:
        - primary
      properties:
        primary:
          type: array
          description: >-
            -> The default notification method as defined for the account. A
            phone number is required when including SMS as a notification
            method.
          items:
            $ref: '#/components/schemas/NotificationMethod'
    LayoutOptions:
      type: object
      required:
        - iframe
        - navigator
      properties:
        header:
          $ref: '#/components/schemas/HeaderOptions'
        brandingBar:
          $ref: '#/components/schemas/BrandingBarOptions'
        navigator:
          type: boolean
          description: Navigator
        iframe:
          type: boolean
          description: Iframe
        footer:
          $ref: '#/components/schemas/FooterOptions'
    LayoutStyle:
      type: object
      properties:
        brandingBar:
          $ref: '#/components/schemas/Image'
        dialog:
          $ref: '#/components/schemas/Style'
        toolbar:
          $ref: '#/components/schemas/Style'
        titleBar:
          $ref: '#/components/schemas/Style'
    License:
      type: object
      required:
        - created
        - plan
        - status
        - transactions
      properties:
        status:
          type: string
          description: Status
          enum:
            - ACTIVE
            - PENDING
            - GRACE
        created:
          type: string
          format: date-time
          description: Created
        transactions:
          type: array
          description: Transactions
          items:
            $ref: '#/components/schemas/Transaction'
        paidUntil:
          type: string
          format: date-time
          description: PaidUntil
        plan:
          $ref: '#/components/schemas/Plan'
    Link:
      type: object
      required:
        - href
        - text
      properties:
        text:
          type: string
          description: Text
        title:
          type: string
          description: Title
        href:
          type: string
          description: Href
    Message:
      type: object
      required:
        - content
        - created
        - documents
        - from
        - status
        - to
      properties:
        status:
          type: string
          description: Status
          enum:
            - NEW
            - READ
            - TRASHED
        from:
          $ref: '#/components/schemas/User'
        created:
          type: string
          format: date-time
          description: Created
        content:
          type: string
          description: Content
        to:
          type: array
          description: To
          items:
            $ref: '#/components/schemas/User'
        documents:
          type: array
          description: Documents
          items:
            $ref: '#/components/schemas/Document'
    Package:
      type: object
      required:
        - autocomplete
        - bulkSendable
        - created
        - description
        - documents
        - emailMessage
        - id
        - messages
        - name
        - notarized
        - roles
        - sender
        - status
        - trashed
        - type
        - updated
        - visibility
      properties:
        name:
          type: string
          description: The name of the transaction
          example: YourTransaction
        roles:
          type: array
          description: >-
            A Role consists of a set of permissions. Once a role created, it can
            be assigned to individual users, enabling them to access the OneSpan
            Sign functionality they need.
          items:
            $ref: '#/components/schemas/Role'
        status:
          type: string
          description: >-
            A transaction's status. Possible values include <ul> <li>DRAFT - The
            transaction has not yet been sent. A DRAFT transaction can become
            EXPIRED.</li> <li>SENT - The transaction has been distributed for
            signatures, but has not yet been completed. A SENT transaction can
            be DECLINED, OPTED_OUT, or EXPIRED. If a SENT transaction has not
            yet been signed, it can be moved back into a DRAFT status.</li>
            <li>COMPLETED - The transaction has been signed by all recipients. A
            COMPLETED transaction can now be ARCHIVED.</li> <li>ARCHIVED - The
            transaction has been archived.</li> <li>DECLINED - The transaction
            has at least one recipient who has declined to sign the
            transaction.</li> <li>OPTED_OUT - The transaction has at least one
            recipient who has opted out of signing the transaction
            electronically.</li> <li>EXPIRED - The transaction has expired
            (i.e., its expiry date is in the past).</li></ul>
          enum:
            - DRAFT
            - SENT
            - COMPLETED
            - ARCHIVED
            - DECLINED
            - OPTED_OUT
            - EXPIRED
        created:
          type: string
          format: date-time
          description: The date and time that the transaction was created.
        messages:
          type: array
          description: Messages
          items:
            $ref: '#/components/schemas/Message'
        id:
          type: string
          description: The transaction's unique identification number.
          example: asd0sdf08gdfg3njkfg0345dg=
        data:
          type: object
          description: >-
            An object containing key-value pairs of custom metadata supplied by
            the application client to facilitate specific functionalities.
          additionalProperties:
            type: object
        description:
          type: string
          description: 'A description of the transaction. For example, ''Mortgage Renewal''.'
        language:
          type: string
          description: >-
            The language in which the signing will display. This can be
            overridden by {recipient.language}. Examples&#58;"en", "fr", ...
          example: en
        autocomplete:
          type: boolean
          description: >-
            Whether the status of the transaction becomes COMPLETED
            automatically after all recipients have signed.
          example: 'true'
        type:
          type: string
          description: >-
            A transaction's type. Possible values include <ul> <li>PACKAGE -
            Represents the transaction in the e-signature service that an
            external signer can sign. A package typically contains one or more
            documents requiring signatures, initials, or other actions from
            signers. It encapsulates all the necessary components for a complete
            transaction.</li> <li>TEMPLATE - Defines a reusable blueprint for
            creating packages within the e-signature service. A template allows
            senders to pre-define signers, documents, signature locations and
            e-signature workflows to streamline the e-signature process.</li>
            <li>LAYOUT - Represents a specialized type of template that allows
            senders to create pre-defined locations for signature blocks and
            data fields within a document. Layouts are helpful for users who
            frequently send forms that may be slightly different per recipient
            but signature blocks and data fields remain in the same location
            throughout the document. What’s more, user can use multiple Layouts
            per document, and apply them to individual pages within a
            transaction.</li></ul>
          enum:
            - PACKAGE
            - TEMPLATE
            - LAYOUT
        due:
          type: string
          format: date-time
          description: >-
            The expected completion time of this transaction. This can be set in
            two different ways&#58;<ul> <li>An quantity of time after the
            transaction is first sent&#58; 2 days, 3 weeks</li> <li> An absolute
            date&#58; April 1st, 2024</li></ul>
        visibility:
          type: string
          description: >-
            A transaction's visibily type. Possible values include <ul>
            <li>ACCOUNT - When the visibility type is set to ACCOUNT, the
            transaction, template, or layout is shared and visible at the
            account level. This means that it is accessible to all users or
            members within the account. Any user with appropriate permissions
            can view, edit, or manage transactions, templates, or layouts with
            ACCOUNT visibility.</li> <li>SENDER - When the visibility type is
            set to SENDER, the transaction, template, or layout is restricted to
            visibility only by the owner or sender. This means that it is
            exclusively visible and accessible to the user who created or owns
            it. Other users within the account or organization cannot view or
            interact with transactions, templates, or layouts with SENDER
            visibility, unless explicitly shared or delegated access by the
            owner</li></ul>
          enum:
            - ACCOUNT
            - SENDER
        settings:
          $ref: '#/components/schemas/PackageSettings'
        consent:
          type: string
          description: Consent
        notaryRoleId:
          type: string
          description: Notary Role
        trashed:
          type: boolean
          description: Whether the transaction is trashed by the sender.
          example: 'false'
        notarized:
          type: boolean
          description: Whether the transaction is notarized.
        timezoneId:
          type: string
          description: >-
            The time zone Id of the time zone configured for a transaction.  
            Visible time components, like the signature time stamp and date
            fields,  will format and display according to the specified time
            zone. 
          example: America/Toronto
          default: GMT
        documents:
          type: array
          description: Documents
          items:
            $ref: '#/components/schemas/Document'
        emailMessage:
          type: string
          description: EmailMessage
        updated:
          type: string
          format: date-time
          description: The date and time that the transaction was updated.
        completed:
          type: string
          format: date-time
          description: The date and time that the transaction was completed.
        sender:
          $ref: '#/components/schemas/Sender'
        limits:
          $ref: '#/components/schemas/PackageArtifactsLimits'
        signedDocumentDelivery:
          $ref: '#/components/schemas/SignedDocumentDelivery'
        bulkSendable:
          type: boolean
          description: Whether the transaction can be included in a bulk send operation.
    PackageArtifactsLimits:
      type: object
      properties:
        roles:
          type: integer
          format: int32
          description: Roles
        documents:
          type: integer
          format: int32
          description: Documents
    PackageLayout:
      type: object
      required:
        - documents
        - id
        - name
        - type
        - visibility
      properties:
        name:
          type: string
          description: Name of the layout
          example: YourLayout
        id:
          type: string
          description: The layout's unique identification number.
          example: asd0sdf08gdfg3njkfg0345dg=
        description:
          type: string
          description: >-
            A description of the layout. For example, what it can be used for,
            or who it is intended for.
        type:
          type: string
          description: Defines what type of layout this is.
          enum:
            - LAYOUT
        visibility:
          type: string
          description: >-
            Configures who can see and use the layout. <ul> <li>ACCOUNT - the
            layout can be seen and used by all users within the same
            account</li> <li>SENDER - only the person who created the layout can
            see and use it</li> </ul>
          enum:
            - ACCOUNT
            - SENDER
        documents:
          type: array
          description: >-
            The unique identification number of the document used in the layout.
            It MUST contain only one document ID.
          items:
            type: object
            properties:
              id:
                type: string
                description: The document ID
                example: b5d4e318c6f728f3b9d7e13393bb0f9a368de55744010385
    PackageReminder:
      type: object
      required:
        - date
      properties:
        date:
          type: string
          format: date-time
          description: Displays the date and time that the reminder will be sent.
        sentDate:
          type: string
          format: date-time
          description: >-
            If a reminder has already been sent, this field will display the
            date and time the reminder was sent.
    PackageReminderSchedule:
      type: object
      required:
        - packageId
      properties:
        intervalInDays:
          type: integer
          description: Specifies the number of days between successive reminders.
        packageId:
          type: string
          description: >-
            The transaction's unique identification number. This number will be
            used to find the reminder.
        reminders:
          type: array
          description: >-
            By setting a reminder schedule, a sender can choose when and how
            often to notify a signer about a pending signature, in addition to
            the initial notification sent the moment the transaction is sent for
            signing.
          readOnly: true
          items:
            $ref: '#/components/schemas/PackageReminder'
        repetitionsCount:
          type: integer
          description: Specifies the total number of reminders to be sent.
        startInDaysDelay:
          type: integer
          description: >-
            Specifies when the first reminder will be sent — i.e., the number of
            days after the initial email invitation is sent.
    PackageSettings:
      type: object
      required:
        - ceremony
      properties:
        ceremony:
          $ref: '#/components/schemas/CeremonySettings'
        integrationFrameworkWorkflows:
          type: array
          items:
            $ref: '#/components/schemas/IntegrationFrameworkWorkflows'
    Page:
      type: object
      required:
        - id
        - index
        - version
      properties:
        id:
          type: string
          description: Id
        index:
          type: integer
          format: int32
          description: Index
        version:
          type: integer
          format: int32
          description: Version
        left:
          type: number
          format: double
          description: Left
        width:
          type: number
          format: double
          description: Width
        top:
          type: number
          format: double
          description: Top
        height:
          type: number
          format: double
          description: Height
    PasswordPolicy:
      type: object
      required:
        - age
        - history
        - length
        - includeUppercase
        - includeLowercase
        - includeNumbers
        - includeSpecialCharacters
        - requiredRules
        - expiry
        - enableExpiryNotifications
        - firstReminder
        - repeatReminderCount
        - maxInvalidLoginAttempts
      properties:
        age:
          type: integer
          format: int32
          description: Minimum password age
        history:
          type: integer
          format: int32
          description: >-
            Number of unique new passwords that have to be provided before an
            old password can be reused
        length:
          type: integer
          format: int32
          description: Minimum password length
        includeUppercase:
          type: boolean
          description: Password requires to include uppercase character
        includeLowercase:
          type: boolean
          description: Password requires to include lowercase character
        includeNumbers:
          type: boolean
          description: Password requires to include number
        includeSpecialCharacters:
          type: boolean
          description: Password requires to include special character
        requiredRules:
          type: integer
          format: int32
          description: Number of required rules
          example: 4
        expiry:
          type: integer
          format: int32
          description: Number of days after which the password will expire
        enableExpiryNotifications:
          type: boolean
          description: Turn on/off password expiry notifications
        firstReminder:
          type: integer
          format: int32
          description: >-
            Number of days the first expiry notification is send before password
            is expired
          example: 14
        repeatReminderCount:
          type: integer
          format: int32
          description: Number of expiry notifications
          example: 5
        maxInvalidLoginAttempts:
          type: integer
          format: int32
          description: >-
            Number of login failures allowed for a user before the account is
            locked
          example: 3
    PackageSummary:
      type: object
      required:
        - uid
        - accountUid
        - owneruid
      properties:
        id:
          type: integer
          description: The transaction identification number.
          example: 22874617
        uid:
          type: string
          description: The unique transaction identification number.
          example: bDr7tWhDxTrCegeWCveLIWa7PAw=
        ownerUid:
          type: string
          description: The unique owner identification number.
          example: wdhWYEVGeSw2
        accountUid:
          type: string
          description: The unique account identification number.
          example: ibwzXn69GF0J
        name:
          type: string
          description: The name of the transaction.
          example: Test transaction
        language:
          type: string
          description: The language of the transaction.
          example: en
        origin:
          type: string
          description: The origin of the transaction.
          example: OSS
        statusAsString:
          type: string
          description: >-
            The status of the transaction. Possible values include <ui>
            <li>DRAFT</li> <li>SENT</li> <li>COMPLETED</li> <li>ARCHIVED</li>
            <li>DECLINED</li> <li>OPTED_OUT</li> <li>EXPIRED</li>
            <li>ARCHIVAL_PENDING</li> <li>ARCHIVAL_VALIDATING</li>
            <li>ARCHIVAL_COMPLETED</li> <li>ARCHIVAL_INTERVENTION_REQUIRED</li>
            </ui>
          example: COMPLETED
        creationDate:
          type: string
          format: date-time
          description: The date and time that the transaction was created.
          example: '2024-06-10T14:05:59.000Z'
        expiry:
          type: string
          format: date-time
          description: The date and time that the transaction will expire.
          example: '2024-06-10T14:05:59.000Z'
        updateDate:
          type: string
          format: date-time
          description: The date and time that the transaction was updated.
          example: '2024-06-10T14:05:59.000Z'
        statusChanged:
          type: string
          format: date-time
          description: The date and time that the status of the transaction was changed.
          example: '2024-06-10T14:05:59.000Z'
        settings:
          type: string
          description: The settings of the transaction.
        typeAsString:
          type: string
          description: The transaction type defined as a string.
          enum:
            - Process
            - Template
            - Layout
        visibilityAsString:
          type: string
          description: >-
            A transaction's visibily type. Possible values include <ul>
            <li>ACCOUNT - When the visibility type is set to ACCOUNT, the
            transaction, template, or layout is shared and visible at the
            account level. This means that it is accessible to all users or
            members within the account. Any user with appropriate permissions
            can view, edit, or manage transactions, templates, or layouts with
            ACCOUNT visibility.</li> <li>SENDER - When the visibility type is
            set to SENDER, the transaction, template, or layout is restricted to
            visibility only by the owner or sender. This means that it is
            exclusively visible and accessible to the user who created or owns
            it. Other users within the account or organization cannot view or
            interact with transactions, templates, or layouts with SENDER
            visibility, unless explicitly shared or delegated access by the
            owner</li></ul>
          enum:
            - ACCOUNT
            - SENDER
        signerCount:
          type: integer
          description: Number of signers.
          example: 1
        available:
          type: boolean
          description: The transaction is available or not.
          example: true
        ada:
          type: boolean
          description: The transaction is accessibility enabled or not.
          example: true
        editable:
          type: boolean
          description: The transaction is editable or not.
          example: true
        archivalInterventionRequired:
          type: boolean
          description: The transaction archival requires intervention or not.
          example: false
        archivalCompleted:
          type: boolean
          description: The transaction archival is completed or not.
          example: true
        expired:
          type: boolean
          description: The transaction is expired or not.
          example: false
        expiryPending:
          type: boolean
          description: The transaction expiry is pending or not.
          example: true
        expiryInPast:
          type: boolean
          description: The transaction is expired in the past or not.
          example: false
        viewableBySigner:
          type: boolean
          description: The transaction is viewable by signer or not.
          example: true
        visibleToAccount:
          type: boolean
          description: The transaction is visible to the account or not.
          example: false
        active:
          type: boolean
          description: The transaction is active or not.
          example: true
        signingRequired:
          type: boolean
          description: The transaction requires signing or not.
          example: true
        maxAttachmentFiles:
          type: integer
          description: Number of maximum attachment files.
          example: 2
        geolocationEnabled:
          type: boolean
          description: Is GEO location enabled or not.
          example: false
        adHocCobrowsingSigner:
          type: boolean
          description: The transaction is adHocCobrowsing enabled or not.
          example: false
        ron:
          type: boolean
          description: The transaction is Remote-Online-Notary transaction or not.
          example: false
        draftLike:
          type: boolean
          description: The transaction status is Draft-Like or not.
          example: false
        draft:
          type: boolean
          description: The transaction status is Draft or not.
          example: false
        completionDate:
          type: string
          format: date-time
          description: The date and time that the transaction was completed.
          example: '2024-06-10T14:05:59.000Z'
        version:
          type: integer
          description: The version of the transaction.
          example: 6
        description:
          type: string
          description: The description of a transaction
          example: Mortgage signing document
        type:
          type: string
          description: The type of transaction.
          example: Process
        eslTransactionPurge:
          type: array
          description: The array of purged transactions.
          items:
            $ref: '#/components/schemas/EslTransactionPurge'
        new:
          type: boolean
          description: The transaction is a new transaction or not.
          example: false
    EslTransactionPurge:
      type: object
      required:
        - transactionUid
        - accountUid
        - dateToBePurged
        - purgeGracePeriod
      properties:
        id:
          type: integer
          description: The identifier of the transaction.
          example: 22874617
        transactionUid:
          type: string
          description: The unique identifier of the transaction.
          example: bDr7tWhDxTrCegeWCveLIWa7PAw=
        accountUid:
          type: string
          description: The unique account identification number.
          example: ibwzXn69GF0J
        dateToBePurged:
          type: string
          description: The date when the transaction is scheduled to be purged.
          format: date-time
          example: '2024-06-10T14:05:59.000Z'
        purgedDate:
          type: string
          description: The date when the transaction was purged.
          format: date-time
          example: '2024-06-10T14:05:59.000Z'
        purgeGracePeriod:
          type: integer
          description: The grace period before the transaction is purged.
        transactionType:
          type: string
          description: The type of the transaction.
    Plan:
      type: object
      required:
        - cycle
        - description
        - group
        - id
        - name
        - price
        - quotas
      properties:
        name:
          type: string
          description: Name
        cycle:
          type: string
          description: Cycle
          enum:
            - DAY
            - MONTH
            - YEAR
        description:
          type: string
          description: Description
        features:
          type: object
          description: Features
          additionalProperties:
            type: object
        id:
          type: string
          description: Id
        data:
          type: object
          description: Data
          additionalProperties:
            type: object
        group:
          type: string
          description: Group
        price:
          $ref: '#/components/schemas/Price'
        contract:
          type: string
          description: Contract
          enum:
            - DAY
            - MONTH
            - YEAR
        freeCycles:
          $ref: '#/components/schemas/CycleCount'
        quotas:
          type: array
          description: Quotas
          items:
            $ref: '#/components/schemas/Quota'
        original:
          type: string
          description: Original
    Price:
      type: object
      required:
        - amount
        - currency
      properties:
        currency:
          $ref: '#/components/schemas/Currency'
        amount:
          type: integer
          format: int32
          description: Amount
    ProfessionalIdentityField:
      type: object
      required:
        - category
        - id
        - name
      properties:
        value:
          type: string
          description: Value
        name:
          type: string
          description: Name
        type:
          type: string
          description: Type
        id:
          type: string
          description: Id
        data:
          type: object
          description: Data
          additionalProperties:
            type: object
        category:
          type: string
          description: Category
        translations:
          type: array
          description: Translations
          items:
            $ref: '#/components/schemas/Translation'
    Provider:
      type: object
      required:
        - id
        - name
        - provides
      properties:
        name:
          type: string
          description: Name
        id:
          type: string
          description: Id
        data:
          type: object
          description: Data
          additionalProperties:
            type: object
        provides:
          type: string
          description: Provides
    Readiness:
      type: object
      required:
        - stageType
      properties:
        status:
          type: boolean
          description: Is the package ready
        errorKeys:
          type: array
          description: 'If the status is false, what is the reason'
          items:
            type: string
        stageType:
          type: string
          enum:
            - PREPARE
            - SEND
        id:
          type: string
        data:
          type: object
        name:
          type: string
    Recording:
      type: object
      required:
        - uid
        - fileName
        - creationDate
        - fileSize
        - fileFormat
      properties:
        uid:
          type: string
          description: Uid
          example: bf5e90a8-d284-4a82-9792-42b940019821
        fileName:
          type: string
          description: File name
          example: CJe8db1289b3d0b044e11759e2d375d9a4.mp4
        creationDate:
          type: integer
          format: int32
          description: Creation date timestamp
          example: 1630913205000
        fileSize:
          type: string
          description: Video file size
          example: 176475
        fileFormat:
          type: string
          description: Video file format
          example: mp4
    Role:
      type: object
      required:
        - attachmentRequirements
        - id
        - index
        - name
        - signers
        - type
      properties:
        signers:
          type: array
          description: Signers
          items:
            $ref: '#/components/schemas/Signer'
        name:
          type: string
          description: The name of the role.
        type:
          type: string
          description: Defines whether the recipient is a Signer or a Sender.
          enum:
            - SIGNER
            - SENDER
        index:
          type: integer
          format: int32
          description: >-
            Defines the completion order of the role (recipient) within the
            transaction. Recipients with the same index value will have the same
            precedence in the transaction signing sequence. Recipients with a
            lower index value will have higher precedence in the transaction
            signing sequence.
        id:
          type: string
          description: The role's (recipient) unique identification number.
        data:
          type: object
          description: >-
            A free form object where attributes can be added by an API customer,
            allowing for customization and adaptability based on specific
            requirements.
          additionalProperties:
            type: object
        emailMessage:
          $ref: '#/components/schemas/BaseMessage'
        reassign:
          type: boolean
          description: Defines whether the role can be assigned to another person or not.
        attachmentRequirements:
          type: array
          description: AttachmentRequirements
          items:
            $ref: '#/components/schemas/AttachmentRequirement'
        downloadEvidenceSummaryBySigner:
          type: boolean
          description: >-
            Defines whether the role (recipient) is allowed to download the
            Evidence Summary.
        specialTypes:
          type: array
          description: >-
            Transactions can have a recipient who has been assigned a notary
            role. This is done by assigning the recipient a SpecialSignerType of
            NOTARY.
          items:
            type: string
            enum:
              - NOTARY
        locked:
          type: boolean
          description: >-
            Defines whether the role (recipient) is locked. A locked recipient
            is one that did not successfully complete authentication,
    RoleReordering:
      type: object
      required:
        - id
        - index
      properties:
        index:
          type: integer
          format: int32
          description: Index
        id:
          type: string
          description: Id
    Quota:
      type: object
      required:
        - limit
        - target
      properties:
        target:
          type: string
          description: Target
          enum:
            - SIGNER
            - SENDER
            - DOCUMENT
            - PACKAGE
            - STORAGE
        cycle:
          type: string
          description: Cycle
          enum:
            - DAY
            - MONTH
            - YEAR
        scope:
          type: string
          description: Scope
          enum:
            - SENDER
            - DOCUMENT
            - PACKAGE
            - ACCOUNT
        limit:
          type: integer
          format: int32
          description: Limit
    Sender:
      type: object
      required:
        - company
        - created
        - email
        - firstName
        - hasDelegates
        - id
        - lastName
        - memberships
        - name
        - professionalIdentityFields
        - status
        - timezoneId
        - type
        - updated
        - userCustomFields
      properties:
        name:
          type: string
          description: Name
        type:
          type: string
          description: Type
          enum:
            - REGULAR
            - MANAGER
        signature:
          $ref: '#/components/schemas/SignatureStyle'
        status:
          type: string
          description: Status
          enum:
            - INVITED
            - ACTIVE
            - LOCKED
        account:
          $ref: '#/components/schemas/Account'
        address:
          $ref: '#/components/schemas/Address'
        created:
          type: string
          format: date-time
          description: Created
        id:
          type: string
          description: Id
        data:
          type: object
          description: Data
          additionalProperties:
            type: object
        language:
          type: string
          description: Language
        timezoneId:
          type: string
          description: TimezoneId
        external:
          $ref: '#/components/schemas/External'
        company:
          type: string
          description: Company
        updated:
          type: string
          format: date-time
          description: Updated
        phone:
          type: string
          description: Phone
        userCustomFields:
          type: array
          description: UserCustomFields
          items:
            $ref: '#/components/schemas/UserCustomField'
        professionalIdentityFields:
          type: array
          description: ProfessionalIdentityFields
          items:
            $ref: '#/components/schemas/ProfessionalIdentityField'
        title:
          type: string
          description: Title
        firstName:
          type: string
          description: FirstName
        lastName:
          type: string
          description: LastName
        email:
          type: string
          description: Email
        locked:
          type: string
          format: date-time
          description: Locked
        activated:
          type: string
          format: date-time
          description: Activated
        memberships:
          type: array
          description: Memberships
          items:
            $ref: '#/components/schemas/GroupMembership'
        specialTypes:
          type: array
          description: Special User Types
          items:
            type: string
            enum:
              - NOTARY
        hasDelegates:
          type: boolean
          description: Has Delegates
    AccountUsage:
      type: object
      required:
        - senders
        - packages
      properties:
        senders:
          type: integer
          description: Sender usage
        packages:
          type: integer
          description: Package usage
    SenderAuthenticationToken:
      type: object
      required:
        - packageId
        - value
      properties:
        packageId:
          type: string
          description: Package Id
        value:
          type: string
          description: Value
    Session:
      type: object
      required:
        - certificateSigning
        - delegationUser
        - inPerson
        - packages
        - user
      properties:
        restricted:
          type: boolean
        packages:
          type: array
          description: Packages
          items:
            type: string
        features:
          $ref: '#/components/schemas/Features'
        user:
          $ref: '#/components/schemas/User'
        support:
          $ref: '#/components/schemas/SupportConfiguration'
        delegationUser:
          $ref: '#/components/schemas/DelegationUser'
        account:
          $ref: '#/components/schemas/Account'
        inPerson:
          type: boolean
          description: InPerson
        loginSessionTimeout:
          type: integer
          format: int32
          description: loginSessionTimeout
        certificateSigning:
          type: boolean
          description: CertificateSigning
    SessionFields:
      type: object
      properties:
        fields:
          description: Fields
          additionalProperties:
            type: object
    SignatureStyle:
      type: object
      properties:
        handdrawn:
          type: string
          description: Handdrawn
        textual:
          $ref: '#/components/schemas/TextualSignatureStyle'
    SignatureImage:
      type: object
      required:
        - fileName
        - mediaType
        - content
      properties:
        fileName:
          type: string
          description: File name
        mediaType:
          type: string
          description: Media type
        content:
          type: string
          format: binary
          example: <Base 64 Image Binary Data>
          description: Base64 encoded image
    SignedDocument:
      allOf:
        - $ref: '#/components/schemas/Document'
        - type: object
          properties:
            handdrawn:
              type: string
              description: Handdrawn signature string.
    SignedDocuments:
      type: object
      required:
        - handdrawn
        - documents
      properties:
        handdrawn:
          type: string
          description: Handdrawn signature string.
        documents:
          type: array
          description: Documents list.
          items:
            $ref: '#/components/schemas/Document'
    SignedDocumentDelivery:
      type: object
      required:
        - destinations
        - excludedDocuments
      properties:
        filePrefix:
          type: string
          description: FilePrefix
        destinations:
          type: array
          description: Destinations
          items:
            $ref: '#/components/schemas/External'
        excludedDocuments:
          type: array
          description: ExcludedDocuments
          items:
            $ref: '#/components/schemas/Document'
        fileSuffix:
          type: string
          description: FileSuffix
    Signer:
      type: object
      required:
        - auth
        - company
        - created
        - delivery
        - email
        - firstName
        - id
        - knowledgeBasedAuthentication
        - lastName
        - name
        - professionalIdentityFields
        - signerType
        - timezoneId
        - updated
        - userCustomFields
      properties:
        name:
          type: string
          description: Name
        signature:
          $ref: '#/components/schemas/SignatureStyle'
        address:
          $ref: '#/components/schemas/Address'
        created:
          type: string
          format: date-time
          description: Created
        id:
          type: string
          description: Id
        data:
          type: object
          description: Data
          additionalProperties:
            type: object
        group:
          $ref: '#/components/schemas/Group'
        language:
          type: string
          description: Language
        auth:
          $ref: '#/components/schemas/Auth'
        external:
          $ref: '#/components/schemas/External'
        company:
          type: string
          description: Company
        delivery:
          $ref: '#/components/schemas/Delivery'
        updated:
          type: string
          format: date-time
          description: Updated
        phone:
          type: string
          description: Phone
        userCustomFields:
          type: array
          description: UserCustomFields
          items:
            $ref: '#/components/schemas/UserCustomField'
        professionalIdentityFields:
          type: array
          description: ProfessionalIdentityFields
          items:
            $ref: '#/components/schemas/ProfessionalIdentityField'
        title:
          type: string
          description: Title
        firstName:
          type: string
          description: FirstName
        lastName:
          type: string
          description: LastName
        email:
          type: string
          description: Email
        knowledgeBasedAuthentication:
          $ref: '#/components/schemas/KnowledgeBasedAuthentication'
        digipassAuthentication:
          type: boolean
          description: Digipass authentication
        signerType:
          type: string
          description: SignerType
          enum:
            - ACCOUNT_SENDER
            - EXTERNAL_SENDER
            - EXTERNAL_SIGNER
            - GROUP_SIGNER
            - AD_HOC_GROUP_SIGNER
        notificationMethods:
          $ref: '#/components/schemas/NotificationMethods'
        timezoneId:
          type: string
          description: TimezoneId
        specialTypes:
          type: array
          description: Special User Types
          items:
            type: string
            enum:
              - NOTARY
    SignerAuthenticationToken:
      type: object
      required:
        - packageId
        - signerId
        - value
      properties:
        packageId:
          type: string
          description: Package Id
        signerId:
          type: string
          description: Signer Id
        sessionFields:
          $ref: '#/components/schemas/SessionFields'
        value:
          type: string
          description: Value
    SignerInformationForLexisNexis:
      type: object
      required:
        - firstName
        - lastName
        - city
        - zip
      properties:
        firstName:
          type: string
          description: FirstName of the LexisNexis Information Object
          example: John
        lastName:
          type: string
          description: LastName of the LexisNexis Information Object
          example: Dove
        city:
          type: string
          description: City of the LexisNexis Information Object
          example: San Fransisco
        zip:
          type: string
          description: >-
            Zip of the LexisNexis Information Object. Zip should be always
            5-digit
          example: '12345'
        state:
          type: string
          description: State of the LexisNexis Information Object
          example: California
        houseName:
          type: string
          description: HouseName of the LexisNexis Information Object
          example: Apartment
        flatOrApartmentNumber:
          type: string
          description: FlatOrApartmentNumber of the LexisNexis Information Object
          example: '1234'
        houseNumber:
          type: string
          description: HouseNumber of the LexisNexis Information Object
          example: '10'
        socialSecurityNumber:
          type: string
          description: >-
            SocialSecurityNumber of the LexisNexis Information Object. SSN
            should be 9-digit number or final 4 digits
          example: 123-45-6789 or 6789
        dateOfBirth:
          type: string
          format: date-time
          description: >-
            DateOfBirth of the LexisNexis Information Object - format
            "DD-MM-YYYY"
          example: 30-01-2023
    SigningUrl:
      type: object
      properties:
        packageId:
          type: string
          description: Package Id
        roleId:
          type: string
          description: Role Id
        url:
          type: string
          description: URL
    Style:
      type: object
      properties:
        color:
          type: string
          description: Color
        backgroundColor:
          type: string
          description: BackgroundColor
    SupportConfiguration:
      type: object
      properties:
        phone:
          type: string
          description: Phone
        email:
          type: string
          description: Email
    TextualSignatureStyle:
      type: object
      properties:
        color:
          type: string
          description: Color
        font:
          type: string
          description: Font
    TitleBarOptions:
      type: object
      required:
        - progressBar
        - title
      properties:
        title:
          type: boolean
          description: Title
        progressBar:
          type: boolean
          description: ProgressBar
    Transaction:
      type: object
      required:
        - created
        - creditCard
        - price
      properties:
        created:
          type: string
          format: date-time
          description: Created
        price:
          $ref: '#/components/schemas/Price'
        creditCard:
          $ref: '#/components/schemas/CreditCard'
    Translation:
      type: object
      required:
        - language
      properties:
        data:
          type: object
          description: Data
          additionalProperties:
            type: object
        description:
          type: string
          description: Description
        id:
          type: string
          description: Id
        language:
          type: string
          description: Language
        name:
          type: string
          description: Name
    UsageReport:
      type: object
      properties:
        from:
          type: string
          format: date-time
        to:
          type: string
          format: date-time
        senders:
          description: The usage list
          type: array
          items:
            $ref: '#/components/schemas/Sender'
        totalCount:
          description: Tocal record count
          type: integer
          minimum: 0
    TransactionSummaryReport:
      type: object
      properties:
        content:
          description: The transaction list
          type: array
          items:
            $ref: '#/components/schemas/PackageSummary'
        totalElements:
          description: 'Total records count, used for pagination'
          type: integer
    User:
      type: object
      required:
        - company
        - created
        - email
        - firstName
        - id
        - lastName
        - name
        - professionalIdentityFields
        - timezoneId
        - updated
        - userCustomFields
      properties:
        address:
          $ref: '#/components/schemas/Address'
        language:
          type: string
          description: Language
        name:
          type: string
          description: Name
        signature:
          $ref: '#/components/schemas/SignatureStyle'
        created:
          type: string
          format: date-time
          description: Created
        id:
          type: string
          description: Id
        data:
          type: object
          description: Data
          additionalProperties:
            type: object
        title:
          type: string
          description: Title
        userCustomFields:
          type: array
          description: UserCustomFields
          items:
            $ref: '#/components/schemas/UserCustomField'
        timezoneId:
          type: string
          description: TimezoneId
        external:
          $ref: '#/components/schemas/External'
        professionalIdentityFields:
          type: array
          description: ProfessionalIdentityFields
          items:
            $ref: '#/components/schemas/ProfessionalIdentityField'
        company:
          type: string
          description: Company
        updated:
          type: string
          format: date-time
          description: Updated
        phone:
          type: string
          description: Phone
        specialTypes:
          type: array
          description: Special User Types
          items:
            type: string
            enum:
              - NOTARY
        firstName:
          type: string
          description: FirstName
        lastName:
          type: string
          description: LastName
        email:
          type: string
          description: Email
    UserCustomField:
      type: object
      required:
        - id
        - name
      properties:
        value:
          type: string
          description: Value
        name:
          type: string
          description: Name
        id:
          type: string
          description: Id
        data:
          type: object
          description: Data
          additionalProperties:
            type: object
        translations:
          type: array
          description: Translations
          items:
            $ref: '#/components/schemas/Translation'
    Verification:
      type: object
      required:
        - typeId
        - payload
      properties:
        typeId:
          type: string
          description: Type id
        payload:
          type: string
          description: Payload
    SigningThemesConfig:
      type: object
      additionalProperties:
        $ref: '#/components/schemas/SigningTheme'
    SigningTheme:
      type: object
      required:
        - color
      properties:
        color:
          $ref: '#/components/schemas/SigningColor'
    SigningColor:
      type: object
      additionalProperties:
        type: string
    SigningLogos:
      type: array
      items:
        $ref: '#/components/schemas/SigningLogo'
      example:
        - language: en
          image: >-
            data:image/png;base64,iVBORw0KGgoAAAANSUhEUgA......oziOudIAAAAASUVORK5CYII=
        - language: fr
          image: >-
            data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQ......GUjSDJhswDKRpBkw2YH/2Q==
    SigningLogo:
      type: object
      required:
        - language
        - image
      properties:
        language:
          type: string
          description: Language key
          enum:
            - en
            - fr
            - it
            - ru
            - es
            - pt
            - de
            - nl
            - da
            - el
            - zh-CN
            - zh-TW
            - ja
            - ko
        image:
          type: string
          format: binary
          example: <Base 64 Image Binary Data>
          description: Base64 encoded image
    SigningUiOptions:
      type: object
      description: Signing UI Options
      properties:
        completeSummaryOptions:
          $ref: '#/components/schemas/CompleteSummaryOptions'
        inpersonWelcomeOptions:
          $ref: '#/components/schemas/InpersonWelcomeOptions'
        inpersonHostThankYouOptions:
          $ref: '#/components/schemas/InpersonHostThankYouOptions'
        notaryWelcomeOptions:
          $ref: '#/components/schemas/NotaryWelcomeOptions'
        notaryHostThankYouOptions:
          $ref: '#/components/schemas/NotaryHostThankYouOptions'
        overviewOptions:
          $ref: '#/components/schemas/OverviewOptions'
    CompleteSummaryOptions:
      type: object
      required:
        - title
        - message
        - download
        - review
        - continue
        - documentSection
        - uploadSection
      properties:
        title:
          type: boolean
          description: title
        message:
          type: boolean
          description: message
        download:
          type: boolean
          description: download
        review:
          type: boolean
          description: review
        continue:
          type: boolean
          description: continue
        documentSection:
          type: boolean
          description: documentSection
        uploadSection:
          type: boolean
          description: uploadSection
    InpersonWelcomeOptions:
      type: object
      required:
        - title
        - body
        - recipientName
        - recipientEmail
        - recipientActionRequired
        - recipientRole
        - recipientStatus
      properties:
        title:
          type: boolean
          description: title
        body:
          type: boolean
          description: body
        recipientName:
          type: boolean
          description: recipientName
        recipientEmail:
          type: boolean
          description: recipientEmail
        recipientActionRequired:
          type: boolean
          description: recipientActionRequired
        recipientRole:
          type: boolean
          description: recipientRole
        recipientStatus:
          type: boolean
          description: recipientStatus
    InpersonHostThankYouOptions:
      type: object
      required:
        - title
        - body
        - recipientName
        - recipientEmail
        - recipientRole
        - recipientStatus
        - downloadButton
        - reviewDocumentsButton
      properties:
        title:
          type: boolean
          description: title
        body:
          type: boolean
          description: body
        recipientName:
          type: boolean
          description: recipientName
        recipientEmail:
          type: boolean
          description: recipientEmail
        recipientRole:
          type: boolean
          description: recipientRole
        recipientStatus:
          type: boolean
          description: recipientStatus
        downloadButton:
          type: boolean
          description: downloadButton
        reviewDocumentsButton:
          type: boolean
          description: reviewDocumentsButton
    NotaryWelcomeOptions:
      type: object
      required:
        - title
        - body
        - recipientName
        - recipientEmail
        - recipientActionRequired
        - notaryTag
        - recipientRole
        - recipientStatus
      properties:
        title:
          type: boolean
          description: title
        body:
          type: boolean
          description: body
        recipientName:
          type: boolean
          description: recipientName
        recipientEmail:
          type: boolean
          description: recipientEmail
        recipientActionRequired:
          type: boolean
          description: recipientActionRequired
        notaryTag:
          type: boolean
          description: notaryTag
        recipientRole:
          type: boolean
          description: recipientRole
        recipientStatus:
          type: boolean
          description: recipientStatus
    NotaryCommission:
      type: object
      properties:
        name:
          description: Notary commission name
          type: string
        number:
          description: License number
          format: int32
          type: integer
        expirationDate:
          description: License expiration date
          format: date-time
          type: string
        jurisdiction:
          description: License jurisdiction
          type: string
        country:
          description: License country
          type: string
        confirmed:
          description: License confirmed
          type: boolean
    NotaryCommissionSeal:
      type: object
      required:
        - fileName
        - mediaType
        - content
      properties:
        fileName:
          type: string
          description: File name
        mediaType:
          type: string
          description: Media type
        content:
          type: string
          format: binary
          example: <Base 64 Image Binary Data>
          description: >-
            Base64 encoded image. Valid media types are image/png and image/jpeg
            with size up to 1MiB.
    NotaryCommissionSettings:
      type: object
      properties:
        authority:
          description: >-
            Indicates the notary's commission authority. This commission can be
            valid either for In Person Notarization (IPEN) only, or for both
            IPEN and Remote Online Notarization (RON).
          type: string
          enum:
            - IPEN
            - IPEN_AND_RON
        ipenAppliesToRon:
          description: >-
            With an IPEN commission, indicates whether or not this commission
            also applies to RON transactions.
          type: boolean
        ipenCommision:
          description: >-
            Indicates whether or not this is commission is for IPEN. If
            "ipenAppliesToRon" is set to 'true' then this commission also
            applies to RON transactions. Note that if a notary has commissions
            for both IPEN and RON the returned payload could be different for
            each commission. For example, there could be a license number for
            the IPEN commission, and a different license number for the RON
            commission.
          $ref: '#/components/schemas/ExtendedNotaryCommission'
        ronCommision:
          description: >-
            Indicates whether or not this is commission is for Remote Online
            Notarization. If "ipenAppliesToRon" is set to 'true' then this value
            should be 'null'.
          $ref: '#/components/schemas/ExtendedNotaryCommission'
        confirmed:
          description: >-
            Indicates whether or not the notary has agreed to the Terms of
            Service, certified that they are an authorized notary, and confirmed
            the validity of all provided notary commission data.
          type: boolean
        name:
          description: Notary commission name
          type: string
    ExtendedNotaryCommission:
      type: object
      properties:
        number:
          description: The official license or commission number for the notary.
          type: string
        expirationDate:
          description: The date the notary's license expires.
          format: date-time
          type: string
        expirationDateNotApplicable:
          description: If set to 'true' then the notary's license number will not expire.
          type: boolean
        jurisdiction:
          description: >
            The license jurisdiction. This can be a State, Province, or region.
            For United States or Canada this will be a two letter state or
            province code. For other locations this could be the province or
            region name. Examples: 'CA', 'WA', 'Tyrol', 'Styria'
          type: string
        country:
          description: >
            The country the license is valid for. Examples: 'US', 'CA', 'AT'
            (respectively: the United States, Canada, Austria)
          type: string
        seal:
          $ref: '#/components/schemas/NotaryCommissionSeal'
    NotaryHostThankYouOptions:
      type: object
      required:
        - title
        - body
        - recipientName
        - recipientEmail
        - recipientRole
        - notaryTag
        - recipientStatus
        - downloadButton
        - reviewDocumentsButton
      properties:
        title:
          type: boolean
          description: title
        body:
          type: boolean
          description: body
        recipientName:
          type: boolean
          description: recipientName
        recipientEmail:
          type: boolean
          description: recipientEmail
        recipientRole:
          type: boolean
          description: recipientRole
        notaryTag:
          type: boolean
          description: notaryTag
        recipientStatus:
          type: boolean
          description: recipientStatus
        downloadButton:
          type: boolean
          description: downloadButton
        reviewDocumentsButton:
          type: boolean
          description: reviewDocumentsButton
    OverviewOptions:
      type: object
      required:
        - title
        - body
        - documentSection
        - uploadSection
      properties:
        title:
          type: boolean
          description: title
        body:
          type: boolean
          description: body
        documentSection:
          type: boolean
          description: documentSection
        uploadSection:
          type: boolean
          description: uploadSection
    AccountConfiguration:
      type: object
      description: Account Configuration
      properties:
        accountFeatureSettings:
          $ref: '#/components/schemas/AccountFeatureSettings'
        accountPackageSettings:
          $ref: '#/components/schemas/AccountPackageSettings'
    AccountFeatureSettings:
      type: object
      required:
        - allowInPersonForAccountSenders
        - attachments
        - conditionalFields
        - customFields
        - delegation
        - disableFooter
        - disableInPersonActivationEmail
        - documentVisibility
        - emailDocumentsAndEvidenceSummary
        - enforceAuth
        - evidenceSummary
        - flattenSignerDocuments
        - forceLogin
        - groups
        - maskResponse
        - mobileCapture
        - optionalSignature
        - preventConsentRemoval
        - qnaAuth
        - sendToMobile
        - uploadSignatureImage
        - inAppReports
        - forceTransactionOwnerLogin
        - deliverDocumentsByEmail
        - allowCheckboxConsentApproval
        - passwordManagement
        - limitSupportedLanguages
      properties:
        groups:
          type: boolean
          description: Specifies whether Groups are available in the account.
        attachments:
          type: boolean
          description: >-
            Specifies whether the Attachments feature will be available in the
            account.
        flattenSignerDocuments:
          type: boolean
          description: >
            Specifies whether documents downloaded or sent via email are
            flattened before being sent.


            When set to True, documents will always be flattened.


            When set to False, documents downloaded before the transaction is
            completed will be flattened, while those downloaded after the
            transaction is completed will remain active.


            Note that this setting only applies for signers.
        delegation:
          type: boolean
          description: >-
            Specifies whether the Delegation feature will be available in the
            account.
        documentVisibility:
          type: boolean
          description: >-
            Specifies whether the Document Visibility feature will be available
            in the account.
        customFields:
          type: boolean
          description: Specifies whether Custom Fields are available in the account.
        sendToMobile:
          type: boolean
          description: >-
            Specifies whether the Send to Mobile option will be available to the
            signers.
        optionalSignature:
          type: boolean
          description: Specifies whether signatures can be flagged as optional.
        evidenceSummary:
          type: boolean
          description: >-
            Specifies whether the transaction owner will receive the evidence
            summary as an email attachment.
        forceLogin:
          type: boolean
          description: >-
            Specifies whether a recipient, who is also an account sender, must
            log in to OneSpan Sign before accessing the signing ceremony.
        qnaAuth:
          type: boolean
          description: >-
            Specifies whether Q&A authentication is available for recipients
            when accessing the Designer page and when sending transactions.
        enforceAuth:
          type: boolean
          description: >-
            Specifies whether an authentication method (SMS, Q&A, or KBA) is
            required for recipients in a transaction. This requirement applies
            when accessing the Designer page and when sending transactions.
        mobileCapture:
          type: boolean
          description: >-
            Specifies whether the Mobile Capture signature type will be
            available when preparing documents for signing.
        maskResponse:
          type: boolean
          description: >-
            Allows setting the default value of the "Mask response" toggle for
            Q&A authentication, both through the UI and when configured via an
            API.
        allowInPersonForAccountSenders:
          type: boolean
          description: >-
            Specifies if senders within the same account can view the in-person
            recipient switcher when they are not the owner of the transaction.
        disableInPersonActivationEmail:
          type: boolean
          description: >-
            Specifies whether signers in an in-person transaction will receive
            an email invitation to sign.
        emailDocumentsAndEvidenceSummary:
          type: boolean
          description: >-
            Specifies whether both the signed documents and the Evidence Summary
            will be sent by email upon completing the transaction. If set to
            true, both will be sent. If set to false, the "evidencesummary"
            setting will be checked. If "evidencesummary" is true, only the
            Evidence Summary will be sent. If both settings are false, no
            documents will be sent upon completion.
        disableFooter:
          type: boolean
          description: Specifies whether the footer is displayed within the application.
        preventConsentRemoval:
          type: boolean
          description: >-
            Specifies whether senders can remove the Electronic Consent Document
            from a template or transaction.
        conditionalFields:
          type: boolean
          description: >-
            Specifies whether the conditional fields feature is enabled for the
            account.
        uploadSignatureImage:
          type: boolean
          description: >-
            Specifies whether the option to upload a captured signature from a
            file is enabled for configuring 'Capture signature' type signatures.
        inAppReports:
          type: boolean
          description: >-
            Specifies whether the In App Reports feature is enabled for the
            account.
        forceTransactionOwnerLogin:
          type: boolean
          description: >-
            Specifies whether a transaction owner must login to the sender UI
            before they can sign any document.
        deliverDocumentsByEmail:
          type: boolean
          description: >-
            Specifies whether the transaction owner can enable email delivery of
            documents to signers.
        allowCheckboxConsentApproval:
          type: boolean
          description: >-
            Specifies whether the signer is permitted to accept the electronic
            consent document directly from the top of the document, without the
            need to scroll down.
        passwordManagement:
          type: boolean
          description: >-
            Specifies whether the password management feature is enabled for the
            account.
        limitSupportedLanguages:
          type: boolean
          description: >-
            Enables limiting the list of supported languages for signing, in
            conjunction with the supported languages resource.
    AccountPackageSettings:
      type: object
      required:
        - ada
        - declineButton
        - disableDeclineOther
        - disableDownloadForUncompletedPackage
        - disableFirstInPersonAffidavit
        - disableInPersonAffidavit
        - disableSecondInPersonAffidavit
        - enforceCaptureSignature
        - extractAcroFields
        - extractTextTags
        - hideCaptureText
        - hideLanguageDropdown
        - hidePackageOwnerInPerson
        - hideWatermark
        - inPerson
        - leftMenuExpand
        - optionalNavigation
        - showNseHelp
        - showNseLogoInIframe
        - showNseOverview
        - defaultTimeBasedExpiry
        - globalActionsConfirm
        - globalActionsDownload
        - globalActionsHideEvidenceSummary
        - textAlignment
      properties:
        enforceCaptureSignature:
          type: boolean
          description: EnforceCaptureSignature
        inPerson:
          type: boolean
          description: InPerson
        declineButton:
          type: boolean
          description: DeclineButton
        disableDeclineOther:
          type: boolean
          description: DisableDeclineOther
        disableDownloadForUncompletedPackage:
          type: boolean
          description: DisableDownloadForUncompletedPackage
        disableFirstInPersonAffidavit:
          type: boolean
          description: DisableFirstInPersonAffidavit
        disableInPersonAffidavit:
          type: boolean
          description: DisableInPersonAffidavit
        disableSecondInPersonAffidavit:
          type: boolean
          description: DisableSecondInPersonAffidavit
        hideCaptureText:
          type: boolean
          description: HideCaptureText
        hideLanguageDropdown:
          type: boolean
          description: HideLanguageDropdown
        hidePackageOwnerInPerson:
          type: boolean
          description: HidePackageOwnerInPerson
        hideWatermark:
          type: boolean
          description: HideWatermark
        extractAcroFields:
          type: boolean
          description: ExtractAcroFields
        extractTextTags:
          type: boolean
          description: ExtractTextTags
        ada:
          type: boolean
          description: Ada
        leftMenuExpand:
          type: boolean
          description: LeftMenuExpand
        optionalNavigation:
          type: boolean
          description: OptionalNavigation
        showNseHelp:
          type: boolean
          description: ShowNseHelp
        showNseLogoInIframe:
          type: boolean
          description: ShowNseLogoInIframe
        showNseOverview:
          type: boolean
          description: ShowNseOverview
        defaultTimeBasedExpiry:
          type: boolean
          description: DefaultTimeBasedExpiry
        globalActionsConfirm:
          type: boolean
          description: GlobalActionsConfirm
        globalActionsDownload:
          type: boolean
          description: GlobalActionsDownload
        globalActionsHideEvidenceSummary:
          type: boolean
          description: GlobalActionsHideEvidenceSummary
        textAlignment:
          type: string
          description: 'Text alignment can be (left,right,center)'
    AccountSystemSettings:
      type: object
      properties:
        senderLoginMaxFailedAttempts:
          type: integer
          minimum: 1
          maximum: 10
          description: >-
            Defines the maximum number of times a sender can attempt an
            authentication before they are locked out.
        loginSessionTimeout:
          type: integer
          minimum: 1
          maximum: 36000000
          description: >-
            Defines the amount of time after which a sender's and signer's login
            session will expire. This is defined in milliseconds. The default
            value is 30 minutes. The maximum value that can be set for this
            property is 9 hours. (This value must always be higher than
            esl.login.session.timeout.warning.)
        sessionTimeoutWarning:
          type: integer
          minimum: 1
          maximum: 36000000
          description: >-
            Defines the amount of time before the expiry to display a warning to
            the signer with the option to extend the signing session. This is
            defined in milliseconds. The default value is 5 minutes. This
            applies only to the new signer experience. (This value must always
            be lower than esl.login.session.timeout.)
    AccountDesignerSettings:
      type: object
      properties:
        send:
          type: boolean
          description: >-
            Defines whether or not you see the "Send" button in the Transaction
            Designer.
        done:
          type: boolean
          description: >-
            Defines whether or not you see the "Done" button in the Template
            Designer.
        settings:
          type: boolean
          description: >-
            Defines whether or not you see the "Settings" link (to access the
            Package Edit screen).
        documentVisibility:
          type: boolean
          description: >-
            Defines whether or not you see the "Document Visibility" icon in the
            Designer.
        addDocument:
          type: boolean
          description: >-
            Defines whether or not you see the "Add" ("+") button in the
            Documents pane.
        editDocument:
          type: boolean
          description: >-
            Defines whether or not you see the "Edit" (pencil) button in the
            Documents pane.
        deleteDocument:
          type: boolean
          description: >-
            Defines whether or not you see the "Delete" (trash) button in the
            Documents pane.
        addSigner:
          type: boolean
          description: >-
            Defines whether or not you see the "Add" ("+") button in the
            Recipients pane.
        editRecipient:
          type: boolean
          description: >-
            Defines whether or not you see the "edit" link per recipient in the
            Recipients pane.
        rolePickerSender:
          type: boolean
          description: >-
            Defines whether or not you see the transaction or template owner in
            the Recipients pane.
        saveLayout:
          type: boolean
          description: Defines whether or not you see the "Save Layout" button.
        applyLayout:
          type: boolean
          description: Defines whether or not you see the "Apply Layout" button.
        showSharedLayouts:
          type: boolean
          description: >-
            Defines whether or not the "Show shared layouts" toggle will be
            enabled by default when accessing the Apply Layout screen. If a
            sender switches the toggle and saves (applies a layout), their
            preference will take precedence over this setting.
        defaultSignatureType:
          type: string
          description: >-
            Defines the default signature type that will be used when a
            "Signature" field is added to a document.  Possible values are:

            "Sign" for a Click-to-sign signature "Capture" for a Capture
            signature "Mobile" for a mobile capture signature If a different
            value is provided, it will be ignored and default to Click-to-sign.

            This setting is not applicable to the "Initials" field.

            User can always change the signature type using the UI.
    AccountSupportedLanguages:
      type: object
      required:
        - defaultSignerLanguage
        - signerLanguages
      properties:
        defaultSignerLanguage:
          type: string
          description: Defines the default signing language.
          example: en
        signerLanguages:
          type: array
          description: Defines the list of supported signing languages.
          items:
            type: string
          example:
            - fr
            - en
    VirtualRoom:
      type: object
      properties:
        video:
          type: boolean
          default: false
        videoRecording:
          type: boolean
          default: false
        startDatetime:
          description: meeting start date and time
          type: string
          format: date-time
    IdvWorkflow:
      type: object
      properties:
        id:
          type: string
          description: 00000000-0000-0001-0000-200000000055
        type:
          type: string
          description: DV
        tenant:
          type: string
          description: oss
        desc:
          type: string
          description: This is Mitek Document verification only Mock workflow.
        skipWhenAccessingSignedDocuments:
          type: boolean
    IdvEvsJson:
      type: object
      required:
        - package-id
        - idv-audit-trail
      properties:
        package-id:
          type: string
          description: The generated Universally Unique Identifier (UUID) of the package.
          example: RequiredPackageId
        idv-audit-trail:
          type: array
          description: The array of IDV evidence summary object.
          items:
            $ref: '#/components/schemas/IdvAuditTrail'
    IdvAuditTrail:
      type: object
      required:
        - signerName
        - signerId
        - idvSupplementalInformationMap
      properties:
        signerName:
          type: string
          description: The person signing the transaction.
          example: SignerName
        signerId:
          type: string
          description: The generated Universally Unique Identifier (UUID) of the signer.
          example: SignerId
        idvSupplementalInformationMap:
          type: object
          description: The IDV supplemental information map.
          properties:
            idvTransactionId:
              type: string
              description: >-
                The generated Universally Unique Identifier (UUID) of the IDV
                transaction.
              example: 98a8e54c-a57a-4179-a802-b42355456879
            idvSupplementalInformation:
              type: object
              description: The IDV supplemental information.
              $ref: '#/components/schemas/IdvSupplementalInformation'
    IdvSupplementalInformation:
      type: object
      required:
        - attemptNumber
        - idVerificationAttemptWithResult
        - idVerificationPersonalInformationList
        - idVerificationDocInformationList
      properties:
        attemptNumber:
          type: integer
          description: >-
            The IDV attempt number. For example, the first attempt would be 1,
            the second attempt would be 2.
          example: 1
        idVerificationAttemptWithResult:
          type: object
          description: The id verification attempt with result.
          $ref: '#/components/schemas/IdVerificationAttemptWithResult'
        idVerificationPersonalInformationList:
          type: array
          description: The list of personal information.
          items:
            $ref: '#/components/schemas/IdVerificationPersonalInformation'
        idVerificationDocInformationList:
          type: array
          description: The list of document information.
          items:
            $ref: '#/components/schemas/IdVerificationDocInformation'
    IdVerificationDocInformation:
      type: object
      required:
        - zone
        - type
        - issuingAuthority
        - issuingCountry
        - issuingState
        - nationality
        - number
        - identificationNumber
        - expiryDate
        - issueDate
      properties:
        zone:
          type: string
          description: 'The zone of document, its value could be [VIZ | MRZ | Common Zone].'
          example: VIZ
        type:
          type: string
          description: >-
            The type of document being used for verification purposes. Possible
            values are [Passport, ID Card, Barcode, Driving Licence].
          example: Passport
        issuingAuthority:
          type: string
          description: >-
            The entity performing the authentication of the document. For
            example, a passport office. This value is returned by the IDV
            provider.
          example: TheIssuingAuthority
        issuingCountry:
          type: string
          description: >-
            The country code for the counrty that issued the document being used
            for verification.
          example: CA
        issuingState:
          type: string
          description: >-
            The provincial or state code for the province or state that issued
            the document being used for verification.
          example: QC
        nationality:
          type: string
          description: The nationality code for the document being used for verification.
          example: CA
        number:
          type: string
          description: The number of the document.
          example: YourDocumentNumber
        identificationNumber:
          type: string
          description: The identification number for the document.
          example: YourIdNumber
        expiryDate:
          type: string
          description: >-
            The expiry date of the document. Date format is
            "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'".
          example: 2030-01-01T10:20:05.123Z
        issueDate:
          type: string
          description: >-
            The issue date of the document. Date format is
            "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'".
          example: 2020-01-01T10:20:05.123Z
    IdVerificationPersonalInformation:
      type: object
      required:
        - zone
        - firstName
        - lastName
        - dob
        - gender
        - nationality
        - address
      properties:
        zone:
          type: string
          description: >-
            The zone of personal information, its value could be [VIZ | MRZ |
            Common Zone].
          example: VIZ
        firstName:
          type: string
          description: The first name of a person.
          example: YourFirstName
        lastName:
          type: string
          description: The last name of a person.
          example: YourLastName
        dob:
          type: string
          description: The date of birth of a person. Its format is "yyyy-MM-dd'
          example: 1999-12-1
        gender:
          type: string
          description: 'THe gender of a person, its value could be [Male | Female | Unknown]'
          example: Male
        nationality:
          type: string
          description: THe nationality of a person.
          example: CA
        address:
          type: string
          description: The address of a person.
          example: YourAddress
    IdVerificationAttemptWithResult:
      type: object
      required:
        - result
        - created
        - idVerificationAttempts
      properties:
        result:
          type: string
          description: 'The verification result. Possible values are [Passed | Failed].'
          example: Passed
        created:
          type: string
          description: >-
            The creation time stamp. Its format is
            "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'".
          example: 2023-09-09T10:20:01.123Z
        idVerificationAttempts:
          type: array
          description: An array of Id verification attempt object
          items:
            $ref: '#/components/schemas/IdVerificationAttempt'
    IdVerificationAttempt:
      type: object
      required:
        - matchType
        - submitted
        - extracted
        - score
        - threshold
        - affectStatus
        - status
      properties:
        matchType:
          type: string
          description: >-
            The IDV match type, its value could be [Full Name | Partial Name |
            Date of Birth | Face Similarity | Document Number | Liveness |
            Document Authenticated | Supported Document | Provisional Document |
            Expiry Date | Address | Selfie Authenticity]
          example: Name
        submitted:
          type: string
          description: The IDV submitted data.
          example: SubmittedName
        extracted:
          type: string
          description: The IDV extracted provider data.
          example: ExtractedName
        score:
          type: string
          description: 'The calculated score, it is between 0 and 1.0.'
          example: 1
        threshold:
          type: string
          description: 'The threshold from configuration, it is between 0 and 1.0.'
          example: 0.99
        affectStatus:
          type: string
          description: 'To affect status or not, its value could be [YES | NO].'
          example: 'Yes'
        status:
          type: string
          description: 'The status, it could be [Matched | MisMatched].'
          example: Matched
    DvrImageInformation:
      type: object
      required:
        - type
        - detail
        - url
      properties:
        type:
          type: string
          description: >-
            The type of image, the possible values could be [Selfie | Passport |
            ID Card].
          example: Selfie
        detail:
          type: string
          description: >-
            The details about image, for selfie its value could be [passport
            front | passport back | selfie | selfie smile]
          example: DetailsOfImage
        url:
          type: string
          description: 'The URL of image to download, it must start with "sfs://".'
          example: 'sfs://server/pathOfImage'
    DvrImageUrl:
      type: object
      required:
        - signerName
        - email
        - idvImages
      properties:
        signerName:
          type: string
          description: The person signing the transaction.
          example: SignerName
        email:
          type: string
          description: >-
            The signer's email. Email format must be
            <signer_name>@<domain_name>.
          example: aSigner@gmail.com
        idvImages:
          type: object
          description: The image object in IDV
          required:
            - singerId
            - transactionImage
          properties:
            singerId:
              type: string
              description: >-
                The generated Universally Unique Identifier (UUID) of the
                signer.
              example: SignerId
            transactionImage:
              type: object
              required:
                - idvTransactionId
                - attemptNumber
                - imageInformationList
              description: The image related IDV transaction
              properties:
                idvTransactionId:
                  type: string
                  description: >-
                    The generated Universally Unique Identifier (UUID) of the
                    IDV transaction.
                  example: 98a8e54c-a57a-4179-a802-b42355456879
                attemptNumber:
                  type: integer
                  description: >-
                    The IDV attempt number. For example, the first attempt would
                    be 1, the second attempt would be 2.
                  example: 1
                imageInformationList:
                  type: array
                  description: >-
                    The list of image information from Detailed Verification
                    Report.
                  items:
                    $ref: '#/components/schemas/DvrImageInformation'
    DvrImageUrls:
      type: array
      description: >-
        A list of all image URLs that appear in the Detailed Verification
        Report.
      items:
        $ref: '#/components/schemas/DvrImageUrl'
    SignatureLayout:
      type: object
      properties:
        logo:
          $ref: '#/components/schemas/SignatureLogo'
        captureLayout:
          $ref: '#/components/schemas/CaptureLayout'
    CaptureLayout:
      type: object
    SignatureLogo:
      type: object
      required:
        - image
      properties:
        image:
          type: string
          format: binary
          example: <Base 64 Image Binary Data>
          description: Base64 encoded image
    DefaultError:
      required:
        - code
        - message
      properties:
        code:
          type: integer
          format: int32
        messageKey:
          type: string
        message:
          type: string
    SubAccount:
      type: object
      required:
        - parentAccountId
        - name
      properties:
        parentAccountId:
          type: string
          description: ParentAccountId
        name:
          type: string
          description: Name
        timezoneId:
          type: string
          description: TimezoneId
        language:
          $ref: '#/components/schemas/Language'
    SubAccountApiKeys:
      type: object
      required:
        - accountUid
        - accountName
        - apiKey
      properties:
        accountUid:
          type: string
          description: SubAccount Id
        accountName:
          type: string
          description: SubAccount Name
        apiKey:
          type: string
          description: SubAccount API Key
    AccessibleAccountResponse:
      type: object
      required:
        - accountUid
        - accountName
      properties:
        accountUid:
          type: string
          description: SubAccount Id
        accountName:
          type: string
          description: SubAccount Name
    Language:
      type: string
      enum:
        - en
        - fr
        - it
        - ru
        - es
        - pt
        - de
        - nl
        - da
        - el
        - zh-CN
        - zh-TW
        - ja
        - ko
    UserAccountRole:
      type: object
      required:
        - accountId
        - accountRoles
      properties:
        accountId:
          type: string
          description: account Id
        userId:
          type: string
          description: user Id
        accountRoles:
          type: array
          description: accountrole list
          items:
            $ref: '#/components/schemas/AccountRole'
    IntegrationFrameworkWorkflows:
      type: object
      required:
        - name
        - connector
      properties:
        name:
          type: string
          description: Workflow used for connector.
          example: IPAAS-workato
        connector:
          type: string
          description: Connector used for archiving transaction.
          enum:
            - SFTP
            - IPAAS
  links:
    getPackageId:
      description: >-
        The id value retured in the response, can be used in get
        /api/packages/{packageId} api call.
      operationId: api.packages._packageId.get
      parameters:
        packageId: $response.body#/id
  responses:
    ResourceNotFound:
      description: The specified resource was not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/DefaultError'
    NotAuthorized:
      description: Not Authorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/DefaultError'
    UnexpectedError:
      description: Unexpected error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/DefaultError'
    ValidationError:
      description: Validation error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/DefaultError'
    NotAcceptable:
      description: Not acceptable error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/DefaultError'
    AccessDenied:
      description: Access Denied error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/DefaultError'
    ForbiddenError:
      description: Forbidden
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/DefaultError'
    PackageId:
      description: OK
      content:
        application/json:
          schema:
            type: object
            properties:
              id:
                type: string
                description: The new transaction id.
                example: Esdfasd0sdf08gdfg3njkfg0345dg=
    ResultDocumentVisibility:
      description: OK
      content:
        application/json:
          schema:
            type: object
            properties:
              configurations:
                description: The list of document visibility configurations
                type: array
                items:
                  $ref: '#/components/schemas/DocumentVisibilityConfiguration'
              id:
                type: string
              data:
                type: object
                description: Data
                additionalProperties:
                  type: object
              name:
                type: string
    ResultGroups:
      description: OK
      content:
        application/json:
          schema:
            type: object
            properties:
              count:
                type: integer
                minimum: 0
              results:
                description: The groups list
                type: array
                items:
                  $ref: '#/components/schemas/Group'
    ResultGroupSummary:
      description: OK
      content:
        application/json:
          schema:
            type: object
            properties:
              count:
                type: integer
                minimum: 0
              results:
                description: The Group Summary list
                type: array
                items:
                  $ref: '#/components/schemas/GroupSummary'
    ResultPackages:
      description: OK
      content:
        application/json; esl-api-version=11:
          schema:
            type: object
            properties:
              count:
                type: integer
                minimum: 0
              results:
                description: The transactions list
                type: array
                items:
                  $ref: '#/components/schemas/Package'
    ResultRoles:
      description: OK
      content:
        application/json:
          schema:
            type: object
            properties:
              count:
                type: integer
                minimum: 0
              results:
                description: The roles list
                type: array
                items:
                  $ref: '#/components/schemas/Role'
    ResultLayouts:
      description: OK
      content:
        application/json; esl-api-version=11:
          schema:
            type: object
            properties:
              count:
                type: integer
                minimum: 0
              results:
                description: The layouts list
                type: array
                items:
                  $ref: '#/components/schemas/Role'
    ResultSenders:
      description: OK
      content:
        application/json:
          schema:
            type: object
            properties:
              count:
                type: integer
                minimum: 0
              results:
                description: The senders list
                type: array
                items:
                  $ref: '#/components/schemas/Sender'
    ResultAccountRoles:
      description: OK
      content:
        application/json:
          schema:
            type: object
            properties:
              count:
                type: integer
                minimum: 0
              results:
                description: The account role list
                type: array
                items:
                  $ref: '#/components/schemas/AccountRole'
    ResultReportSummary:
      description: OK
      content:
        application/json:
          schema:
            type: object
            properties:
              lastModified:
                type: string
                format: date-time
                description: The last modified date of the report
              size:
                description: The size in bytes of the reports
                type: integer
                minimum: 0
              uri:
                description: The uri of the report
                type: string
              contentType:
                type: string
    ResultUrl:
      description: OK
      content:
        application/json:
          schema:
            type: object
            properties:
              url:
                type: string
    NotModified:
      description: Not modified error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/DefaultError'
  parameters:
    packageId:
      name: packageId
      description: The unique package id.
      in: path
      required: true
      schema:
        type: string
        example: asd0sdf08gdfg3njkfg0345dg=
    templateId:
      name: templateId
      description: The unique template id.
      in: path
      required: true
      schema:
        type: string
        example: asd0sdf08gdfg3njkfg0345dg=
    roleId:
      name: roleId
      description: The unique role id within the package.
      in: path
      required: true
      schema:
        type: string
        example: 97937dbd-2f19-4762-b91c-5d5572dff48e
    documentId:
      name: documentId
      description: The unique document id.
      in: path
      required: true
      schema:
        type: string
        example: 7fe707da80ed6347919b162eb05a63916028376dc991031f
    approvalId:
      name: approvalId
      description: The unique approval id.
      in: path
      required: true
      schema:
        type: string
        example: ibwzXn69GF0J
    flatten:
      name: flatten
      description: Flatten the pdf.
      in: query
      schema:
        type: boolean
        default: false
    utf8:
      name: utf8
      in: query
      schema:
        type: string
      description: utf8
    layoutId:
      name: layoutId
      description: The unique layout id.
      in: query
      schema:
        type: string
    layoutName:
      name: layoutName
      description: The unique layout name.
      in: query
      schema:
        type: string
    attachmentId:
      name: attachmentId
      description: The unique attachment id.
      in: path
      required: true
      schema:
        type: string
        example: U4qeLnLhKgYM
    groupId:
      name: groupId
      description: The unique group id.
      in: path
      required: true
      schema:
        type: string
        example: dc7eac8b-3425-4716-a5a4-df74810d928b
    fieldId:
      name: fieldId
      description: The unique field id.
      in: path
      required: true
      schema:
        type: string
        example: zZCmIzF1U4U5
    maskedFieldId:
      name: maskedFieldId
      description: 'Field id in following format: {documentId}-{approvalId}-{fieldId}.'
      in: path
      required: true
      schema:
        type: string
        example: >-
          ffab89e286b8b4d75420e443e5e77dfca45264aee26c8fd6-tqHXxte27C4K-ZmJbkStS1wES
    customFieldId:
      name: customFieldId
      description: ID of the Custom Field.
      in: path
      required: true
      schema:
        type: string
        example: DOB
    from:
      name: from
      in: query
      description: The first record that will be returned. Useful for pagination.
      required: false
      schema:
        type: integer
        format: int32
        minimum: 0
    fromDate:
      name: fromDate
      in: query
      description: The start of the date range.
      required: false
      schema:
        type: string
        format: date-time
    to:
      name: to
      in: query
      description: The last record that will be returned. Useful for pagination.
      required: false
      schema:
        type: integer
        format: int32
    toDate:
      name: toDate
      in: query
      description: The end of the date range.
      required: false
      schema:
        type: string
        format: date-time
    dir:
      name: dir
      in: query
      description: >-
        The direction according to which the data will be sorted. 'asc' for
        ascending and 'desc' for descending.
      required: false
      schema:
        type: string
        enum:
          - asc
          - desc
    search:
      name: search
      in: query
      description: >-
        Any text which is going to be used in conjunction with the searchtype if
        provided
      required: false
      schema:
        type: string
    senderId:
      name: senderId
      description: The unique sender id.
      in: path
      required: true
      schema:
        type: string
        example: lEuqLqc6ZzA6
    rawSignatureCapture:
      name: rawSignatureCapture
      description: 'If set to true, the authograph signatures will be provided as a vector.'
      in: query
      required: false
      schema:
        type: boolean
        default: false
    delegateId:
      name: delegateId
      description: The unique delegateId id.
      in: path
      required: true
      schema:
        type: string
        example: ibwzXn69GF0J
    signerId:
      name: signerId
      description: The unique signer id.
      in: path
      required: true
      schema:
        type: string
        example: lEuqLqc6ZzA6
    accountId:
      name: accountId
      description: The unique account id.
      in: path
      required: true
      schema:
        type: string
        example: ibwzXn69GF0J
    fileId:
      name: fileId
      description: The unique attachment file id.
      in: path
      required: true
      schema:
        type: integer
        format: int32
        minimum: 0
    origin:
      name: origin
      description: >
        The origin name.</br> </br> Accepted values: <ul>
          <li>dynamics</li>
          <li>sharepoint</li>
          <li>dynamics2011</li>
          <li>dynamics2013</li>
          <li>dynamics2015</li>
          <li>sharepoint2010</li>
          <li>sharepoint2013</li>
          <li>salesforceOauth2</li>
        </ul> Note that, when using the origin "salesforceOauth2", the key field
        of the Callback object has a specific format.</br> The base64 encoded
        string for the following JSON structure is expected in the key
        field.</br> <pre>{
          host: [salesforce oauth host],
          client_id: [salesforce connected app client id]
          refresh_token: [salesforce connected app refresh token],
        } </pre> </br> This is an example of a valid JSON structure for the key
        field:</br> <pre>{
          host: test.salesforce.com,
          client_id: 3MVG9dKFWsESbpkGspAK561toINSmd9AamdH1sDWgAlbJ64auISbvJgFgWxFZeHgLnPL_Vx01H3HF.2wJl.Ho
          refresh_token: 5Aep711qQZ.coqTldc0B64olflrLrsYa2Dgy6fc1FrS1WZ7gkJRjbtc9VPASWHat8s8LnRvHPtJczK6kHwUM35O,
        }</pre> </br> The base64 encoded string for the JSON example above would
        be (disregarding linebreaks): <p style="font-family: monospace">
        ewogICJob3N0IjogImh0dHBzOi8vdGVzdC5zYWxlc2ZvcmNlLmNvbSIsCiAgI</br>
        mNsaWVudF9pZCI6ICIzTVZHOWRLRldzRVNicGtHc3BBSzU2MXRvSU5TbWQ5QW</br>
        FtZEgxc0RXZ0FsYko2NGF1SVNidkpnRmdXeEZaZUhnTG5QTF9WeDAxSDNIRi4</br>
        yd0psLkhvIiwKICAicmVmcmVzaF90b2tlbiI6ICI1QWVwNzExcVFaLmNvcVRs</br>
        ZGMwQjY0b2xmbHJMcnNZYTJEZ3k2ZmMxRnJTMVdaN2drSlJqYnRjOVZQQVNXS</br>
        GF0OHM4TG5SdkhQdEpjeks2a0h3VU0zNU8iCn0=</br></p> This would be the
        actual string present in the key field.
      in: path
      required: true
      schema:
        type: string
    accountRoleId:
      name: accountRoleId
      description: The unique role id.
      in: path
      required: true
      schema:
        type: string
        example: ibwzXn69GF0J
    transactionId:
      name: transactionId
      description: The unique transaction id.
      in: path
      required: true
      schema:
        type: string
        example: asd0sdf08gdfg3njkfg0345dg=
    inPerson:
      name: inPerson
      description: Send SMS for InPerson SMS authentication
      in: query
      required: false
      schema:
        type: boolean
        default: true
    reportType:
      name: reportType
      description: The type of reports. Default is ALL.
      in: query
      required: false
      schema:
        type: string
        enum:
          - ALL
          - TRANSACTION
          - ACCOUNT
          - VERIFICATION
    defaultVirtualRoomConfig:
      name: default
      description: >-
        When used, returns the default virtual room configuration. The default
        virtual room configuration is not related to any specific transaction.
      in: query
      required: false
      schema:
        type: boolean
        example: true
    sendersRoleId:
      name: roleId
      description: The unique role id for a category of senders.
      in: query
      required: false
      schema:
        type: string
    date:
      name: date
      in: query
      description: The specific date for which the log report will be generated.
      required: true
      schema:
        type: string
        example: '2024-05-30'
  securitySchemes:
    ApiKeyAuth:
      description: >-
        Please type \"Basic \" followed by the Api Key found in your OneSpan
        Sign admin section. <p>&nbsp;</p> <p>For
        example&#58;<p/><p><b>&nbsp;&nbsp;Basic
        UGxlYXNlIHVzZSB5b3VyIG93biBrZXksIG5vdCB0aGlzIGV4YW1wbGUgb25lIDstKQ==</b></p>
        <p>&nbsp;</p> <p>(See <a target="_blank"
        href="https://community.onespan.com/documentation/onespan-sign/guides/admin-guides/user/integration#API_Key">Api
        Key Documentation</a>)</p>
      type: apiKey
      in: header
      name: Authorization
    ApiTokenAuth:
      description: >-
        Please type \"Bearer \" followed by the access token generate by a call
        to /apitoken/clientApp/accessToken endpoint. <p>&nbsp;</p> <p>For
        example&#58;<p/><p><b>&nbsp;&nbsp;Bearer
        8824a2be8f9c3ad9a71880cd771b52d880fd1845404e0920bb2e43c166770ec7</b></p>
        <p>&nbsp;</p> <p>(See <a target="_blank"
        href="https://community.onespan.com/documentation/onespan-sign/guides/admin-guides/user/integration#API_Token">Api
        Token Documentation</a>)</p>
      type: apiKey
      in: header
      name: Authorization
  examples:
    packageIdExample:
      value: asd0sdf08gdfg3njkfg0345dg=
    packageNameExample:
      value: YourTransaction
    documentIdExample:
      value: b5d4e318c6f728f3b9d7e13393bb0f9a368de55744010385
    userUIDOnly:
      summary: Array of User UIDs only
      value:
        - userUid1
        - userUid2
        - userUid3
    delegationUserOnly:
      summary: Array of Delegation Users only
      value:
        - id: userUid1
          expiryDate: '2026-05-30'
        - id: userUid2
          expiryDate: '2026-05-20'
        - id: userUid3
          expiryDate: '2026-05-20'
    userUIDAndDelegationUserMixed:
      summary: Mixed array of User UIDs and Delegation Users
      value:
        - id: userUid1
          expiryDate: '2026-05-30'
        - id: userUid2
          expiryDate: '2026-05-20'
        - userUid3

