> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ezyshield.com.au/llms.txt
> Use this file to discover all available pages before exploring further.

# Create a verification

> Requires the `verification:write` ability.



## OpenAPI

````yaml /api-reference/api.json post /verifications
openapi: 3.1.0
info:
  title: ezyshield
  version: 0.0.1
servers:
  - url: https://app.ezyshield.com.au/api
    description: Production
  - url: https://sandbox.ezyshield.com.au/api
    description: Sandbox
security:
  - http: []
tags:
  - name: Organizations
  - name: API Keys
  - name: Verifications
  - name: Checks
  - name: ABA checks
  - name: Webhook Subscriptions
  - name: Webhook Events
paths:
  /verifications:
    post:
      tags:
        - Verifications
      summary: Create a verification
      description: Requires the `verification:write` ability.
      operationId: verifications.store
      parameters:
        - name: fields[verifications]
          in: query
          schema:
            type: array
            items:
              type: string
              enum:
                - status
                - individual_confirmation_mode
                - send_individual_confirmation_sms
                - send_individual_confirmation_email
                - accept_close_match
                - attribution_id
                - individual_confirmation_url
                - failure_reason
                - check_results
                - created_at
                - updated_at
          explode: false
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StoreVerificationRequest'
      responses:
        '201':
          description: '`VerificationResource`'
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/VerificationResource'
                required:
                  - data
        '401':
          $ref: '#/components/responses/AuthenticationException'
        '403':
          $ref: '#/components/responses/AuthorizationException'
        '422':
          $ref: '#/components/responses/ValidationException'
components:
  schemas:
    StoreVerificationRequest:
      type: object
      properties:
        business_name:
          type:
            - string
            - 'null'
          description: >-
            Business name. When present, business_abn is required and business
            checks are run.
          maxLength: 255
        business_abn:
          type:
            - string
            - 'null'
          description: >-
            Australian Business Number (ABN). Must be 11 digits. Required when
            business_name is present.
        account_name:
          type: string
          description: Bank account name.
          maxLength: 255
        account_bsb:
          type: string
          description: Bank State Branch (BSB) code. Must be 6 digits.
        account_number:
          type: string
          description: Bank account number. Must be 6-10 digits.
        individual_name:
          type:
            - string
            - 'null'
          description: >-
            Individual's full legal name. When present, individual confirmation
            mode is required and individual checks are run.

            Must include a space between first name(s) and last name (e.g.,
            "John Michael Doe").
          pattern: ^[^\s]+\s+[^\s]+
          maxLength: 255
        individual_mobile:
          type:
            - string
            - 'null'
          description: >-
            Individual's Australian mobile number. Required when
            `send_individual_confirmation_sms` is true.


            The mobile number is also used for the individual's identity
            fingerprint. When successive verifications are requested via a
            common `attribution_id` and the `individual_confirmation_mode` is
            `kyc`, the mobile number is used to identify the individual. When
            the details have not changed, we fallback to biometric
            authentication for less friction, using the identification the
            individual provided in the last successful verification.
        individual_email:
          type:
            - string
            - 'null'
          format: email
          description: Individual's email address.
        individual_confirmation_mode:
          $ref: '#/components/schemas/IndividualConfirmationMode'
          description: >-
            Verification mode for the individual.

            - `kyc`: Run full KYC to establish identity (biometric
            authentication on subsequent verifications).

            - `biometric`: Biometric authentication with client-provided
            portrait image.

            - `skip`: Skip individual verification entirely. Required when
            individual_name is present. Must be omitted when individual_name is
            omitted.
        send_individual_confirmation_sms:
          type: boolean
          description: >-
            Whether to send the confirmation link to the individual via SMS. KYC
            and biometric verifications require at least one confirmation
            delivery channel.

            Must be omitted when `individual_confirmation_mode` is `skip` or
            when individual_name is omitted.
        send_individual_confirmation_email:
          type: boolean
          description: >-
            Whether to send the confirmation link to the individual via email.
            KYC and biometric verifications require at least one confirmation
            delivery channel.

            Must be omitted when `individual_confirmation_mode` is `skip` or
            when individual_name is omitted.
        individual_portrait_image:
          type: string
          description: >-
            Individual's government-issued ID portrait image. Required for
            biometric authentication when `individual_confirmation_mode` is
            `biometric`. The image must be a valid base64-encoded JPEG or PNG
            image up to 5MB when decoded. The data URI prefix `data:[MIME
            type];base64,` is optional.


            Required when `individual_confirmation_mode` is `biometric`,
            otherwise it must be omitted.
          example: data:image/jpeg;base64,/9j/...
        attribution_id:
          type:
            - string
            - 'null'
          description: Attribution identifier for grouping related verifications.
          maxLength: 255
        accept_close_match:
          type: boolean
          description: >-
            Whether to accept close match results for verifications. When true,
            the bank account name check will pass on both exact match and close
            match results.

            Defaults to false.
      required:
        - account_name
        - account_bsb
        - account_number
      title: StoreVerificationRequest
    VerificationResource:
      type: object
      properties:
        id:
          type: string
          format: uuid
        type:
          type: string
          const: verifications
        attributes:
          type: object
          properties:
            status:
              type: string
              description: Current status of the verification.
            individual_confirmation_mode:
              type: string
              description: Verification mode for the individual.
            send_individual_confirmation_sms:
              type: string
              description: Whether confirmation SMS is sent to the individual.
            send_individual_confirmation_email:
              type: string
              description: Whether confirmation email is sent to the individual.
            accept_close_match:
              type: string
              description: Whether to accept close match for individual verifications.
            attribution_id:
              type: string
              description: The attribution ID optionally provided upon creation.
            individual_confirmation_url:
              type: string
              description: Confirmation URL for the individual to complete verification.
            failure_reason:
              type: string
              description: Human-readable reason why the verification failed.
            check_results:
              type:
                - object
                - 'null'
              description: Array of verification check results.
              additionalProperties:
                type: object
                additionalProperties:
                  type: string
            created_at:
              type: string
              description: ISO 8601 formatted date-time.
            updated_at:
              type: string
              description: ISO 8601 formatted date-time.
      required:
        - id
        - type
      title: VerificationResource
    IndividualConfirmationMode:
      type: string
      enum:
        - kyc
        - biometric
        - skip
      title: IndividualConfirmationMode
  responses:
    AuthenticationException:
      description: Unauthenticated
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                description: Error overview.
            required:
              - message
    AuthorizationException:
      description: Authorization error
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                description: Error overview.
            required:
              - message
    ValidationException:
      description: Validation error
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                description: Errors overview.
              errors:
                type: object
                description: A detailed description of each field that failed validation.
                additionalProperties:
                  type: array
                  items:
                    type: string
            required:
              - message
              - errors
  securitySchemes:
    http:
      type: http
      scheme: bearer

````