openapi: 3.1.0
info:
  title: Hiya Platform
  version: 2026.03.r1
servers:
  - url: https://api.hiya.com/audiointel/{region}/v1
    variables:
      region:
        description: The region to use for the API.
        default: eu
        enum:
          - eu
          - us
security:
  - BearerAuth: []
  - ApiKeyAuth: []
tags:
  - name: Credentials
    description: Operations to authenticate using credentials.
  - name: Users
    description: Operations to manage users.
  - name: User
    description: Operations to manage your user.
  - name: Keys
    description: Operations to manage your API keys.
  - name: Organizations
    description: Operations to manage organizations.
  - name: Spaces
    description: Operations to manage spaces.
  - name: Audios
    description: Operations to manage audios. Isolated by space.
  - name: Identities
    description: Operations to manage speaker identities. Isolated by space.
  - name: Voiceprints
    description: Operations to manage voiceprints. Isolated by space.
  - name: Verifications
    description: Operations to manage a simplified view of verifications of all types. Isolated by space.
  - name: IdentityVerifications
    description: Operations to manage identity verifications. Isolated by space.
  - name: AuthenticityVerifications
    description: Operations to manage authenticity verifications. Isolated by space.
  - name: MessageVerifications
    description: Operations to manage message verifications. Isolated by space.
  - name: Statistics
    description: Operations to view space usage statistics.
  - name: VoiceprintRecords
    description: Operations to view voiceprint usage records.
  - name: VerificationRecords
    description: Operations to view verification usage records.
  - name: Admin
    description: Operations only available to admin users.
  - name: SelfHosted
    description: Operations for self-hosted engine integrations.
paths:
  /auth/credentials:
    post:
      operationId: CredentialsSignIn
      summary: Sign in with your credentials
      description: Start a new session using your credentials.
      tags:
        - Credentials
      security: []
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
                - type: object
                  properties:
                    handle:
                      description: The handle of your user.
                      type: string
                      format: handle
                      minLength: 1
                      maxLength: 50
                      example: user-a
                    password:
                      description: The password of your user.
                      type: string
                      format: password
                      minLength: 8
                      maxLength: 50
                      example: pass1234
                  required:
                    - handle
                    - password
                - type: object
                  properties:
                    email:
                      description: The email of your user.
                      type: string
                      format: email
                      minLength: 1
                      maxLength: 50
                      example: user.a@email.com
                    password:
                      description: The password of your user.
                      type: string
                      format: password
                      minLength: 8
                      maxLength: 50
                      example: pass1234
                  required:
                    - email
                    - password
      responses:
        '200':
          description: The created session
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Session'
        '401':
          description: Invalid credentials
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /users/{user}:
    get:
      operationId: UsersGet
      summary: Get a user
      description: Get the details of a user.
      tags:
        - Users
      parameters:
        - in: path
          name: user
          description: The handle of the user.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
      responses:
        '200':
          description: The user
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
        '404':
          $ref: '#/components/responses/NotFound'
  /users/{user}/wallet:
    get:
      operationId: UsersGetWallet
      summary: Get the wallet of a user
      description: Get the wallet of a user.
      tags:
        - Users
      parameters:
        - in: path
          name: user
          description: The handle of the user.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
      responses:
        '200':
          description: The wallet
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Wallet'
        '404':
          $ref: '#/components/responses/NotFound'
  /users/{user}/stats:
    get:
      operationId: UsersGetStats
      summary: Get the usage statistics of a user
      description: Get the usage statistics of a user.
      tags:
        - Statistics
      parameters:
        - in: path
          name: user
          description: The handle of the user.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
      responses:
        '200':
          description: The usage statistics of the user
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Stats'
  /user:
    get:
      operationId: UserGet
      summary: Get your user
      description: Get the details of your user.
      tags:
        - User
      responses:
        '200':
          description: Your user
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
    patch:
      operationId: UserUpdate
      summary: Update your user
      description: Update your user by providing its new details.
      tags:
        - User
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                handle:
                  description: The new handle of your user. Must be unique.
                  type: string
                  format: handle
                  minLength: 1
                  maxLength: 50
                  example: user-a
                alias:
                  description: The new alias of your user.
                  type:
                    - string
                    - 'null'
                  format: alias
                  minLength: 1
                  maxLength: 100
                  example: User A
      responses:
        '200':
          description: Your updated user
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
        '409':
          $ref: '#/components/responses/Collision'
  /user/password:
    put:
      operationId: UserUpdatePassword
      summary: Update your password
      description: Update your password by providing the new one.
      tags:
        - User
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                password:
                  description: Your new password.
                  type: string
                  format: password
                  minLength: 8
                  maxLength: 50
                  example: pass1234
      responses:
        '204':
          $ref: '#/components/responses/NoContent'
  /user/wallet:
    get:
      operationId: UserGetWallet
      summary: Get your wallet
      description: Get your wallet.
      tags:
        - User
      responses:
        '200':
          description: Your wallet
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Wallet'
        '404':
          $ref: '#/components/responses/NotFound'
  /user/orgs:
    get:
      operationId: UserListOrgs
      summary: List your organizations
      description: List the paginated details of your organizations.
      tags:
        - User
      parameters:
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PageSize'
        - $ref: '#/components/parameters/OrgSort'
        - $ref: '#/components/parameters/OrgSearch'
        - $ref: '#/components/parameters/SearchAfter'
          description: The term used to search organizations after or equal to the specified date.
        - $ref: '#/components/parameters/SearchBefore'
          description: The term used to search organizations before or equal to the specified date.
      responses:
        '200':
          description: The requested page of the list of organizations
          headers:
            Page-Total:
              $ref: '#/components/headers/PageTotal'
            Page-Size:
              $ref: '#/components/headers/PageSize'
            Page-Current:
              $ref: '#/components/headers/PageCurrent'
            Item-Total:
              $ref: '#/components/headers/ItemTotal'
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Org'
  /user/spaces:
    get:
      operationId: UserListSpaces
      summary: List your spaces
      description: List the paginated details of your spaces.
      tags:
        - User
      parameters:
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PageSize'
        - $ref: '#/components/parameters/SpaceSort'
        - $ref: '#/components/parameters/SpaceSearch'
        - $ref: '#/components/parameters/SearchAfter'
          description: The term used to search spaces after or equal to the specified date.
        - $ref: '#/components/parameters/SearchBefore'
          description: The term used to search spaces before or equal to the specified date.
      responses:
        '200':
          description: The requested page of the list of your spaces
          headers:
            Page-Total:
              $ref: '#/components/headers/PageTotal'
            Page-Size:
              $ref: '#/components/headers/PageSize'
            Page-Current:
              $ref: '#/components/headers/PageCurrent'
            Item-Total:
              $ref: '#/components/headers/ItemTotal'
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Space'
  /user/keys:
    get:
      operationId: KeysList
      summary: List your API keys
      description: List the paginated details of your API keys.
      tags:
        - Keys
      parameters:
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PageSize'
        - $ref: '#/components/parameters/KeySort'
        - $ref: '#/components/parameters/KeySearch'
        - $ref: '#/components/parameters/SearchAfter'
          description: The term used to search keys after or equal to the specified date.
        - $ref: '#/components/parameters/SearchBefore'
          description: The term used to search keys before or equal to the specified date.
      responses:
        '200':
          description: The requested page of the list of your API keys
          headers:
            Page-Total:
              $ref: '#/components/headers/PageTotal'
            Page-Size:
              $ref: '#/components/headers/PageSize'
            Page-Current:
              $ref: '#/components/headers/PageCurrent'
            Item-Total:
              $ref: '#/components/headers/ItemTotal'
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Key'
    post:
      operationId: KeysCreate
      summary: Create an API key
      description: Create a new API key by providing its details.
      tags:
        - Keys
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                handle:
                  description: The handle of the new API key. Must be unique.
                  type: string
                  format: handle
                  minLength: 1
                  maxLength: 50
                  example: key-a
                alias:
                  description: The alias of the new API key.
                  type:
                    - string
                    - 'null'
                  format: alias
                  minLength: 1
                  maxLength: 100
                  example: Key A
              required:
                - handle
      responses:
        '201':
          description: The created API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KeyCreate'
        '404':
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: Resource collision
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /user/keys/{key}:
    get:
      operationId: KeysGet
      summary: Get an API key
      description: Get the details of an API key.
      tags:
        - Keys
      parameters:
        - in: path
          name: key
          description: The handle of the API key.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
      responses:
        '200':
          description: The API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Key'
        '404':
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    patch:
      operationId: KeysUpdate
      summary: Update an API key
      description: Update an API key by providing its new details.
      tags:
        - Keys
      parameters:
        - in: path
          name: key
          description: The handle of the API key.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                handle:
                  description: The new handle of the API key. Must be unique.
                  type: string
                  format: handle
                  minLength: 1
                  maxLength: 50
                  example: key-a
                alias:
                  description: The new alias of the organization.
                  type:
                    - string
                    - 'null'
                  format: alias
                  minLength: 1
                  maxLength: 100
                  example: Key A
      responses:
        '200':
          description: The updated API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Key'
        '404':
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: Resource collision
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    delete:
      operationId: KeysDelete
      summary: Delete an API key
      description: Delete an API key. The deletion does not have side effects.
      tags:
        - Keys
      parameters:
        - in: path
          name: key
          description: The handle of the API key.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
      responses:
        '204':
          $ref: '#/components/responses/NoContent'
        '404':
          $ref: '#/components/responses/NotFound'
  /user/records/voiceprint:
    get:
      operationId: UserListVoiceprintRecords
      summary: List your voiceprint usage records
      description: List the paginated details of your voiceprint usage records.
      tags:
        - User
      parameters:
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PageSize'
        - $ref: '#/components/parameters/VoiceprintRecordSort'
        - $ref: '#/components/parameters/SearchAfter'
          description: The term used to search voiceprint usage records after or equal to the specified date.
        - $ref: '#/components/parameters/SearchBefore'
          description: The term used to search voiceprint usage records before or equal to the specified date.
      responses:
        '200':
          description: The requested page of the list of your voiceprint usage records
          headers:
            Page-Total:
              $ref: '#/components/headers/PageTotal'
            Page-Size:
              $ref: '#/components/headers/PageSize'
            Page-Current:
              $ref: '#/components/headers/PageCurrent'
            Item-Total:
              $ref: '#/components/headers/ItemTotal'
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/VoiceprintRecord'
  /user/records/verification:
    get:
      operationId: UserListVerificationRecords
      summary: List your verification usage records
      description: List the paginated details of your verification usage records.
      tags:
        - User
      parameters:
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PageSize'
        - $ref: '#/components/parameters/VerificationRecordSort'
        - $ref: '#/components/parameters/SearchAfter'
          description: The term used to search verification usage records after or equal to the specified date.
        - $ref: '#/components/parameters/SearchBefore'
          description: The term used to search verification usage records before or equal to the specified date.
      responses:
        '200':
          description: The requested page of the list of your verification usage records
          headers:
            Page-Total:
              $ref: '#/components/headers/PageTotal'
            Page-Size:
              $ref: '#/components/headers/PageSize'
            Page-Current:
              $ref: '#/components/headers/PageCurrent'
            Item-Total:
              $ref: '#/components/headers/ItemTotal'
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/VerificationRecord'
  /user/stats:
    get:
      operationId: UserGetStats
      summary: Get your usage statistics
      description: Get your usage statistics.
      tags:
        - Statistics
      responses:
        '200':
          description: Your usage statistics
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Stats'
  /orgs/{org}:
    get:
      operationId: OrgsGet
      summary: Get an organization
      description: Get the details of an organization.
      tags:
        - Organizations
      parameters:
        - in: path
          name: org
          description: The handle of the organization.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
      responses:
        '200':
          description: The organization
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Org'
        '404':
          $ref: '#/components/responses/NotFound'
    patch:
      operationId: OrgsUpdate
      summary: Update an organization
      description: Update an organization by providing its new details.
      tags:
        - Organizations
      parameters:
        - in: path
          name: org
          description: The handle of the organization.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                handle:
                  description: The new handle of the organization. Must be unique.
                  type: string
                  format: handle
                  minLength: 1
                  maxLength: 50
                  example: org-a
                alias:
                  description: The new alias of the organization.
                  type:
                    - string
                    - 'null'
                  format: alias
                  minLength: 1
                  maxLength: 100
                  example: Org A
      responses:
        '200':
          description: The updated organization
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Org'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Collision'
  /orgs/{org}/members:
    get:
      operationId: OrgsListMembers
      summary: List the members of an organization
      description: List the paginated details of the members of an organization.
      tags:
        - Organizations
      parameters:
        - in: path
          name: org
          description: The handle of the organization.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PageSize'
        - $ref: '#/components/parameters/UserSort'
          description: The criteria used to sort the members.
        - $ref: '#/components/parameters/UserSearch'
          description: The term used to search the members by handle or alias.
        - $ref: '#/components/parameters/SearchAfter'
          description: The term used to search members after or equal to the specified date.
        - $ref: '#/components/parameters/SearchBefore'
          description: The term used to search members before or equal to the specified date.
      responses:
        '200':
          description: The requested page of the list of members of the organization
          headers:
            Page-Total:
              $ref: '#/components/headers/PageTotal'
            Page-Size:
              $ref: '#/components/headers/PageSize'
            Page-Current:
              $ref: '#/components/headers/PageCurrent'
            Item-Total:
              $ref: '#/components/headers/ItemTotal'
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/User'
        '404':
          $ref: '#/components/responses/NotFound'
  /orgs/{org}/wallet:
    get:
      operationId: OrgsGetWallet
      summary: Get the wallet of an organization
      description: Get the wallet of an organization.
      tags:
        - Organizations
      parameters:
        - in: path
          name: org
          description: The handle of the organization.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
      responses:
        '200':
          description: The wallet
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Wallet'
        '404':
          $ref: '#/components/responses/NotFound'
  /orgs/{org}/spaces:
    get:
      operationId: OrgsListSpaces
      summary: List the spaces of an organization
      description: List the paginated details of the spaces of an organization.
      tags:
        - Organizations
      parameters:
        - in: path
          name: org
          description: The handle of the organization.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PageSize'
        - $ref: '#/components/parameters/SpaceSort'
        - $ref: '#/components/parameters/SpaceSearch'
        - $ref: '#/components/parameters/SearchAfter'
          description: The term used to search spaces after or equal to the specified date.
        - $ref: '#/components/parameters/SearchBefore'
          description: The term used to search spaces before or equal to the specified date.
      responses:
        '200':
          description: The requested page of the list of spaces of the organization
          headers:
            Page-Total:
              $ref: '#/components/headers/PageTotal'
            Page-Size:
              $ref: '#/components/headers/PageSize'
            Page-Current:
              $ref: '#/components/headers/PageCurrent'
            Item-Total:
              $ref: '#/components/headers/ItemTotal'
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Space'
        '404':
          $ref: '#/components/responses/NotFound'
  /orgs/{org}/records/voiceprint:
    get:
      operationId: OrgsListVoiceprintRecords
      summary: List the voiceprint usage records of an organization
      description: List the paginated details of the voiceprint usage records of an organization.
      tags:
        - Organizations
      parameters:
        - in: path
          name: org
          description: The handle of the organization.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PageSize'
        - $ref: '#/components/parameters/VoiceprintRecordSort'
        - $ref: '#/components/parameters/SearchAfter'
          description: The term used to search voiceprint usage records after or equal to the specified date.
        - $ref: '#/components/parameters/SearchBefore'
          description: The term used to search voiceprint usage records before or equal to the specified date.
      responses:
        '200':
          description: The requested page of the list of voiceprint usage records of the organization
          headers:
            Page-Total:
              $ref: '#/components/headers/PageTotal'
            Page-Size:
              $ref: '#/components/headers/PageSize'
            Page-Current:
              $ref: '#/components/headers/PageCurrent'
            Item-Total:
              $ref: '#/components/headers/ItemTotal'
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/VoiceprintRecord'
        '404':
          $ref: '#/components/responses/NotFound'
  /orgs/{org}/records/verification:
    get:
      operationId: OrgsListVerificationRecords
      summary: List the verification usage records of an organization
      description: List the paginated details of the verification usage records of an organization.
      tags:
        - Organizations
      parameters:
        - in: path
          name: org
          description: The handle of the organization.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PageSize'
        - $ref: '#/components/parameters/VerificationRecordSort'
        - $ref: '#/components/parameters/SearchAfter'
          description: The term used to search verification usage records after or equal to the specified date.
        - $ref: '#/components/parameters/SearchBefore'
          description: The term used to search verification usage records before or equal to the specified date.
      responses:
        '200':
          description: The requested page of the list of verification usage records of the organization
          headers:
            Page-Total:
              $ref: '#/components/headers/PageTotal'
            Page-Size:
              $ref: '#/components/headers/PageSize'
            Page-Current:
              $ref: '#/components/headers/PageCurrent'
            Item-Total:
              $ref: '#/components/headers/ItemTotal'
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/VerificationRecord'
        '404':
          $ref: '#/components/responses/NotFound'
  /orgs/{org}/stats:
    get:
      operationId: OrgsGetStats
      summary: Get the usage statistics of an organization
      description: Get the usage statistics of an organization.
      tags:
        - Statistics
      parameters:
        - in: path
          name: org
          description: The handle of the organization.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
      responses:
        '200':
          description: The usage statistics of the organization
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Stats'
  /spaces/{owner}/{space}:
    get:
      operationId: SpacesGet
      summary: Get a space
      description: Get the details of a space.
      tags:
        - Spaces
      parameters:
        - in: path
          name: owner
          description: The handle of the owner.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: space
          description: The handle of the space.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
      responses:
        '200':
          description: The space
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Space'
        '404':
          $ref: '#/components/responses/NotFound'
    patch:
      operationId: SpacesUpdate
      summary: Update a space
      description: Update a space by providing its new details.
      tags:
        - Spaces
      parameters:
        - in: path
          name: owner
          description: The handle of the owner.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: space
          description: The handle of the space.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                handle:
                  description: The new handle of the space. Must be unique.
                  type: string
                  format: handle
                  minLength: 1
                  maxLength: 50
                  example: space-a
                alias:
                  description: The new alias of the space.
                  type:
                    - string
                    - 'null'
                  format: alias
                  minLength: 1
                  maxLength: 100
                  example: Space A
      responses:
        '200':
          description: The updated space
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Space'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Collision'
  /spaces/{owner}/{space}/config:
    get:
      operationId: SpaceConfigsGet
      summary: Get the configuration of a space
      description: Get the details of the configuration of a space.
      tags:
        - Spaces
      parameters:
        - in: path
          name: owner
          description: The handle of the owner.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: space
          description: The handle of the space.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
      responses:
        '200':
          description: The configuration of the space
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SpaceConfig'
        '404':
          $ref: '#/components/responses/NotFound'
    patch:
      operationId: SpaceConfigsUpdate
      summary: Update the configuration of a space
      description: Update the configuration of a space by providing its new details.
      tags:
        - Spaces
      parameters:
        - in: path
          name: owner
          description: The handle of the owner.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: space
          description: The handle of the space.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                audioFileRetention:
                  description: The duration of the new binary file retention policy for audios in the space.
                  type: string
                  format: duration
                  example: P14D
              required:
                - audioFileRetention
      responses:
        '200':
          description: The updated configuration of the space
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SpaceConfig'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Collision'
  /spaces/{owner}/{space}/audios:
    get:
      operationId: AudiosList
      summary: List the audios in a space
      description: List the paginated details of the audios in a space.
      tags:
        - Audios
      parameters:
        - in: path
          name: owner
          description: The handle of the owner.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: space
          description: The handle of the space.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PageSize'
        - $ref: '#/components/parameters/AudioSort'
        - $ref: '#/components/parameters/AudioSearch'
        - $ref: '#/components/parameters/SearchAfter'
          description: The term used to search audios after or equal to the specified date.
        - $ref: '#/components/parameters/SearchBefore'
          description: The term used to search audios before or equal to the specified date.
      responses:
        '200':
          description: The requested page of the list of audios in the space
          headers:
            Page-Total:
              $ref: '#/components/headers/PageTotal'
            Page-Size:
              $ref: '#/components/headers/PageSize'
            Page-Current:
              $ref: '#/components/headers/PageCurrent'
            Item-Total:
              $ref: '#/components/headers/ItemTotal'
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Audio'
    post:
      operationId: AudiosCreate
      summary: Create an audio
      description: Create a new audio by providing its details.
      tags:
        - Audios
      parameters:
        - in: path
          name: owner
          description: The handle of the owner.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: space
          description: The handle of the space.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                alias:
                  description: The alias of the new audio.
                  type:
                    - string
                    - 'null'
                  format: alias
                  minLength: 1
                  maxLength: 100
                  example: Audio A
                identity:
                  description: The handle of the identity linked to the new audio.
                  type:
                    - string
                    - 'null'
                  format: handle
                  minLength: 1
                  maxLength: 50
                  example: identity-a
                file:
                  description: The base64-encoded content of the binary file of the new audio.
                  type: string
                  format: byte
                  example: VGhpcyBpcyBub3QgYSByZWFsIGZpbGU=
      responses:
        '201':
          description: The created audio
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Audio'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Collision'
  /spaces/{owner}/{space}/audios/{audio}:
    get:
      operationId: AudiosGet
      summary: Get an audio
      description: Get the details of an audio.
      tags:
        - Audios
      parameters:
        - in: path
          name: owner
          description: The handle of the owner.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: space
          description: The handle of the space.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: audio
          description: The handle of the audio.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
      responses:
        '200':
          description: The audio
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Audio'
        '404':
          $ref: '#/components/responses/NotFound'
    patch:
      operationId: AudiosUpdate
      summary: Update an audio
      description: Update an audio by providing its new details.
      tags:
        - Audios
      parameters:
        - in: path
          name: owner
          description: The handle of the owner.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: space
          description: The handle of the space.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: audio
          description: The handle of the audio.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                alias:
                  description: The new alias of the audio.
                  type:
                    - string
                    - 'null'
                  format: alias
                  minLength: 1
                  maxLength: 100
                  example: Audio A
      responses:
        '200':
          description: The updated audio
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Audio'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Collision'
  /spaces/{owner}/{space}/audios/{audio}:identify:
    post:
      operationId: AudiosIdentify
      summary: Identify an audio
      description: Link an identity to an audio.
      tags:
        - Audios
      parameters:
        - in: path
          name: owner
          description: The handle of the owner.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: space
          description: The handle of the space.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: audio
          description: The handle of the audio.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                identity:
                  description: The handle of the new identity linked to the audio.
                  type: string
                  format: handle
                  minLength: 1
                  maxLength: 50
                  example: identity-a
              required:
                - identity
      responses:
        '200':
          description: The updated audio
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Audio'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Collision'
  /spaces/{owner}/{space}/audios/{audio}/file:
    get:
      operationId: AudiosGetFile
      summary: Download the binary file of an audio
      description: Download the binary file of an audio.
      tags:
        - Audios
      parameters:
        - in: path
          name: owner
          description: The handle of the owner.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: space
          description: The handle of the space.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: audio
          description: The handle of the audio.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
      responses:
        '200':
          description: The binary file of the audio
          content:
            audio/wav:
              schema:
                type: string
                format: binary
              example: ''
        '404':
          $ref: '#/components/responses/NotFound'
    post:
      operationId: AudiosUploadFile
      summary: Upload the binary file of an audio
      description: Upload the binary file of an audio.
      tags:
        - Audios
      parameters:
        - in: path
          name: owner
          description: The handle of the owner.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: space
          description: The handle of the space.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: audio
          description: The handle of the audio.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
      requestBody:
        content:
          application/octet-stream:
            schema:
              description: The new file of the audio.
              type: string
              format: binary
      responses:
        '200':
          description: The updated audio
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Audio'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: AudiosDeleteFile
      summary: Delete the binary file of an audio
      description: Delete the binary file of an audio.
      tags:
        - Audios
      parameters:
        - in: path
          name: owner
          description: The handle of the owner.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: space
          description: The handle of the space.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: audio
          description: The handle of the audio.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
      responses:
        '200':
          description: The updated audio
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Audio'
        '404':
          $ref: '#/components/responses/NotFound'
  /spaces/{owner}/{space}/audios/{audio}/voiceprints:
    get:
      operationId: AudiosListVoiceprints
      summary: List the voiceprints of an audio
      description: List the paginated details of the voiceprints of an audio.
      tags:
        - Audios
      parameters:
        - in: path
          name: owner
          description: The handle of the owner.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: space
          description: The handle of the space.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: audio
          description: The handle of the audio.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PageSize'
        - $ref: '#/components/parameters/VoiceprintSort'
        - $ref: '#/components/parameters/VoiceprintSearch'
        - $ref: '#/components/parameters/SearchAfter'
          description: The term used to search voiceprints after or equal to the specified date.
        - $ref: '#/components/parameters/SearchBefore'
          description: The term used to search voiceprints before or equal to the specified date.
      responses:
        '200':
          description: The requested page of the list of voiceprints of the audio
          headers:
            Page-Total:
              $ref: '#/components/headers/PageTotal'
            Page-Size:
              $ref: '#/components/headers/PageSize'
            Page-Current:
              $ref: '#/components/headers/PageCurrent'
            Item-Total:
              $ref: '#/components/headers/ItemTotal'
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Voiceprint'
        '404':
          $ref: '#/components/responses/NotFound'
  /spaces/{owner}/{space}/audios/{audio}/verifications:
    get:
      operationId: AudiosListVerifications
      summary: List the verifications of an audio
      description: List the paginated details of the verifications of an audio.
      tags:
        - Audios
      parameters:
        - in: path
          name: owner
          description: The handle of the owner.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: space
          description: The handle of the space.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: audio
          description: The handle of the audio.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PageSize'
        - $ref: '#/components/parameters/VerificationSort'
        - $ref: '#/components/parameters/VerificationSearch'
        - $ref: '#/components/parameters/SearchAfter'
          description: The term used to search verifications after or equal to the specified date.
        - $ref: '#/components/parameters/SearchBefore'
          description: The term used to search verifications before or equal to the specified date.
        - $ref: '#/components/parameters/MinScore'
        - $ref: '#/components/parameters/MaxScore'
      responses:
        '200':
          description: The requested page of the list of verifications of the audio
          headers:
            Page-Total:
              $ref: '#/components/headers/PageTotal'
            Page-Size:
              $ref: '#/components/headers/PageSize'
            Page-Current:
              $ref: '#/components/headers/PageCurrent'
            Item-Total:
              $ref: '#/components/headers/ItemTotal'
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Verification'
        '404':
          $ref: '#/components/responses/NotFound'
  /spaces/{owner}/{space}/identities:
    get:
      operationId: IdentitiesList
      summary: List the identities in a space
      description: List the paginated details of the identities in a space.
      tags:
        - Identities
      parameters:
        - in: path
          name: owner
          description: The handle of the owner.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: space
          description: The handle of the space.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PageSize'
        - $ref: '#/components/parameters/IdentitySort'
        - $ref: '#/components/parameters/IdentitySearch'
        - $ref: '#/components/parameters/SearchAfter'
          description: The term used to search identities after or equal to the specified date.
        - $ref: '#/components/parameters/SearchBefore'
          description: The term used to search identities before or equal to the specified date.
      responses:
        '200':
          description: The requested page of the list of identities in the space
          headers:
            Page-Total:
              $ref: '#/components/headers/PageTotal'
            Page-Size:
              $ref: '#/components/headers/PageSize'
            Page-Current:
              $ref: '#/components/headers/PageCurrent'
            Item-Total:
              $ref: '#/components/headers/ItemTotal'
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Identity'
    post:
      operationId: IdentitiesCreate
      summary: Create an identity
      description: Create a new identity by providing its details.
      tags:
        - Identities
      parameters:
        - in: path
          name: owner
          description: The handle of the owner.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: space
          description: The handle of the space.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                handle:
                  description: The handle of the new identity. Must be unique.
                  type: string
                  format: handle
                  minLength: 1
                  maxLength: 50
                  example: space-a
                alias:
                  description: The alias of the new identity.
                  type:
                    - string
                    - 'null'
                  format: alias
                  minLength: 1
                  maxLength: 100
                  example: Identity A
              required:
                - handle
      responses:
        '201':
          description: The created identity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Identity'
        '409':
          $ref: '#/components/responses/Collision'
  /spaces/{owner}/{space}/identities/{identity}:
    get:
      operationId: IdentitiesGet
      summary: Get an identity
      description: Get the details of an identity.
      tags:
        - Identities
      parameters:
        - in: path
          name: owner
          description: The handle of the owner.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: space
          description: The handle of the space.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: identity
          description: The handle of the identity.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
      responses:
        '200':
          description: The identity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Identity'
        '404':
          $ref: '#/components/responses/NotFound'
    patch:
      operationId: IdentitiesUpdate
      summary: Update an identity
      description: Update an identity by providing its new details.
      tags:
        - Identities
      parameters:
        - in: path
          name: owner
          description: The handle of the owner.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: space
          description: The handle of the space.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: identity
          description: The handle of the identity.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                handle:
                  description: The new handle of the identity. Must be unique.
                  type: string
                  format: handle
                  minLength: 1
                  maxLength: 50
                  example: identity-a
                alias:
                  description: The new alias of the identity.
                  type:
                    - string
                    - 'null'
                  format: alias
                  minLength: 1
                  maxLength: 100
                  example: Identity A
      responses:
        '200':
          description: The updated identity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Identity'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Collision'
    delete:
      operationId: IdentitiesDelete
      summary: Delete an identity
      description: Delete an identity.
      tags:
        - Identities
      parameters:
        - in: path
          name: owner
          description: The handle of the owner.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: space
          description: The handle of the space.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: identity
          description: The handle of the identity.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
      responses:
        '204':
          $ref: '#/components/responses/NoContent'
        '404':
          $ref: '#/components/responses/NotFound'
  /spaces/{owner}/{space}/identities/{identity}/audios:
    get:
      operationId: IdentitiesListAudios
      summary: List the audios of an identity
      description: List the paginated details of the audios of an identity.
      tags:
        - Identities
      parameters:
        - in: path
          name: owner
          description: The handle of the owner.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: space
          description: The handle of the space.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: identity
          description: The handle of the identity.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PageSize'
        - $ref: '#/components/parameters/AudioSort'
        - $ref: '#/components/parameters/AudioSearch'
        - $ref: '#/components/parameters/SearchAfter'
          description: The term used to search audios after or equal to the specified date.
        - $ref: '#/components/parameters/SearchBefore'
          description: The term used to search audios before or equal to the specified date.
      responses:
        '200':
          description: The requested page of the list of audios of the identity
          headers:
            Page-Total:
              $ref: '#/components/headers/PageTotal'
            Page-Size:
              $ref: '#/components/headers/PageSize'
            Page-Current:
              $ref: '#/components/headers/PageCurrent'
            Item-Total:
              $ref: '#/components/headers/ItemTotal'
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Audio'
        '404':
          $ref: '#/components/responses/NotFound'
  /spaces/{owner}/{space}/identities/{identity}/voiceprints:
    get:
      operationId: IdentitiesListVoiceprints
      summary: List the voiceprints of an identity
      description: List the paginated details of the voiceprints of an identity.
      tags:
        - Identities
      parameters:
        - in: path
          name: owner
          description: The handle of the owner.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: space
          description: The handle of the space.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: identity
          description: The handle of the identity.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PageSize'
        - $ref: '#/components/parameters/VoiceprintSort'
        - $ref: '#/components/parameters/VoiceprintSearch'
        - $ref: '#/components/parameters/SearchAfter'
          description: The term used to search voiceprints after or equal to the specified date.
        - $ref: '#/components/parameters/SearchBefore'
          description: The term used to search voiceprints before or equal to the specified date.
      responses:
        '200':
          description: The requested page of the list of voiceprints of the identity
          headers:
            Page-Total:
              $ref: '#/components/headers/PageTotal'
            Page-Size:
              $ref: '#/components/headers/PageSize'
            Page-Current:
              $ref: '#/components/headers/PageCurrent'
            Item-Total:
              $ref: '#/components/headers/ItemTotal'
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Voiceprint'
        '404':
          $ref: '#/components/responses/NotFound'
  /spaces/{owner}/{space}/voiceprints:
    get:
      operationId: VoiceprintsList
      summary: List the voiceprints in a space
      description: List the paginated details of the voiceprints in a space.
      tags:
        - Voiceprints
      parameters:
        - in: path
          name: owner
          description: The handle of the owner.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: space
          description: The handle of the space.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PageSize'
        - $ref: '#/components/parameters/VoiceprintSort'
        - $ref: '#/components/parameters/VoiceprintSearch'
        - $ref: '#/components/parameters/SearchAfter'
          description: The term used to search voiceprints after or equal to the specified date.
        - $ref: '#/components/parameters/SearchBefore'
          description: The term used to search voiceprints before or equal to the specified date.
      responses:
        '200':
          description: The requested page of the list of voiceprints in the space
          headers:
            Page-Total:
              $ref: '#/components/headers/PageTotal'
            Page-Size:
              $ref: '#/components/headers/PageSize'
            Page-Current:
              $ref: '#/components/headers/PageCurrent'
            Item-Total:
              $ref: '#/components/headers/ItemTotal'
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Voiceprint'
    post:
      operationId: VoiceprintsCreate
      summary: Create a voiceprint
      description: Create a new voiceprint by providing its details.
      tags:
        - Voiceprints
      parameters:
        - in: path
          name: owner
          description: The handle of the owner.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: space
          description: The handle of the space.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                handle:
                  description: The handle of the new voiceprint. Must be unique.
                  type: string
                  format: handle
                  minLength: 1
                  maxLength: 50
                  example: voiceprint-a
                alias:
                  description: The alias of the new voiceprint.
                  type:
                    - string
                    - 'null'
                  format: alias
                  minLength: 1
                  maxLength: 100
                  example: Voiceprint A
                model:
                  description: The model used to compute the new voiceprint. See [voiceprint models](https://developer.hiya.com/docs/audio-intel/model-index/voiceprint-models).
                  type: string
                  example: phone/v1
                identity:
                  description: The handle of the identity of the new voiceprint.
                  type: string
                  format: handle
                  minLength: 1
                  maxLength: 50
                  example: identity-a
                minAudios:
                  description: The minimum number of audios required to compute the new voiceprint.
                  type: integer
                  format: int32
                  example: 3
              required:
                - model
                - identity
                - minAudios
      responses:
        '201':
          description: The created voiceprint
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Voiceprint'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Collision'
  /spaces/{owner}/{space}/voiceprints/{identity}/{voiceprint}:
    get:
      operationId: VoiceprintsGet
      summary: Get a voiceprint
      description: Get the details of a voiceprint.
      tags:
        - Voiceprints
      parameters:
        - in: path
          name: owner
          description: The handle of the owner.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: space
          description: The handle of the space.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: identity
          description: The handle of the identity.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: voiceprint
          description: The handle of the voiceprint.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
      responses:
        '200':
          description: The voiceprint
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Voiceprint'
        '404':
          $ref: '#/components/responses/NotFound'
    patch:
      operationId: VoiceprintsUpdate
      summary: Update a voiceprint
      description: Update a voiceprint by providing its new details.
      tags:
        - Voiceprints
      parameters:
        - in: path
          name: owner
          description: The handle of the owner.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: space
          description: The handle of the space.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: identity
          description: The handle of the identity.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: voiceprint
          description: The handle of the voiceprint.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                handle:
                  description: The new handle of the voiceprint. Must be unique.
                  type: string
                  format: handle
                  minLength: 1
                  maxLength: 50
                  example: voiceprint-a
                alias:
                  description: The new alias of the voiceprint.
                  type:
                    - string
                    - 'null'
                  format: alias
                  minLength: 1
                  maxLength: 100
                  example: Voiceprint A
      responses:
        '200':
          description: The updated voiceprint
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Voiceprint'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Collision'
    delete:
      operationId: VoiceprintsDelete
      summary: Delete a voiceprint
      description: Delete a voiceprint.
      tags:
        - Voiceprints
      parameters:
        - in: path
          name: owner
          description: The handle of the owner.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: space
          description: The handle of the space.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: identity
          description: The handle of the identity.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: voiceprint
          description: The handle of the voiceprint.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
      responses:
        '204':
          $ref: '#/components/responses/NoContent'
        '404':
          $ref: '#/components/responses/NotFound'
  /spaces/{owner}/{space}/voiceprints/{identity}/{voiceprint}:compute:
    post:
      operationId: VoiceprintsCompute
      summary: Compute a voiceprint
      description: Compute a computable voiceprint.
      tags:
        - Voiceprints
      parameters:
        - in: path
          name: owner
          description: The handle of the owner.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: space
          description: The handle of the space.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: identity
          description: The handle of the identity.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: voiceprint
          description: The handle of the voiceprint.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
      responses:
        '200':
          description: The computed voiceprint
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Voiceprint'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Collision'
  /spaces/{owner}/{space}/voiceprints/{identity}/{voiceprint}/audios:
    get:
      operationId: VoiceprintsListAudios
      summary: List the audios of a voiceprint
      description: List the paginated details of the audios of a voiceprint.
      tags:
        - Voiceprints
      parameters:
        - in: path
          name: owner
          description: The handle of the owner.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: space
          description: The handle of the space.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: identity
          description: The handle of the identity.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: voiceprint
          description: The handle of the voiceprint.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PageSize'
        - $ref: '#/components/parameters/AudioSort'
        - $ref: '#/components/parameters/AudioSearch'
        - $ref: '#/components/parameters/SearchAfter'
          description: The term used to search audios after or equal to the specified date.
        - $ref: '#/components/parameters/SearchBefore'
          description: The term used to search audios before or equal to the specified date.
      responses:
        '200':
          description: The requested page of the list of audios of the voiceprint
          headers:
            Page-Total:
              $ref: '#/components/headers/PageTotal'
            Page-Size:
              $ref: '#/components/headers/PageSize'
            Page-Current:
              $ref: '#/components/headers/PageCurrent'
            Item-Total:
              $ref: '#/components/headers/ItemTotal'
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Audio'
        '404':
          $ref: '#/components/responses/NotFound'
  /spaces/{owner}/{space}/voiceprints/{identity}/{voiceprint}/audios/{audio}:
    post:
      operationId: VoiceprintsAddAudio
      summary: Add an audio to a voiceprint
      description: Add an audio to a voiceprint.
      tags:
        - Voiceprints
      parameters:
        - in: path
          name: owner
          description: The handle of the owner.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: space
          description: The handle of the space.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: identity
          description: The handle of the identity.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: voiceprint
          description: The handle of the voiceprint.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: audio
          description: The handle of the audio.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
      responses:
        '200':
          description: The updated voiceprint
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Voiceprint'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: VoiceprintsRemoveAudio
      summary: Remove an audio from a voiceprint
      description: Remove an audio from a voiceprint.
      tags:
        - Voiceprints
      parameters:
        - in: path
          name: owner
          description: The handle of the owner.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: space
          description: The handle of the space.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: identity
          description: The handle of the identity.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: voiceprint
          description: The handle of the voiceprint.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: audio
          description: The handle of the audio.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
      responses:
        '200':
          description: The updated voiceprint
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Voiceprint'
        '404':
          $ref: '#/components/responses/NotFound'
  /spaces/{owner}/{space}/voiceprints/{identity}/{voiceprint}/verifications:
    get:
      operationId: VoiceprintsListVerifications
      summary: List the verifications of a voiceprint
      description: List the paginated details of the verifications of a voiceprint.
      tags:
        - Voiceprints
      parameters:
        - in: path
          name: owner
          description: The handle of the owner.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: space
          description: The handle of the space.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: identity
          description: The handle of the identity.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: voiceprint
          description: The handle of the voiceprint.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PageSize'
        - $ref: '#/components/parameters/VerificationSort'
        - $ref: '#/components/parameters/VerificationSearch'
        - $ref: '#/components/parameters/SearchAfter'
          description: The term used to search verification after or equal to the specified date.
        - $ref: '#/components/parameters/SearchBefore'
          description: The term used to search verification before or equal to the specified date.
        - $ref: '#/components/parameters/MinScore'
        - $ref: '#/components/parameters/MaxScore'
      responses:
        '200':
          description: The requested page of the list of verifications of the voiceprint
          headers:
            Page-Total:
              $ref: '#/components/headers/PageTotal'
            Page-Size:
              $ref: '#/components/headers/PageSize'
            Page-Current:
              $ref: '#/components/headers/PageCurrent'
            Item-Total:
              $ref: '#/components/headers/ItemTotal'
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Verification'
        '404':
          $ref: '#/components/responses/NotFound'
  /spaces/{owner}/{space}/verifications:
    get:
      operationId: VerificationsList
      summary: List the verifications in a space
      description: List the paginated details of the verifications in a space.
      tags:
        - Verifications
      parameters:
        - in: path
          name: owner
          description: The handle of the owner.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: space
          description: The handle of the space.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PageSize'
        - $ref: '#/components/parameters/VerificationSort'
        - $ref: '#/components/parameters/VerificationSearch'
        - $ref: '#/components/parameters/SearchAfter'
          description: The term used to search verifications after or equal to the specified date.
        - $ref: '#/components/parameters/SearchBefore'
          description: The term used to search verifications before or equal to the specified date.
        - $ref: '#/components/parameters/MinScore'
        - $ref: '#/components/parameters/MaxScore'
      responses:
        '200':
          description: The requested page of the list of verifications in the space
          headers:
            Page-Total:
              $ref: '#/components/headers/PageTotal'
            Page-Size:
              $ref: '#/components/headers/PageSize'
            Page-Current:
              $ref: '#/components/headers/PageCurrent'
            Item-Total:
              $ref: '#/components/headers/ItemTotal'
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Verification'
  /spaces/{owner}/{space}/verifications/identity:
    get:
      operationId: IdentityVerificationsList
      summary: List the identity verifications in a space
      description: List the paginated details of the identity verifications in a space.
      tags:
        - IdentityVerifications
      parameters:
        - in: path
          name: owner
          description: The handle of the owner.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: space
          description: The handle of the space.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PageSize'
        - $ref: '#/components/parameters/VerificationSort'
        - $ref: '#/components/parameters/VerificationSearch'
        - $ref: '#/components/parameters/SearchAfter'
          description: The term used to search identity verifications after or equal to the specified date.
        - $ref: '#/components/parameters/SearchBefore'
          description: The term used to search identity verifications before or equal to the specified date.
        - $ref: '#/components/parameters/MinScore'
        - $ref: '#/components/parameters/MaxScore'
      responses:
        '200':
          description: The requested page of the list of identity verifications in the space
          headers:
            Page-Total:
              $ref: '#/components/headers/PageTotal'
            Page-Size:
              $ref: '#/components/headers/PageSize'
            Page-Current:
              $ref: '#/components/headers/PageCurrent'
            Item-Total:
              $ref: '#/components/headers/ItemTotal'
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IdentityVerification'
    post:
      operationId: IdentityVerificationsCreate
      summary: Create an identity verification
      description: Create a new identity verification by providing its details.
      tags:
        - IdentityVerifications
      parameters:
        - in: path
          name: owner
          description: The handle of the owner.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: space
          description: The handle of the space.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                alias:
                  description: The alias of the new identity verification.
                  type:
                    - string
                    - 'null'
                  format: alias
                  minLength: 1
                  maxLength: 100
                  example: Verification A
                audio:
                  description: The handle of the audio of the new identity verification.
                  type: string
                  format: handle
                  minLength: 1
                  maxLength: 50
                  example: audio-a
                identity:
                  description: The handle of the identity of the new identity verification.
                  type: string
                  format: handle
                  minLength: 1
                  maxLength: 50
                  example: identity-a
                voiceprint:
                  description: The handle of the voiceprint of the new identity verification.
                  type: string
                  format: handle
                  minLength: 1
                  maxLength: 50
                  example: voiceprint-a
                config:
                  $ref: '#/components/schemas/VerificationConfig'
              required:
                - audio
                - identity
                - voiceprint
      responses:
        '201':
          description: The created identity verification
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IdentityVerification'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Collision'
        '429':
          $ref: '#/components/responses/TooManyRequests'
  /spaces/{owner}/{space}/verifications/identity/{verification}:
    get:
      operationId: IdentityVerificationsGet
      summary: Get an identity verification
      description: Get the details of an identity verification.
      tags:
        - IdentityVerifications
      parameters:
        - in: path
          name: owner
          description: The handle of the owner.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: space
          description: The handle of the space.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: verification
          description: The handle of the identity verification.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
      responses:
        '200':
          description: The identity verification
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IdentityVerification'
        '404':
          $ref: '#/components/responses/NotFound'
    patch:
      operationId: IdentityVerificationsUpdate
      summary: Update an identity verification
      description: Update an identity verification by providing its new details.
      tags:
        - IdentityVerifications
      parameters:
        - in: path
          name: owner
          description: The handle of the owner.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: space
          description: The handle of the space.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: verification
          description: The handle of the identity verification.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                alias:
                  description: The new alias of the identity verification.
                  type:
                    - string
                    - 'null'
                  format: alias
                  minLength: 1
                  maxLength: 100
                  example: Verification A
      responses:
        '200':
          description: The updated identity verification
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IdentityVerification'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Collision'
  /spaces/{owner}/{space}/verifications/authenticity:
    get:
      operationId: AuthenticityVerificationsList
      summary: List the authenticity verifications in a space
      description: List the paginated details of the authenticity verifications in a space.
      tags:
        - AuthenticityVerifications
      parameters:
        - in: path
          name: owner
          description: The handle of the owner.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: space
          description: The handle of the space.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PageSize'
        - $ref: '#/components/parameters/VerificationSort'
        - $ref: '#/components/parameters/VerificationSearch'
        - $ref: '#/components/parameters/SearchAfter'
          description: The term used to search authenticity verifications after or equal to the specified date.
        - $ref: '#/components/parameters/SearchBefore'
          description: The term used to search authenticity verifications before or equal to the specified date.
        - $ref: '#/components/parameters/MinScore'
        - $ref: '#/components/parameters/MaxScore'
      responses:
        '200':
          description: The requested page of the list of authenticity verifications in the space
          headers:
            Page-Total:
              $ref: '#/components/headers/PageTotal'
            Page-Size:
              $ref: '#/components/headers/PageSize'
            Page-Current:
              $ref: '#/components/headers/PageCurrent'
            Item-Total:
              $ref: '#/components/headers/ItemTotal'
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AuthenticityVerification'
    post:
      operationId: AuthenticityVerificationsCreate
      summary: Create an authenticity verification
      description: Create a new authenticity verification by providing its details.
      tags:
        - AuthenticityVerifications
      parameters:
        - in: path
          name: owner
          description: The handle of the owner.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: space
          description: The handle of the space.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                alias:
                  description: The alias of the new authenticity verification.
                  type:
                    - string
                    - 'null'
                  format: alias
                  minLength: 1
                  maxLength: 100
                  example: Verification A
                model:
                  description: The model used to perform the new authenticity verification. See [authenticity verification models](https://developer.hiya.com/docs/audio-intel/model-index/verification-models#authenticity-verification-models).
                  type: string
                  example: phone
                audio:
                  description: The handle of the audio of the new authenticity verification.
                  type: string
                  format: handle
                  minLength: 1
                  maxLength: 50
                  example: audio-a
                config:
                  $ref: '#/components/schemas/VerificationConfig'
              required:
                - model
                - audio
      responses:
        '201':
          description: The created authenticity verification
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthenticityVerificationWithChunks'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Collision'
        '429':
          $ref: '#/components/responses/TooManyRequests'
  /spaces/{owner}/{space}/verifications/authenticity/{verification}:
    get:
      operationId: AuthenticityVerificationsGet
      summary: Get an authenticity verification
      description: Get the details of an authenticity verification.
      tags:
        - AuthenticityVerifications
      parameters:
        - in: path
          name: owner
          description: The handle of the owner.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: space
          description: The handle of the space.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: verification
          description: The handle of the authenticity verification.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
      responses:
        '200':
          description: The authenticity verification
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthenticityVerification'
        '404':
          $ref: '#/components/responses/NotFound'
    patch:
      operationId: AuthenticityVerificationsUpdate
      summary: Update an authenticity verification
      description: Update an authenticity verification by providing its new details.
      tags:
        - AuthenticityVerifications
      parameters:
        - in: path
          name: owner
          description: The handle of the owner.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: space
          description: The handle of the space.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: verification
          description: The handle of the authenticity verification.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                alias:
                  description: The new alias of the authenticity verification.
                  type:
                    - string
                    - 'null'
                  format: alias
                  minLength: 1
                  maxLength: 100
                  example: Verification A
      responses:
        '200':
          description: The updated authenticity verification
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthenticityVerification'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Collision'
  /spaces/{owner}/{space}/verifications/authenticity/{verification}/chunks:
    get:
      operationId: AuthenticityVerificationChunksList
      summary: List the chunks of an authenticity verification
      description: List the paginated details of the chunks of an authenticity verification.
      tags:
        - AuthenticityVerifications
      parameters:
        - in: path
          name: owner
          description: The handle of the owner.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: space
          description: The handle of the space.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: verification
          description: The handle of the authenticity verification.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PageSize'
        - $ref: '#/components/parameters/VerificationChunkSort'
      responses:
        '200':
          description: The requested page of the list of chunks of the authenticity verification
          headers:
            Page-Total:
              $ref: '#/components/headers/PageTotal'
            Page-Size:
              $ref: '#/components/headers/PageSize'
            Page-Current:
              $ref: '#/components/headers/PageCurrent'
            Item-Total:
              $ref: '#/components/headers/ItemTotal'
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AuthenticityVerificationChunk'
  /spaces/{owner}/{space}/verifications/message:
    get:
      operationId: MessageVerificationsList
      summary: List the message verifications in a space
      description: List the paginated details of the message verifications in a space.
      tags:
        - MessageVerifications
      parameters:
        - in: path
          name: owner
          description: The handle of the owner.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: space
          description: The handle of the space.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PageSize'
        - $ref: '#/components/parameters/VerificationSort'
        - $ref: '#/components/parameters/VerificationSearch'
        - $ref: '#/components/parameters/SearchAfter'
          description: The term used to search message verifications after or equal to the specified date.
        - $ref: '#/components/parameters/SearchBefore'
          description: The term used to search message verifications before or equal to the specified date.
        - $ref: '#/components/parameters/MinScore'
        - $ref: '#/components/parameters/MaxScore'
      responses:
        '200':
          description: The requested page of the list of message verifications in the space
          headers:
            Page-Total:
              $ref: '#/components/headers/PageTotal'
            Page-Size:
              $ref: '#/components/headers/PageSize'
            Page-Current:
              $ref: '#/components/headers/PageCurrent'
            Item-Total:
              $ref: '#/components/headers/ItemTotal'
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/MessageVerification'
    post:
      operationId: MessageVerificationsCreate
      summary: Create a message verification
      description: Create a message verification by providing its details.
      tags:
        - MessageVerifications
      parameters:
        - in: path
          name: owner
          description: The handle of the owner.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: space
          description: The handle of the space.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                alias:
                  description: The alias of the new message verification.
                  type:
                    - string
                    - 'null'
                  format: alias
                  minLength: 1
                  maxLength: 100
                  example: Verification A
                model:
                  description: The model used to perform the new message verification. See [message verification models](https://developer.hiya.com/docs/audio-intel/model-index/verification-models#message-verification-models).
                  type: string
                  example: phone
                audio:
                  description: The handle of the audio of the new message verification.
                  type: string
                  format: handle
                  minLength: 1
                  maxLength: 50
                  example: audio-a
                message:
                  description: The message of the new message verification.
                  type: string
                  minLength: 1
                  maxLength: 200
                  example: The blue rhino traveled to distant lands
                language:
                  description: The language of the new message verification.
                  $ref: '#/components/schemas/Language'
              required:
                - model
                - audio
                - message
                - language
      responses:
        '201':
          description: The created message verification
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageVerification'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Collision'
        '429':
          $ref: '#/components/responses/TooManyRequests'
  /spaces/{owner}/{space}/verifications/message/{verification}:
    get:
      operationId: MessageVerificationsGet
      summary: Get a message verification
      description: Get the details of a message verification.
      tags:
        - MessageVerifications
      parameters:
        - in: path
          name: owner
          description: The handle of the owner.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: space
          description: The handle of the space.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: verification
          description: The handle of the message verification.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
      responses:
        '200':
          description: The message verification
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageVerification'
        '404':
          $ref: '#/components/responses/NotFound'
    patch:
      operationId: MessageVerificationsUpdate
      summary: Update a message verification
      description: Update a message verification by providing its new details.
      tags:
        - MessageVerifications
      parameters:
        - in: path
          name: owner
          description: The handle of the owner.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: space
          description: The handle of the space.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: verification
          description: The handle of the message verification.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                alias:
                  description: The new alias of the message verification.
                  type:
                    - string
                    - 'null'
                  format: alias
                  minLength: 1
                  maxLength: 100
                  example: Verification A
      responses:
        '200':
          description: The updated message verification
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageVerification'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Collision'
  /spaces/{owner}/{space}/stats:
    get:
      operationId: SpacesGetStats
      summary: Get the usage statistics of a space
      description: Get the usage statistics of a space.
      tags:
        - Statistics
      parameters:
        - in: path
          name: owner
          description: The handle of the owner.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
        - in: path
          name: space
          description: The handle of the space.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
      responses:
        '200':
          description: The usage statistics of the space
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Stats'
  /records/voiceprint/{record}:
    get:
      operationId: VoiceprintRecordsGet
      summary: Get a voiceprint usage record
      description: Get the details of a voiceprint usage record.
      tags:
        - VoiceprintRecords
      parameters:
        - in: path
          name: record
          description: The handle of the voiceprint usage record.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
      responses:
        '200':
          description: The voiceprint usage record
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VoiceprintRecord'
        '404':
          $ref: '#/components/responses/NotFound'
  /records/verification/{record}:
    get:
      operationId: VerificationRecordsGet
      summary: Get a verification usage record
      description: Get the details of a verification usage record.
      tags:
        - VerificationRecords
      parameters:
        - in: path
          name: record
          description: The handle of the verification usage record.
          schema:
            type: string
            format: handle
            minLength: 1
            maxLength: 50
          required: true
      responses:
        '200':
          description: The verification usage record
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VerificationRecord'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
    ApiKeyAuth:
      type: http
      scheme: bearer
  schemas:
    Session:
      type: object
      properties:
        token:
          description: The Base64-encoded bearer token of the session. Is unique.
          type: string
          format: jwt
          example: eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1c2VyLWEifQ.Enz9YR7aZ9fulmBm9qVP7hA
        issuedAt:
          description: The date and time when the session was issued.
          type: string
          format: date-time
          example: '2023-01-01T00:00:00.000000Z'
        expiresAt:
          description: The date and time when the session expires.
          type: string
          format: date-time
          example: '2023-01-02T00:00:00.000000Z'
      required:
        - token
        - issuedAt
        - expiresAt
    Error:
      type: object
      properties:
        message:
          description: The message of the error.
          type: string
          example: this is an error message
      required:
        - message
    UserState:
      type: string
      enum:
        - verified
        - unverified
        - blocked
      example: verified
    User:
      type: object
      properties:
        id:
          description: The UUID of the user. Is unique.
          type: string
          format: uuid
          example: 00000000-0000-0000-0000-000000000000
        handle:
          description: The handle of the user. Is unique.
          type: string
          format: handle
          example: user-a
        alias:
          description: The alias of the user.
          type:
            - string
            - 'null'
          format: alias
          example: User A
        email:
          description: The email of the user. Is unique.
          type: string
          format: email
          example: user.a@email.com
        emailVerified:
          description: Indicates whether the email of the user has been verified.
          type: boolean
          example: true
        state:
          description: The state of the user.
          $ref: '#/components/schemas/UserState'
        orgs:
          description: The number of organizations of the user.
          type: integer
          format: int32
          example: 10
        spaces:
          description: The number of spaces of the user.
          type: integer
          format: int32
          example: 10
        createdAt:
          description: The date and time when the user was created.
          type: string
          format: date-time
          example: '2023-01-01T00:00:00.000000Z'
      required:
        - id
        - handle
        - alias
        - email
        - state
        - orgs
        - spaces
        - createdAt
    Wallet:
      type: object
      properties:
        creditCents:
          description: The credits of the wallet.
          type: number
          format: int64
          example: 123
      required:
        - creditCents
    Stats:
      type: object
      properties:
        uploadedAudios:
          description: Audios uploaded.
          type: object
          properties:
            count:
              description: The number of audios uploaded.
              type: integer
              format: int32
              example: 1
            duration:
              description: The total duration of audios uploaded.
              type: string
              format: duration
              example: PT7.500S
          required:
            - count
            - duration
        createdIdentities:
          description: The number of identities created.
          type: integer
          format: int32
          example: 1
        createdVoiceprints:
          description: Voiceprints created.
          type: object
          properties:
            count:
              description: The number of voiceprints created.
              type: integer
              format: int32
              example: 1
            duration:
              description: The total duration of voiceprints created.
              type: string
              format: duration
              example: PT7.500S
          required:
            - count
            - duration
        computedVoiceprints:
          description: Voiceprints computed.
          type: object
          properties:
            count:
              description: The number of voiceprints computed.
              type: integer
              format: int32
              example: 1
            duration:
              description: The total duration of voiceprints computed.
              type: string
              format: duration
              example: PT7.500S
          required:
            - count
            - duration
        performedVerifications:
          description: Verifications performed.
          type: object
          properties:
            count:
              description: The number of verifications performed.
              type: integer
              format: int32
              example: 1
            duration:
              description: The total duration of verifications performed.
              type: string
              format: duration
              example: PT7.500S
          required:
            - count
            - duration
        performedIdentityVerifications:
          description: Identity verifications performed.
          type: object
          properties:
            count:
              description: The number of identity verifications performed.
              type: integer
              format: int32
              example: 1
            duration:
              description: The total duration of identity verifications performed.
              type: string
              format: duration
              example: PT7.500S
          required:
            - count
            - duration
        performedAuthenticityVerifications:
          description: Authenticity verifications performed.
          type: object
          properties:
            count:
              description: The number of authenticity verifications performed.
              type: integer
              format: int32
              example: 1
            duration:
              description: The total duration of authenticity verifications performed.
              type: string
              format: duration
              example: PT7.500S
          required:
            - count
            - duration
        performedMessageVerifications:
          description: Message verifications performed.
          type: object
          properties:
            count:
              description: The number of message verifications performed.
              type: integer
              format: int32
              example: 1
            duration:
              description: The total duration of message verifications performed.
              type: string
              format: duration
              example: PT7.500S
          required:
            - count
            - duration
      required:
        - uploadedAudios
        - createdIdentities
        - createdVoiceprints
        - computedVoiceprints
        - performedVerifications
        - performedIdentityVerifications
        - performedAuthenticityVerifications
        - performedMessageVerifications
    Org:
      type: object
      properties:
        id:
          description: The UUID of the organization. Is unique.
          type: string
          format: uuid
          example: 00000000-0000-0000-0000-000000000000
        handle:
          description: The handle of the organization. Is unique.
          type: string
          format: handle
          example: org-a
        alias:
          description: The alias of the organization.
          type:
            - string
            - 'null'
          format: alias
          example: Org A
        members:
          description: The number of members of the organization.
          type: integer
          format: int32
          example: 10
        spaces:
          description: The number of spaces of the organization.
          type: integer
          format: int32
          example: 10
        createdAt:
          description: The date and time when the organization was created.
          type: string
          format: date-time
          example: '2023-01-01T00:00:00.000000Z'
      required:
        - id
        - handle
        - alias
        - members
        - spaces
        - createdAt
    OwnerType:
      type: string
      enum:
        - user
        - org
      example: user
    OwnerSummary:
      type: object
      properties:
        type:
          description: The type of the owner.
          $ref: '#/components/schemas/OwnerType'
        handle:
          description: The handle of the owner. Is unique.
          type: string
          format: handle
          example: user-a
        alias:
          description: The alias of the owner.
          type:
            - string
            - 'null'
          format: alias
          example: User A
      required:
        - type
        - handle
        - alias
    Space:
      type: object
      properties:
        id:
          description: The UUID of the space. Is unique.
          type: string
          format: uuid
          example: 00000000-0000-0000-0000-000000000000
        handle:
          description: The handle of the space. Is unique.
          type: string
          format: handle
          example: space-a
        alias:
          description: The alias of the space.
          type:
            - string
            - 'null'
          format: alias
          example: Space A
        owner:
          description: The owner of the space.
          $ref: '#/components/schemas/OwnerSummary'
        audios:
          description: The number of audios of the space.
          type: integer
          format: int32
          example: 10
        voiceprints:
          description: The number of voiceprints of the space.
          type: integer
          format: int32
          example: 10
        verifications:
          description: The number of verifications of the space.
          type: integer
          format: int32
          example: 10
        identities:
          description: The number of identities of the space.
          type: integer
          format: int32
          example: 10
        createdAt:
          description: The date and time when the space was created.
          type: string
          format: date-time
          example: '2023-01-01T00:00:00.000000Z'
      required:
        - id
        - handle
        - alias
        - owner
        - audios
        - voiceprints
        - verifications
        - identities
        - createdAt
    Key:
      type: object
      properties:
        id:
          description: The UUID of the API key. Is unique.
          type: string
          format: uuid
          example: 00000000-0000-0000-0000-000000000000
        handle:
          description: The handle of the API key. Is unique.
          type: string
          format: handle
          example: key-a
        alias:
          description: The alias of the API key.
          type:
            - string
            - 'null'
          format: alias
          example: Key A
        suffix:
          description: Last 4 characters of the API key token used for identification.
          type: string
          minLength: 0
          maxLength: 4
          example: cWTk
        token:
          description: The token of the API key. This field is deprecated on non POST responses.
          type: string
          deprecated: true
          example: 53y9g8ZNronem8Mv4Aw0h0oxiUWqysmZzKX8cWTk
        createdAt:
          description: The date and time when the API key was created.
          type: string
          format: date-time
          example: '2023-01-01T00:00:00.000000Z'
      required:
        - id
        - handle
        - alias
        - suffix
        - createdAt
    KeyCreate:
      type: object
      properties:
        id:
          description: The UUID of the API key. Is unique.
          type: string
          format: uuid
          example: 00000000-0000-0000-0000-000000000000
        handle:
          description: The handle of the API key. Is unique.
          type: string
          format: handle
          example: key-a
        alias:
          description: The alias of the API key.
          type:
            - string
            - 'null'
          format: alias
          example: Key A
        suffix:
          description: Last 4 characters of the API key token used for identification.
          type: string
          minLength: 0
          maxLength: 4
          example: cWTk
        token:
          description: The token of the API key. Is unique.
          type: string
          example: 53y9g8ZNronem8Mv4Aw0h0oxiUWqysmZzKX8cWTk
        createdAt:
          description: The date and time when the API key was created.
          type: string
          format: date-time
          example: '2023-01-01T00:00:00.000000Z'
      required:
        - id
        - handle
        - alias
        - suffix
        - token
        - createdAt
    UserSummary:
      type: object
      properties:
        handle:
          description: The handle of the user. Is unique.
          type: string
          format: handle
          example: user-a
        alias:
          description: The alias of the user.
          type:
            - string
            - 'null'
          format: alias
          example: User A
      required:
        - handle
        - alias
    VoiceprintState:
      type: string
      enum:
        - notComputable
        - computable
        - computed
      example: notComputable
    IdentitySummary:
      type: object
      properties:
        handle:
          description: The handle of the identity. Is unique.
          type: string
          format: handle
          example: identity-a
        alias:
          description: The alias of the identity.
          type:
            - string
            - 'null'
          format: alias
          example: Identity A
      required:
        - handle
        - alias
    VoiceprintSummary:
      type: object
      properties:
        handle:
          description: The handle of the voiceprint. Is unique.
          type: string
          format: handle
          example: voiceprint-a
        alias:
          description: The alias of the voiceprint.
          type:
            - string
            - 'null'
          format: alias
          example: Voiceprint A
        state:
          description: The state of the voiceprint
          $ref: '#/components/schemas/VoiceprintState'
        identity:
          description: The identity of voiceprint.
          $ref: '#/components/schemas/IdentitySummary'
      required:
        - handle
        - alias
        - identity
    SpaceSummary:
      type: object
      properties:
        handle:
          description: The handle of the space. Is unique.
          type: string
          format: handle
          example: space-a
        alias:
          description: The alias of the space.
          type:
            - string
            - 'null'
          format: alias
          example: Space A
        owner:
          description: The owner of the space.
          $ref: '#/components/schemas/OwnerSummary'
      required:
        - handle
        - alias
        - owner
    VoiceprintRecord:
      type: object
      properties:
        id:
          description: The UUID of the voiceprint usage record. Is unique.
          type: string
          format: uuid
          example: 00000000-0000-0000-0000-000000000000
        handle:
          description: The handle of the voiceprint usage record. Is unique.
          type: string
          format: handle
          example: voiceprint-record-a
        actor:
          description: The user who computed the voiceprint.
          nullable: true
          $ref: '#/components/schemas/UserSummary'
        model:
          description: The model of the voiceprint.
          type: string
          example: phone/v1
        voiceprint:
          description: The voiceprint.
          nullable: true
          $ref: '#/components/schemas/VoiceprintSummary'
        space:
          description: The space in which the voiceprint was computed.
          nullable: true
          $ref: '#/components/schemas/SpaceSummary'
        owner:
          description: The original owner of the voiceprint.
          nullable: true
          $ref: '#/components/schemas/OwnerSummary'
        computedAt:
          description: The date and time when the voiceprint was computed.
          type: string
          format: date-time
          example: '2023-01-01T00:00:00.000000Z'
      required:
        - id
        - handle
        - actor
        - model
        - voiceprint
        - space
        - owner
        - computedAt
    VerificationMode:
      type: string
      enum:
        - restApi
        - websocket
      example: restApi
    VerificationSummary:
      type: object
      properties:
        handle:
          description: The handle of the verification. Is unique.
          type: string
          format: handle
          example: verification-a
        alias:
          description: The alias of the verification.
          type:
            - string
            - 'null'
          format: alias
          example: Verification A
        type:
          description: The type of the verification.
          type: string
          example: authenticity
      required:
        - handle
        - alias
    VerificationRecord:
      type: object
      properties:
        id:
          description: The UUID of the verification usage record. Is unique.
          type: string
          format: uuid
          example: 00000000-0000-0000-0000-000000000000
        handle:
          description: The handle of the verification usage record. Is unique.
          type: string
          format: handle
          example: verification-record-a
        actor:
          description: The user who performed the verification.
          nullable: true
          $ref: '#/components/schemas/UserSummary'
        type:
          description: The type of the verification.
          type: string
          example: authenticity
        mode:
          description: The mode of the verification.
          $ref: '#/components/schemas/VerificationMode'
        model:
          description: The model of the verification.
          type: string
          example: phone/v1
        verification:
          description: The verification.
          nullable: true
          $ref: '#/components/schemas/VerificationSummary'
        space:
          description: The space in which the verification was performed.
          nullable: true
          $ref: '#/components/schemas/SpaceSummary'
        owner:
          description: The original owner of the verification.
          nullable: true
          $ref: '#/components/schemas/OwnerSummary'
        performedAt:
          description: The date and time when the verification was performed.
          type: string
          format: date-time
          example: '2023-01-01T00:00:00.000000Z'
      required:
        - id
        - handle
        - actor
        - type
        - model
        - verification
        - space
        - owner
        - performedAt
    SpaceConfig:
      type: object
      properties:
        audioFileRetention:
          description: The duration of the binary file retention policy for audios in the space.
          type: string
          format: duration
          example: P14D
      required:
        - audioFileRetention
    AudioState:
      type: string
      enum:
        - avaitingFile
        - available
        - notAvailable
      example: available
    Audio:
      type: object
      properties:
        id:
          description: The UUID of the audio. Is unique.
          type: string
          format: uuid
          example: 00000000-0000-0000-0000-000000000000
        handle:
          description: The handle of the audio. Is unique.
          type: string
          format: handle
          example: audio-a
        alias:
          description: The alias of the audio.
          type:
            - string
            - 'null'
          format: alias
          example: Audio A
        state:
          description: The state of the audio.
          $ref: '#/components/schemas/AudioState'
        duration:
          description: The duration of the audio.
          type: string
          format: duration
          example: PT3.500S
        sampleRate:
          description: The sampling sample rate of the audio.
          type: integer
          format: int32
          example: 8000
        identity:
          description: The identity linked to the audio.
          nullable: true
          $ref: '#/components/schemas/IdentitySummary'
        voiceprints:
          description: The number of voiceprints of the audio.
          type: integer
          format: int32
          example: 10
        verifications:
          description: The number of verifications of the audio.
          type: integer
          format: int32
          example: 10
        createdAt:
          description: The date and time when the audio was created.
          type: string
          format: date-time
          example: '2023-01-01T00:00:00.000000Z'
        uploadedAt:
          description: The date and time when the binary file was uploaded.
          type: string
          format: date-time
          example: '2023-01-01T00:00:00.000000Z'
      required:
        - id
        - handle
        - alias
        - state
        - duration
        - sampleRate
        - identity
        - voiceprints
        - verifications
        - createdAt
        - uploadedAt
    Voiceprint:
      type: object
      properties:
        id:
          description: The UUID of the voiceprint. Is unique.
          type: string
          format: uuid
          example: 00000000-0000-0000-0000-000000000000
        handle:
          description: The handle of the voiceprint. Is unique.
          type: string
          format: handle
          example: voiceprint-a
        alias:
          description: The alias of the voiceprint.
          type:
            - string
            - 'null'
          format: alias
          example: Voiceprint A
        state:
          description: The state of the voiceprint
          $ref: '#/components/schemas/VoiceprintState'
        model:
          description: The model of the voiceprint. See [voiceprint models](https://developer.hiya.com/docs/audio-intel/model-index/voiceprint-models).
          type: string
          example: phone/v1
        identity:
          description: The identity of the voiceprint.
          $ref: '#/components/schemas/IdentitySummary'
        totalDuration:
          description: The total duration of the audios added to the voiceprint.
          type: string
          format: duration
          example: PT7.500S
        minAudios:
          description: The minimum number of audios required to compute the voiceprint.
          type: integer
          format: int32
          example: 3
        audios:
          description: The number of audios added to the voiceprint.
          type: integer
          format: int32
          example: 2
        verifications:
          description: The number of verifications of the voiceprint.
          type: integer
          format: int32
          example: 10
        createdAt:
          description: The date and time when the voiceprint was created.
          type: string
          format: date-time
          example: '2023-01-01T00:00:00.000000Z'
        computedAt:
          description: The date and time when the voiceprint was computed.
          type: string
          format: date-time
          example: '2023-01-01T00:00:00.000000Z'
      required:
        - id
        - handle
        - alias
        - state
        - model
        - identity
        - totalDuration
        - minAudios
        - audios
        - verifications
        - createdAt
        - computedAt
    Score:
      type:
        - number
        - 'null'
      format: float
      minimum: 0
      maximum: 1
      example: 0.85
    VerificationType:
      type: string
      enum:
        - identity
        - authenticity
        - message
      example: authenticity
    VerificationState:
      type: string
      enum:
        - performing
        - performed
        - performedWithoutScore
        - error
      example: performed
    AudioSummary:
      type: object
      properties:
        handle:
          description: The handle of the audio. Is unique.
          type: string
          format: handle
          example: audio-a
        alias:
          description: The alias of the audio.
          type:
            - string
            - 'null'
          format: alias
          example: Audio A
        state:
          description: The state of the audio.
          $ref: '#/components/schemas/AudioState'
      required:
        - handle
        - alias
        - state
    Verification:
      type: object
      properties:
        id:
          description: The UUID of the verification. Is unique.
          type: string
          format: uuid
          example: 00000000-0000-0000-0000-000000000000
        handle:
          description: The handle of the verification. Is unique.
          type: string
          format: handle
          example: verification-a
        alias:
          description: The alias of the verification.
          type:
            - string
            - 'null'
          format: alias
          example: Verification A
        type:
          description: The type of the verification.
          $ref: '#/components/schemas/VerificationType'
        state:
          description: The state of the verification.
          $ref: '#/components/schemas/VerificationState'
        model:
          description: The model of the verification.
          type: string
          example: phone/v1
        audio:
          description: The audio of the verification.
          nullable: true
          $ref: '#/components/schemas/AudioSummary'
        duration:
          description: The duration of the audio.
          type: string
          format: duration
          example: PT3.500S
        voiceDuration:
          description: The voice duration of the audio.
          type: string
          format: duration
          example: PT3.500S
        score:
          description: The score of the verification.
          $ref: '#/components/schemas/Score'
        createdAt:
          description: The date and time when the verification was created.
          type: string
          format: date-time
          example: '2023-01-01T00:00:00.000000Z'
        performedAt:
          description: The date and time when the verification was performed.
          type: string
          format: date-time
          example: '2023-01-01T00:00:00.000000Z'
      required:
        - id
        - handle
        - alias
        - type
        - state
        - model
        - audio
        - score
        - createdAt
        - performedAt
    Identity:
      type: object
      properties:
        id:
          description: The UUID of the identity. Is unique.
          type: string
          format: uuid
          example: 00000000-0000-0000-0000-000000000000
        handle:
          description: The handle of the identity. Is unique.
          type: string
          format: handle
          example: identity-a
        alias:
          description: The alias of the identity.
          type:
            - string
            - 'null'
          format: alias
          example: Identity A
        audios:
          description: The number of audios of the identity.
          type: integer
          format: int32
          example: 10
        voiceprints:
          description: The number of voiceprints of the identity.
          type: integer
          format: int32
          example: 10
        verifications:
          description: The number of verifications of the identity.
          type: integer
          format: int32
          example: 10
        createdAt:
          description: The date and time when the identity was created.
          type: string
          format: date-time
          example: '2023-01-01T00:00:00.000000Z'
      required:
        - id
        - handle
        - alias
        - audios
        - voiceprints
        - verifications
        - createdAt
    VerificationSynthesisSources:
      type: object
      properties:
        aws:
          description: The score of the source tracing of the AWS provider.
          $ref: '#/components/schemas/Score'
        azure:
          description: The score of the source tracing of the Azure provider.
          $ref: '#/components/schemas/Score'
        deepgram:
          description: The score of the source tracing of the Deepgram provider.
          $ref: '#/components/schemas/Score'
        elevenlabs:
          description: The score of the source tracing of the ElevenLabs provider.
          $ref: '#/components/schemas/Score'
        google:
          description: The score of the source tracing of the Google provider.
          $ref: '#/components/schemas/Score'
        ibm:
          description: The score of the source tracing of the IBM provider.
          $ref: '#/components/schemas/Score'
        lmnt:
          description: The score of the source tracing of the LMNT provider.
          $ref: '#/components/schemas/Score'
        murf:
          description: The score of the source tracing of the Murf provider.
          $ref: '#/components/schemas/Score'
        openai:
          description: The score of the source tracing of the OpenAI provider.
          $ref: '#/components/schemas/Score'
        playht:
          description: The score of the source tracing of the PlayHT provider.
          $ref: '#/components/schemas/Score'
        speechify:
          description: The score of the source tracing of the Speechify provider.
          $ref: '#/components/schemas/Score'
        other:
          description: The score of the source tracing of the other provider.
          $ref: '#/components/schemas/Score'
    IdentityVerification:
      type: object
      properties:
        id:
          description: The UUID of the identity verification. Is unique.
          type: string
          format: uuid
          example: 00000000-0000-0000-0000-000000000000
        handle:
          description: The handle of the identity verification. Is unique.
          type: string
          format: handle
          example: verification-a
        alias:
          description: The alias of the identity verification.
          type:
            - string
            - 'null'
          format: alias
          example: Verification A
        state:
          description: The state of the identity verification.
          $ref: '#/components/schemas/VerificationState'
        mode:
          description: The mode of the identity verification.
          $ref: '#/components/schemas/VerificationMode'
        model:
          description: The model of the identity verification. See [identity verification models](https://developer.hiya.com/docs/audio-intel/model-index/verification-models#identity-verification-models).
          type: string
          example: phone/v1.0
        audio:
          description: The audio of the identity verification.
          nullable: true
          $ref: '#/components/schemas/AudioSummary'
        voiceprint:
          description: The voiceprint of the identity verification.
          nullable: true
          $ref: '#/components/schemas/VoiceprintSummary'
        duration:
          description: The duration of the audio.
          type: string
          format: duration
          example: PT3.500S
        voiceDuration:
          description: The voice duration of the audio.
          type: string
          format: duration
          example: PT3.500S
        score:
          deprecated: true
          description: The score of the identity verification. This field is deprecated, use `scores.identity` instead. Only returned for the default and telephone models.
          $ref: '#/components/schemas/Score'
        scores:
          description: The scores of the identity verification.
          type: object
          properties:
            identity:
              description: The identity score of the identity verification.
              $ref: '#/components/schemas/Score'
            synthesis:
              description: The synthesis score of the identity verification.
              $ref: '#/components/schemas/Score'
            synthesis_sources:
              description: The synthesis source scores of the identity verification.
              $ref: '#/components/schemas/VerificationSynthesisSources'
            replay:
              description: The replay score of the identity verification.
              $ref: '#/components/schemas/Score'
          required:
            - identity
            - synthesis
            - synthesis_sources
            - replay
        createdAt:
          description: The date and time when the identity verification was created.
          type: string
          format: date-time
          example: '2023-01-01T00:00:00.000000Z'
        performedAt:
          description: The date and time when the identity verification was performed.
          type: string
          format: date-time
          example: '2023-01-01T00:00:00.000000Z'
      required:
        - id
        - handle
        - alias
        - state
        - model
        - audio
        - voiceprint
        - scores
        - createdAt
        - performedAt
    VerificationConfig:
      type: object
      description: The configuration options for verification operations.
      properties:
        synthesisSources:
          description: Enable source tracing to identify synthesis sources during verification.
          type: boolean
          default: false
          example: true
    AuthenticityVerification:
      type: object
      properties:
        id:
          description: The UUID of the authenticity verification. Is unique.
          type: string
          format: uuid
          example: 00000000-0000-0000-0000-000000000000
        handle:
          description: The handle of the authenticity verification. Is unique.
          type: string
          format: handle
          example: verification-a
        alias:
          description: The alias of the authenticity verification.
          type:
            - string
            - 'null'
          format: alias
          example: Verification A
        state:
          description: The state of the authenticity verification.
          $ref: '#/components/schemas/VerificationState'
        mode:
          description: The mode of the authenticity verification.
          $ref: '#/components/schemas/VerificationMode'
        model:
          description: The model of the authenticity verification. See [authenticity verification models](https://developer.hiya.com/docs/audio-intel/model-index/verification-models#authenticity-verification-models).
          type: string
          example: phone/v1
        audio:
          description: The audio of the authenticity verification.
          nullable: true
          $ref: '#/components/schemas/AudioSummary'
        duration:
          description: The duration of the audio.
          type: string
          format: duration
          example: PT3.500S
        voiceDuration:
          description: The voice duration of the audio.
          type: string
          format: duration
          example: PT3.500S
        score:
          deprecated: true
          description: The score of the authenticity verification. This field is deprecated, use `scores.synthesis` instead. Only returned for the default and telephone models.
          $ref: '#/components/schemas/Score'
        subscores:
          deprecated: true
          description: The subscores of the authenticity verification. This field is deprecated, use `scores` instead. Only returned for the default and telephone models.
          type: object
          properties:
            synthesis:
              deprecated: true
              description: The optional synthesis subscore of the authenticity verification. This field is deprecated, use `scores.synthesis` instead.
              $ref: '#/components/schemas/Score'
            replay:
              deprecated: true
              description: The optional replay subscore of the authenticity verification. This field is deprecated.
              $ref: '#/components/schemas/Score'
        scores:
          description: The scores of the authenticity verification.
          type: object
          properties:
            synthesis:
              description: The synthesis score of the authenticity verification.
              $ref: '#/components/schemas/Score'
            synthesisSources:
              description: The synthesis source scores of the authenticity verification.
              $ref: '#/components/schemas/VerificationSynthesisSources'
          required:
            - synthesis
            - synthesis_sources
        chunks:
          description: The number of chunks of the authenticity verification.
          type: integer
          format: int32
          example: 10
        createdAt:
          description: The date and time when the authenticity verification was created.
          type: string
          format: date-time
          example: '2023-01-01T00:00:00.000000Z'
        performedAt:
          description: The date and time when the authenticity verification was performed.
          type: string
          format: date-time
          example: '2023-01-01T00:00:00.000000Z'
      required:
        - id
        - handle
        - alias
        - state
        - model
        - audio
        - scores
        - chunks
        - createdAt
        - performedAt
    VerificationChunkLabel:
      type: string
      enum:
        - validVoice
        - excessiveMusic
        - excessiveNoise
        - insufficientVoice
      example: validVoice
    AuthenticityVerificationChunk:
      type: object
      properties:
        startTime:
          description: The time when the chunk starts.
          type: string
          format: duration
          example: PT0S
        endTime:
          description: The time when the chunk ends.
          type: string
          format: duration
          example: PT3.500S
        label:
          description: The label of the chunk.
          $ref: '#/components/schemas/VerificationChunkLabel'
        duration:
          description: The duration of the chunk.
          type: string
          format: duration
          example: PT3.500S
        voiceDuration:
          description: The voice duration of the chunk.
          type: string
          format: duration
          example: PT3.500S
        score:
          deprecated: true
          description: The score of the chunk. This field is deprecated, use `scores.synthesis` instead. Only returned for the default and telephone models.
          $ref: '#/components/schemas/Score'
        subscores:
          deprecated: true
          description: The subscores of the chunk. This field is deprecated, use `scores` instead. Only returned for the default and telephone models.
          type: object
          properties:
            synthesis:
              deprecated: true
              description: The optional synthesis subscore of the chunk. This field is deprecated, use `scores.synthesis` instead.
              $ref: '#/components/schemas/Score'
            replay:
              deprecated: true
              description: The optional replay subscore of the chunk. This field is deprecated.
              $ref: '#/components/schemas/Score'
        scores:
          description: The scores of the chunk.
          type: object
          properties:
            synthesis:
              description: The synthesis score of the chunk.
              $ref: '#/components/schemas/Score'
          required:
            - synthesis
      required:
        - startTime
        - endTime
        - label
        - scores
    AuthenticityVerificationWithChunks:
      type: object
      properties:
        id:
          description: The UUID of the authenticity verification. Is unique.
          type: string
          format: uuid
          example: 00000000-0000-0000-0000-000000000000
        handle:
          description: The handle of the authenticity verification. Is unique.
          type: string
          format: handle
          example: verification-a
        alias:
          description: The alias of the authenticity verification.
          type:
            - string
            - 'null'
          format: alias
          example: Verification A
        state:
          description: The state of the authenticity verification.
          $ref: '#/components/schemas/VerificationState'
        mode:
          description: The mode of the authenticity verification.
          $ref: '#/components/schemas/VerificationMode'
        model:
          description: The model of the authenticity verification. See [authenticity verification models](https://developer.hiya.com/docs/audio-intel/model-index/verification-models#authenticity-verification-models).
          type: string
          example: phone/v1
        audio:
          description: The audio of the authenticity verification.
          nullable: true
          $ref: '#/components/schemas/AudioSummary'
        duration:
          description: The duration of the audio.
          type: string
          format: duration
          example: PT3.500S
        voiceDuration:
          description: The voice duration of the audio.
          type: string
          format: duration
          example: PT3.500S
        score:
          deprecated: true
          description: The score of the authenticity verification. This field is deprecated, use `scores.synthesis` instead. Only returned for the default and telephone models.
          $ref: '#/components/schemas/Score'
        subscores:
          deprecated: true
          description: The subscores of the authenticity verification. This field is deprecated, use `scores` instead. Only returned for the default and telephone models.
          type: object
          properties:
            synthesis:
              deprecated: true
              description: The optional synthesis subscore of the authenticity verification. This field is deprecated, use `scores.synthesis` instead.
              $ref: '#/components/schemas/Score'
            replay:
              deprecated: true
              description: The optional replay subscore of the authenticity verification. This field is deprecated.
              $ref: '#/components/schemas/Score'
        scores:
          description: The scores of the authenticity verification.
          type: object
          properties:
            synthesis:
              description: The synthesis score of the authenticity verification.
              $ref: '#/components/schemas/Score'
          required:
            - synthesis
        chunks:
          description: The list of chunks of the authenticity verification.
          type: array
          items:
            $ref: '#/components/schemas/AuthenticityVerificationChunk'
        createdAt:
          description: The date and time when the authenticity verification was created.
          type: string
          format: date-time
          example: '2023-01-01T00:00:00.000000Z'
        performedAt:
          description: The date and time when the authenticity verification was performed.
          type: string
          format: date-time
          example: '2023-01-01T00:00:00.000000Z'
      required:
        - id
        - handle
        - alias
        - state
        - model
        - audio
        - scores
        - chunks
        - createdAt
        - performedAt
    Language:
      type: string
      example: en
    MessageVerification:
      type: object
      properties:
        id:
          description: The UUID of the message verification. Is unique.
          type: string
          format: uuid
          example: 00000000-0000-0000-0000-000000000000
        handle:
          description: The handle of the message verification. Is unique.
          type: string
          format: handle
          example: verification-a
        alias:
          description: The alias of the message verification.
          type:
            - string
            - 'null'
          format: alias
          example: Verification A
        state:
          description: The state of the message verification.
          $ref: '#/components/schemas/VerificationState'
        mode:
          description: The mode of the message verification.
          $ref: '#/components/schemas/VerificationMode'
        model:
          description: The model of the message verification. See [message verification models](https://developer.hiya.com/docs/audio-intel/model-index/verification-models#message-verification-models).
          type: string
          example: phone/v1
        audio:
          description: The audio of the message verification.
          nullable: true
          $ref: '#/components/schemas/AudioSummary'
        message:
          description: The message of the message verification.
          type: string
          minLength: 1
          maxLength: 200
          example: The blue rhino traveled to distant lands
        language:
          description: The language of the message verification.
          $ref: '#/components/schemas/Language'
        duration:
          description: The duration of the audio.
          type: string
          format: duration
          example: PT3.500S
        voiceDuration:
          description: The voice duration of the audio.
          type: string
          format: duration
          example: PT3.500S
        score:
          deprecated: true
          description: The score of the message verification. This field is deprecated, use `scores.message` instead. Only returned for the default and telephone models.
          $ref: '#/components/schemas/Score'
        scores:
          description: The scores of the message verification.
          type: object
          properties:
            message:
              description: The message score of the message verification.
              $ref: '#/components/schemas/Score'
          required:
            - message
        createdAt:
          description: The date and time when the message verification was created.
          type: string
          format: date-time
          example: '2023-01-01T00:00:00.000000Z'
        performedAt:
          description: The date and time when the message verification was performed.
          type: string
          format: date-time
          example: '2023-01-01T00:00:00.000000Z'
      required:
        - id
        - handle
        - alias
        - state
        - model
        - audio
        - message
        - language
        - scores
        - createdAt
        - performedAt
  responses:
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Collision:
      description: Resource collision
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NoContent:
      description: No content
      content:
        no-content:
          schema:
            type: string
          example: <no-content>
    TooManyRequests:
      description: Not enough credits
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  parameters:
    Page:
      in: query
      name: page
      description: The index of the page.
      schema:
        type: integer
        format: int32
        minimum: 1
        default: 1
    PageSize:
      in: query
      name: page-size
      description: The maximum size of the pages.
      schema:
        type: integer
        format: int32
        minimum: 1
        maximum: 50
        default: 20
    OrgSort:
      in: query
      name: sort
      description: The criteria used to sort the organizations.
      schema:
        type: string
        enum:
          - handle
          - createdAt
        default: handle
    OrgSearch:
      in: query
      name: search
      description: The term used to search the organizations by handle or alias.
      schema:
        type: string
        example: org-a
    SearchAfter:
      in: query
      name: after
      description: The term used to search data after or equal to the specified date.
      schema:
        oneOf:
          - type: string
            format: date-time
            example: '2023-01-01T00:00:00.000000Z'
          - type: string
            format: date
            example: '2023-01-01'
    SearchBefore:
      in: query
      name: before
      description: The term used to search data before or equal to the specified date.
      schema:
        oneOf:
          - type: string
            format: date-time
            example: '2023-01-01T00:00:00.000000Z'
          - type: string
            format: date
            example: '2023-01-01'
    SpaceSort:
      in: query
      name: sort
      description: The criteria used to sort the spaces.
      schema:
        type: string
        enum:
          - handle
          - createdAt
        default: handle
    SpaceSearch:
      in: query
      name: search
      description: The term used to search the spaces by handle or alias.
      schema:
        type: string
        example: space-a
    KeySort:
      in: query
      name: sort
      description: The criteria used to sort the keys.
      schema:
        type: string
        enum:
          - handle
          - createdAt
        default: handle
    KeySearch:
      in: query
      name: search
      description: The term used to search the keys by handle or alias.
      schema:
        type: string
        example: key-a
    VoiceprintRecordSort:
      in: query
      name: sort
      description: The criteria used to sort the voiceprint usage records.
      schema:
        type: string
        enum:
          - computedAt
        default: computedAt
    VerificationRecordSort:
      in: query
      name: sort
      description: The criteria used to sort the verification usage records.
      schema:
        type: string
        enum:
          - performedAt
        default: performedAt
    UserSort:
      in: query
      name: sort
      description: The criteria used to sort the users.
      schema:
        type: string
        enum:
          - handle
          - createdAt
        default: handle
    UserSearch:
      in: query
      name: search
      description: The term used to search the users by handle or alias.
      schema:
        type: string
        example: user-a
    AudioSort:
      in: query
      name: sort
      description: The criteria used to sort the audios.
      schema:
        type: string
        enum:
          - handle
          - createdAt
          - uploadedAt
        default: createdAt
    AudioSearch:
      in: query
      name: search
      description: The term used to search the audios by handle or alias.
      schema:
        type: string
        example: audio-a
    VoiceprintSort:
      in: query
      name: sort
      description: The criteria used to sort the voiceprints.
      schema:
        type: string
        enum:
          - handle
          - createdAt
          - computedAt
        default: createdAt
    VoiceprintSearch:
      in: query
      name: search
      description: The term used to search the voiceprints by handle or alias.
      schema:
        type: string
        example: user-a
    VerificationSort:
      in: query
      name: sort
      description: The criteria used to sort the verifications.
      schema:
        type: string
        enum:
          - handle
          - createdAt
          - performedAt
        default: createdAt
    VerificationSearch:
      in: query
      name: search
      description: The term used to search the verifications by handle or alias.
      schema:
        type: string
        example: verification-a
    MinScore:
      in: query
      name: min-score
      description: The term used to search verifications with scores higher than or equal to the specified value.
      schema:
        $ref: '#/components/schemas/Score'
    MaxScore:
      in: query
      name: max-score
      description: The term used to search verifications with scores lower than or equal to the specified value.
      schema:
        $ref: '#/components/schemas/Score'
    IdentitySort:
      in: query
      name: sort
      description: The criteria used to sort the identities.
      schema:
        type: string
        enum:
          - handle
          - createdAt
        default: createdAt
    IdentitySearch:
      in: query
      name: search
      description: The term used to search the identities by handle or alias.
      schema:
        type: string
        example: identity-a
    VerificationChunkSort:
      in: query
      name: sort
      description: The field used to sort the verification chunks.
      schema:
        type: string
        enum:
          - index
        default: index
  headers:
    PageTotal:
      schema:
        type: integer
        format: int32
      description: The total number of pages available.
    PageSize:
      schema:
        type: integer
        format: int32
      description: The selected maximum size of the pages.
    PageCurrent:
      schema:
        type: integer
        format: int32
      description: The index of the requested page.
    ItemTotal:
      schema:
        type: integer
        format: int32
      description: The total number of items.
