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

# Secure Citizen Bank Account Verification

> This is a service that verifies bank account details



## OpenAPI

````yaml products/didx-verify/api-reference/v1/openapi.json post /Citizen/AccountVerificationService
openapi: 3.0.1
info:
  title: SecureCitizen.Citizen.Api
  description: >-
    This is the API documentation for Secure Citizen products. Should you
    require further information please contact us on the email provided.
  contact:
    name: Api Contant Name
    email: support@securecitizen.co.za
  license:
    name: Proprietary
    url: https://www.securecitizen.co.za
  version: v1
  x-logo:
    url: >-
      https://securecitizen.co.za/wp-content/uploads/2022/11/Untitled-design-14.svg
    altText: Secure Citizen
servers:
  - url: https://citizen.uat.securecitizen.cloud
security: []
tags:
  - name: Citizen
    description: This details information we can replace to describe this endpoint
  - name: CitizenV
    description: This details information we can replace to describe this endpoint
  - name: CustomClient
    description: This details information we can replace to describe this endpoint
  - name: Partner
    description: This details information we can replace to describe this endpoint
paths:
  /Citizen/AccountVerificationService:
    post:
      tags:
        - Citizen
      summary: Secure Citizen Bank Account Verification
      description: This is a service that verifies bank account details
      operationId: AccountVerificationService
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SCBankAccountVerificationRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TGPDCBankAccountVerificationResponse'
        '401':
          description: Unauthenticated
        '403':
          description: Unauthorized access to this resource
        '500':
          description: Cat-as-trophy
      security:
        - oauth2:
            - sc-citizen
components:
  schemas:
    SCBankAccountVerificationRequest:
      required:
        - AccountNumber
        - AccountType
        - BankName
        - BranchCode
        - IDNumber
        - IDType
        - Initials
        - Surname
      type: object
      properties:
        CRef:
          type: string
          nullable: true
        ConsentRecieved:
          type: boolean
        IDNumber:
          minLength: 1
          type: string
        IDType:
          $ref: '#/components/schemas/EIdentityType'
        BankName:
          $ref: '#/components/schemas/EBankName'
        BranchCode:
          minLength: 1
          type: string
        AccountType:
          $ref: '#/components/schemas/EAccountType'
        AccountNumber:
          minLength: 1
          type: string
        Initials:
          minLength: 1
          type: string
        Surname:
          minLength: 1
          type: string
      additionalProperties: false
    TGPDCBankAccountVerificationResponse:
      type: object
      properties:
        CRef:
          title: Client Reference
          type: string
          description: >-
            This field will return the reference provided by the client to track
            the transaction.
          format: string
          nullable: true
        Status:
          $ref: '#/components/schemas/ExternalStatusEnums'
        Message:
          title: Message
          type: string
          description: >-
            This will return a status of the transaction s well as external
            tracking information.
          format: string
          nullable: true
        RequestedBy:
          title: Requested By
          type: string
          description: This will indicate who requested the data that is being provided.
          nullable: true
        AuthorizedBy:
          title: Authorized By
          type: string
          description: >-
            This will indicate who authorized the provision of the requested
            data
          nullable: true
        result:
          type: boolean
        response_object:
          $ref: '#/components/schemas/BankAccountResultObject'
        result_code:
          $ref: '#/components/schemas/TGPDCResultObject'
        responseObject:
          $ref: '#/components/schemas/BankAccountResultObject'
      additionalProperties: false
    EIdentityType:
      enum:
        - 0
        - 1
        - 2
        - 3
      type: integer
      format: int32
    EBankName:
      enum:
        - 0
        - 1
        - 2
        - 3
        - 4
        - 5
        - 6
        - 7
        - 8
        - 9
        - 10
        - 11
        - 12
        - 13
      type: integer
      format: int32
    EAccountType:
      enum:
        - 0
        - 1
        - 2
        - 3
        - 4
        - 5
      type: integer
      format: int32
    ExternalStatusEnums:
      title: Status
      enum:
        - Success
        - Failure
        - Unknown
        - AuthFailure
        - DataDeserializationError
        - EmptyResults
        - ErrorContactSupport
        - FaceDetectionFailure
        - FaceComparisonFailure
        - NoStatusDefined
        - FaceDetectionQualityTooLow
        - FaceDetectionTooManyFaces
        - FaceDetectionNoFacesFound
        - FaceComparisonError
        - FaceComparisonNotSame
        - GoldenSourceImageNull
        - ProvidedImageNull
        - GoldenSourceNoFacesFound
        - ProvidedImageNoFacesFound
        - GoldenSourceHasTooManyFaces
        - ProvidedImageHasTooManyFaces
        - GoldenSourceQualityTooLow
        - ProvidedImageQualityTooLow
        - GoldenSourceGUIDIncorrect
        - ProvidedImageGUIDIncorrect
        - FaceAPIGeneralError
        - FaceAPIPublicUrlInputError
        - FaceBadInput
        - GoldenSourceIncorrectStringFormat
        - ProvidedImageIncorrectStringFormat
        - SAFPSNPROk
        - SAFPSHANISOk
        - SAFPSNIISOk
        - SAFPSNPRSlow
        - SAFPSHANISSlow
        - SAFPSNIISSlow
        - SAFPSFailure
        - SAFPSPossibleFailure
        - SAFPSNPRFailure
        - SAFPSHANISFailure
        - SAFPSNIISFailure
        - FaceTooClose
        - EyesClosed
        - FaceCloseToBorder
        - FaceCropped
        - FaceIsOccluded
        - FaceNotFound
        - TooManyFaces
        - FaceTooSmall
        - AbsoluteFaceTooSmall
        - RelativeFaceTooSmall
        - FaceAngleTooLarge
        - FailedToPredictLandmarks
        - Active
        - CSuccess
        - AsyncCSuccess
        - IdentificationNumberInvalid
        - IdentificationNumberAgeBelow18
        - UnableToVerifyIdentificationNumberOnDocument
        - UnableToVerifyIdentificationNumberAtGoldenSource
        - GoldenSourceUnavailable
        - MandatoryInformationMissing
        - NPRSuccess
        - HANISNotAvailable
        - InvalidIDNCheckDigitTestNotPassed
        - NPRNotAvailableOnlyPhotoIsReturned
        - IDNRIsNotCurrentlyAValidNPRIDNR
        - IDNRIsMarkedForDeletion
      type: string
      description: >-
        Status values (static strings) to be used for external connection
        management
      format: string
    BankAccountResultObject:
      type: object
      properties:
        status:
          type: string
          nullable: true
        result:
          $ref: '#/components/schemas/Result'
        error_message:
          $ref: '#/components/schemas/ErrorMessage'
      additionalProperties: false
    TGPDCResultObject:
      type: object
      properties:
        name:
          type: string
          nullable: true
        id:
          type: integer
          format: int32
      additionalProperties: false
    Result:
      type: object
      properties:
        AccountVerificationResult:
          $ref: '#/components/schemas/AccountVerificationResult'
      additionalProperties: false
    ErrorMessage:
      type: object
      properties:
        noResult:
          $ref: '#/components/schemas/NoResult'
      additionalProperties: false
    AccountVerificationResult:
      type: object
      properties:
        ResultFile:
          $ref: '#/components/schemas/ResultFile'
        SubscriberInputDetails:
          $ref: '#/components/schemas/SubscriberInputDetails'
      additionalProperties: false
    NoResult:
      type: object
      properties:
        error:
          type: string
          nullable: true
      additionalProperties: false
    ResultFile:
      type: object
      properties:
        RecordIndicator:
          type: string
          nullable: true
        SequenceNumber:
          type: string
          nullable: true
        BranchNumber:
          type: string
          nullable: true
        AccountNumber:
          type: string
          nullable: true
        AccountType:
          type: string
          nullable: true
        IdNumber:
          type: string
          nullable: true
        IdType:
          type: string
          nullable: true
        Initials:
          type: string
          nullable: true
        Surname:
          type: string
          nullable: true
        EmailAddress:
          nullable: true
        ContactNumber:
          nullable: true
        TaxReferenceNumber:
          type: string
          nullable: true
        ClientUserReference:
          type: string
          nullable: true
        SubBillingId:
          type: string
          nullable: true
        ErrorConditionNumber:
          type: string
          nullable: true
        AccountFound:
          type: string
          nullable: true
        IdNumberMatch:
          type: string
          nullable: true
        InitialsMatch:
          type: string
          nullable: true
        SurnameMatch:
          type: string
          nullable: true
        Account-Open:
          type: string
          nullable: true
        AccountDormant:
          type: string
          nullable: true
        AccountOpenForAtLeastThreeMonths:
          type: string
          nullable: true
        AccountAcceptsDebits:
          type: string
          nullable: true
        AccountAcceptsCredits:
          type: string
          nullable: true
        EmailMatch:
          type: string
          nullable: true
        PhoneMatch:
          type: string
          nullable: true
        TaxReferenceMatch:
          type: string
          nullable: true
        AccountIssuer:
          type: string
          nullable: true
        AccountTypeReturn:
          type: string
          nullable: true
      additionalProperties: false
    SubscriberInputDetails:
      type: object
      properties:
        EnquiryDate:
          type: string
          format: date-time
        EnquiryType:
          type: string
          nullable: true
        SubscriberName:
          type: string
          nullable: true
        SubscriberUserName:
          type: string
          nullable: true
        EnquiryInput:
          type: string
          nullable: true
        EnquiryStatus:
          type: string
          nullable: true
        XDsRefNo:
          type: string
          nullable: true
        ExternalRef:
          nullable: true
        IDNo:
          type: string
          nullable: true
        SurName:
          type: string
          nullable: true
        Initials:
          type: string
          nullable: true
        AccountNo:
          type: string
          nullable: true
        BankName:
          type: string
          nullable: true
        BranchCode:
          type: string
          nullable: true
        AccountType:
          type: string
          nullable: true
        EmailAddress:
          nullable: true
        ContactNumber:
          nullable: true
        RequesterFirstName:
          nullable: true
        RequesterSurName:
          nullable: true
        refnumber:
          type: string
          nullable: true
      additionalProperties: false
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://sts.uat.securecitizen.cloud/connect/authorize
          tokenUrl: https://sts.uat.securecitizen.cloud/connect/token
          scopes:
            sc-citizen: SecureCitizen.Citizen.Api

````