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

# Verify Account Control

> Verify control for a single verify account.



## OpenAPI

````yaml api-reference/oas-with-internal-removed.yaml post /verify/accounts/{id}/control
openapi: 3.0.1
info:
  title: Orum API
  description: Orum API.
  version: v2022-09-21
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
servers:
  - url: https://api-sandbox.orum.io
  - url: https://vault.api-sandbox.orum.io
security: []
paths:
  /verify/accounts/{id}/control:
    post:
      tags:
        - Verify
      summary: Verify account control
      description: Verify control for a single verify account.
      operationId: post-verify-account-control
      parameters:
        - name: Orum-Version
          in: header
          required: true
          schema:
            $ref: '#/components/schemas/OrumVersion'
          x-orum-error-invalid:
            known-error: version_invalid
          x-orum-error-missing:
            known-error: version_missing
        - name: id
          in: path
          required: true
          description: Orum generated unique id for the account you are verifying.
          schema:
            $ref: '#/components/schemas/OrumId'
          x-orum-error-invalid:
            known-error: unknown_id
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VerifyAccountControlRequest'
        required: true
      responses:
        '200':
          description: 200 response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VerifyAccountResponse'
        '400':
          description: invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ControlErrorResponse'
        '404':
          description: not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: too many requests.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        default:
          description: unexpected error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - oauth2:
            - write:verify-accounts
components:
  schemas:
    OrumVersion:
      type: string
      description: Version of Deliver and Verify APIs. Use v2022-09-21.
      enum:
        - v2022-09-21
    OrumId:
      type: string
      description: Orum generated unique id for the resource.
      format: uuid
    VerifyAccountControlRequest:
      title: VerifyAccountControlRequest
      type: object
      required:
        - statement_code
      properties:
        statement_code:
          allOf:
            - $ref: '#/components/schemas/StatementCode'
          x-orum-error-missing:
            message: >-
              Statement code is required. Pass the statement code from the
              account statement descriptor.
            code: missing_statement_code
          x-orum-error-invalid:
            message: >-
              Statement code is invalid. Pass the statement code from the
              account statement descriptor.
            code: invalid_statement_code
    VerifyAccountResponse:
      title: VerifyAccountResponse
      type: object
      required:
        - account
      properties:
        account:
          $ref: '#/components/schemas/VerifyAccountResponseBase'
    ControlErrorResponse:
      type: object
      properties:
        error_code:
          type: string
        message:
          type: string
        attempts_remaining:
          type: integer
    ErrorResponse:
      type: object
      properties:
        error_code:
          type: string
        message:
          type: string
        details:
          type: object
          description: additional details about the error.
          nullable: true
      required:
        - error_code
        - message
    StatementCode:
      title: StatementCode
      type: string
      pattern: ^[a-zA-Z0-9]{4}$
      description: Text from the account statement descriptor to verify account control.
    VerifyAccountResponseBase:
      title: VerifyAccountResponseBase
      type: object
      required:
        - id
        - created_at
        - updated_at
        - account_number
        - routing_number
        - account_holder_name
        - verification_status
      properties:
        id:
          $ref: '#/components/schemas/OrumId'
        created_at:
          $ref: '#/components/schemas/CreatedAt'
        updated_at:
          $ref: '#/components/schemas/UpdatedAt'
        account_number:
          $ref: '#/components/schemas/UsBankAccountNumber'
        routing_number:
          $ref: '#/components/schemas/AbaRoutingNumber'
        account_holder_name:
          $ref: '#/components/schemas/AccountHolderName'
        email:
          $ref: '#/components/schemas/Email'
        verification_status:
          $ref: '#/components/schemas/VerificationStatus'
        status_reason:
          $ref: '#/components/schemas/VerificationStatusReason'
        ownership_status:
          $ref: '#/components/schemas/OwnershipStatus'
        person:
          $ref: '#/components/schemas/OwnershipPerson'
        business:
          $ref: '#/components/schemas/OwnershipBusiness'
        control_status:
          $ref: '#/components/schemas/ControlStatus'
        debit_status:
          $ref: '#/components/schemas/DebitStatus'
        debit_status_reason:
          $ref: '#/components/schemas/DebitStatusReason'
        estimated_verification_date:
          $ref: '#/components/schemas/EstimatedVerificationDate'
        sender_name:
          $ref: '#/components/schemas/SenderName'
    CreatedAt:
      type: string
      description: Timestamp when the resource was created.
      format: date-time
    UpdatedAt:
      type: string
      description: Timestamp when the resource was last updated.
      format: date-time
    UsBankAccountNumber:
      title: UsBankAccountNumber
      type: string
      pattern: ^(?:\d-{0,1}){3,16}\d$
      description: Account number for US bank account. 4 to 17 digits are acceptable.
    AbaRoutingNumber:
      title: AbaRoutingNumber
      type: string
      pattern: ^\d{9}$
      description: 9-digit American Bankers Association (ABA) routing number.
    AccountHolderName:
      type: string
      description: >-
        Name of account holder. Accepts alphanumeric characters and hyphens,
        dashes, periods, apostrophes, spaces, and diacritics.
      pattern: >-
        ^([
        ’!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăĄąĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĬĭĮįİıĲĳĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňŉŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſ]*|)$
      maxLength: 255
      minLength: 1
    Email:
      type: string
      format: email
      description: >-
        Email address to notify once the statement code is sent to the account
        to verify account control.
    VerificationStatus:
      type: string
      description: Status of account verification.
      enum:
        - pending
        - valid
        - closed
        - invalid
        - failed
    VerificationStatusReason:
      type: string
      description: Status reason for failed, invalid, and closed accounts.
      enum:
        - blocked_account
        - closed_account
        - deceased_party
        - duplicated_transfer
        - invalid_account
        - invalid_field
        - invalid_routing
        - regulatory_error
        - unavailable_financial_institution
        - unexpected_error
        - unsupported_transfer
    OwnershipStatus:
      type: string
      description: Status of account ownership.
      enum:
        - pending
        - full
        - partial
        - not_a_match
        - not_found
    OwnershipPerson:
      description: Ownership details for a person
      type: object
      required:
        - first_name
        - last_name
      properties:
        first_name:
          type: string
        last_name:
          type: string
        phone_number:
          type: string
        first_name_match:
          $ref: '#/components/schemas/OwnershipResult'
        last_name_match:
          $ref: '#/components/schemas/OwnershipResult'
        phone_number_match:
          $ref: '#/components/schemas/OwnershipResult'
        ssn_match:
          $ref: '#/components/schemas/OwnershipResult'
    OwnershipBusiness:
      description: Ownership details for a business
      type: object
      required:
        - business_name
      properties:
        business_name:
          type: string
        phone_number:
          type: string
        business_name_match:
          $ref: '#/components/schemas/OwnershipResult'
        phone_number_match:
          $ref: '#/components/schemas/OwnershipResult'
        tax_id_match:
          $ref: '#/components/schemas/OwnershipResult'
    ControlStatus:
      type: string
      description: Status of account control.
      enum:
        - pending
        - valid
        - canceled
    DebitStatus:
      type: string
      description: Status of account debit.
      enum:
        - pending
        - valid
        - blocked
        - failed
    DebitStatusReason:
      type: string
      description: Status reason for failed and blocked accounts.
      enum:
        - blocked_account
        - closed_account
        - deceased_party
        - duplicated_transfer
        - invalid_account
        - invalid_field
        - invalid_routing
        - regulatory_error
        - unavailable_financial_institution
        - unexpected_error
        - unsupported_transfer
        - debit_blocked
        - unauthorized_transfer
    EstimatedVerificationDate:
      type: string
      description: >-
        Estimated date that the account verification will be complete. Time will
        always be midnight and should be ignored.
      format: date-time
      example: '2023-07-13T00:00:00.000Z'
    SenderName:
      type: string
      description: >-
        Name of sender initiating the verification request. This name will
        appear on the statement and should be recognizable to the account
        holder. Accepts alphanumeric characters and hyphens, dashes, periods,
        apostrophes, spaces, and diacritics.
      pattern: >-
        ^([
        ’!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂăĄąĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĬĭĮįİıĲĳĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňŉŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſ]*|)$
      maxLength: 255
      minLength: 1
    OwnershipResult:
      type: string
      description: Result of Ownership match
      enum:
        - match
        - not_a_match
        - not_found
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://api-sandbox.orum.io/oauth/token
          scopes:
            read:persons: Read persons
            write:persons: Write persons
            read:businesses: Read businesses
            write:businesses: Write businesses
            read:external-accounts: Read external accounts
            write:external-accounts: Write external accounts
            read:cards: Read cards
            write:cards: Write cards
            read:transfers: Read transfers
            write:transfers: Write transfers
            read:transfer-groups: Read transfer groups
            write:transfer-groups: Write transfer groups
            read:schedules: Read schedules
            write:schedules: Write schedules
            read:routing-number-eligibility: Read routing number eligibility
            read:balances: Read balances
            read:reports: Read reports
            write:reports: Write reports
            read:booktransfers: Read book transfers
            write:booktransfers: Write book transfers
            read:subledgers: Read subledgers
            write:subledgers: Write subledgers
            read:verify-accounts: Read verify accounts
            write:verify-accounts: Write verify accounts
            read:webhook-configurations: Read webhook configurations
            write:webhook-configurations: Write webhook configurations
            read:webhook-secret: Read webhook secret
            write:webhook-secret: Write webhook secret
            invoke:webhook: Invoke webhook

````