swagger: '2.0'
info:
  description: "Bank Account Verification  API.<br/><br><img src='https://developer.circulodecredito.com.mx/sites/default/files/2020-10/circulo_de_credito-apihub.png' height='40' width='170'/></p><br/>"
  version: '1.0.0'
  title: 'Bank Account Verification API'
  termsOfService: 'https://developer.circulodecredito.com.mx/legal-mx'
  contact:
    email: 'api@circulodecredito.com.mx'
host: 'services.circulodecredito.com.mx'
basePath: '/'
tags:
  - name: 'Bank Account Verification API'
    externalDocs:
      description: 'API Hub'
      url: 'https://developer.circulodecredito.com.mx/en/products/bavs'
schemes:
  - 'https'
parameters:
  x-api-key:
    in: 'header'
    name: 'x-api-key'
    description: 'The Consumer Key assigned to the application you have registered in API Hub.'
    required: true
    type: 'string'
  username:
    in: 'header'
    name: 'username'
    description: 'Username of the inquiry user.'
    required: true
    type: 'string'
  password:
    in: 'header'
    name: 'password'
    description: 'Password of the inquiry user.'
    required: true
    type: 'string'
  x-signature_body:
    in: 'header'
    name: 'x-signature'
    description: 'Signature created with your private key (SHA256withECDSA - secp384r). API Hub verifies the signature matches with the request body using your public key. Your public key must be uploaded in the API Hub Portal Applications section.'
    required: true
    type: 'string'
  x-signature_url:
    in: 'header'
    name: 'x-signature'
    description: 'Signature created with your private key (SHA256withECDSA - secp384r). API Hub verifies the signature matches with the URL using your public key. Your public key must be uploaded in the API Hub Portal Applications section.'
    required: true
    type: 'string'
  inquiryId:
    in: 'path'
    name: 'inquiryId'
    description: 'The identifier of the inquiry.'
    required: true
    type: 'string'
  page:
    in: 'query'
    name: 'page'
    description: 'Page to query.'
    required: false
    type: 'integer'
  perPage:
    in: 'query'
    name: 'perPage'
    description: 'Rows per page.'
    required: false
    type: 'integer'
  startAt:
    in: 'query'
    name: 'startAt'
    description: 'Initial date. As defined by date-time - RFC3339.'
    required: false
    type: 'string'
    format: 'date-time'
  endAt:
    in: 'query'
    name: 'endAt'
    description: 'End date.  As defined by date-time - RFC3339.'
    required: false
    type: 'string'
    format: 'date-time'
  inquiryStatus:
    in: 'query'
    name: 'inquiryStatus'
    description: 'Inquiry status.'
    enum: ["RI", "SN", "DN", "NDN", "CI"]
    required: false
    type: 'string'
  successCheck:
    in: 'query'
    name: 'successCheck'
    description: 'Inquiry process result.'
    required: false
    type: 'boolean'
paths:
  '/v1/bavs/accountValidator/{inquiryId}':
    get:
      summary: 'Returns the account validator process payload.'
      #description: '<p>Returns the account validator process payload associated with the inquiry. The inquiry is identified by the <samp>{inquiryId}</samp> path parameter.</p><p>Remember the inquiry status of every validator process gives you more information about the process stage.</p><p><b>Inquiry Status</b></p><table border="1"><tr align="center"><td><h4>Received Inquiry</h4></td><td width="10%"><h4>RI</h4></td><td align="left">Círculo de Crédito has received the account validator inquiry. Círculo de Crédito will begin processing it as soon as possible.</td></tr><tr align="center"><td><h4>Sending Notification</h4></td><td width="10%"><h4>SN</h4></td><td align="left">Círculo de Crédito has processed the inquiry. Círculo de Crédito is sending the Webhook event notification through the API Hub.</td></tr><tr align="center"><td><h4>Delivered Notification</h4></td><td width="10%"><h4>DN</h4></td><td align="left">Círculo de Crédito has finished the processing of the inquiry. Círculo de Crédito sent the notification to the Webhook API through API Hub and it received the respective acknowledge.</td></tr><tr align="center"><td><h4>Not Delivered Notification</h4></td><td width="10%"><h4>NDN</h4></td><td align="left">Círculo de Crédito has completed the processing of the inquiry. Círculo de Crédito tried to send the notification to the  Webhook API on several times, however, it never got the acknowledge.</td></tr><tr align="center"><td><h4>Consumed Inquiry</h4></td><td width="10%"><h4>CI</h4></td><td align="left">You have consumed the response payload associated with the inquiry regardless of the outcome of the notification process.</td></tr><tr align="center"><td><h4>Expired Inquiry</h4></td><td width="10%"><h4>EI</h4></td><td align="left">The inquiry and the associated result have been archived. Only inquiries that have been made in the last 30 days will be shown. The inquiries that have the EI status are not showing.</td></tr></table>'
      description: '<p>Returns the account validator process payload associated with the inquiry. The inquiry is identified by the <samp>{inquiryId}</samp> path parameter.</p><table border="1"><tr align="center"><td><h4>The account doesnt exist, rejected by the bank</h4></td><td width="10%"><h4>404.1</h4></td></tr><tr align="center"><td><h4>Rejeccted due the bank</h4></td><td width="10%"><h4>400.1</h4></td></tr><tr align="center"><td><h4>Service Unavailable</h4></td><td width="10%"><h4>503.1</h4></td></tr><tr align="center"><td><h4>Received, paid and the return to the account was generated.</h4></td><td width="10%"><h4>200.10</h4></td></tr><tr align="center"><td><h4>Successful transfer without CEP generation</h4></td><td width="10%"><h4>205.1</h4></td></tr><tr align="center"><td><h4>Service Unavailable</h4></td><td width="10%"><h4>503.2</h4></td></tr><tr align="center"><td><h4>The CEP has inconsistencies</h4></td><td width="10%"><h4>503.3</h4></td></tr><tr align="center"><td><h4>An error occurred while downloading the XML</h4></td><td width="10%"><h4>503.4</h4></td></tr><tr align="center"><td><h4>Rejected by Banxico</h4></td><td width="10%"><h4>200.6</h4></td></tr><tr align="center"><td><h4>Canceled by Banxico</h4></td><td width="10%"><h4>200.7</h4></td></tr><tr align="center"><td><h4>Success tranfer, XML not available</h4></td><td width="10%"><h4>208.0</h4></td></tr><tr align="center"><td><h4>Received, paid and the return to the account was generated.</h4></td><td width="10%"><h4>200.10</h4></td></tr><tr align="center"><td><h4>Successful transfer without CEP generation</h4></td><td width="10%"><h4>208.1</h4></td></tr></table>'
      tags:
        - 'Bank Account Verification API'
      operationId: 'getAcountValidator'
      parameters:
        - $ref: '#/parameters/x-api-key'
        - $ref: '#/parameters/username'
        - $ref: '#/parameters/password'
        - $ref: '#/parameters/x-signature_url'
        - $ref: '#/parameters/inquiryId'
      consumes:
        - 'application/json'
      produces:
        - 'application/json'
      responses:
        '200':
          description: 'OK - Returns the employment verification process information.'
          schema:
            $ref: '#/definitions/AckSuccessEVConsumption'
        '400':
          description: 'Bad request.'
          schema:
            $ref: '#/definitions/Errors'
          examples:
            application/json:
              errors:
                - code: "400"
                  message: "Missign parameters {x-api-key}."
        '401':
          description: 'Unauthorized.'
          schema:
            $ref: '#/definitions/Errors'
          examples:
            application/json:
              errors:
                - code: '401.1'
                  message: 'Unauthorized, invalid x-api-key.'
                - code: '401.2'
                  message: 'Unauthorized, invalid credentials.'
                - code: '401.3'
                  message: 'Unauthorized, you do not have the product.'
                - code: '401.4'
                  message: 'Unauthorized, you do not have access to the resource.'
        '403':
          description: 'Forbidden.'
          schema:
            $ref: '#/definitions/Errors'
          examples:
            application/json:
              errors:
                - code: '403.1'
                  message: 'We could not verify the signature, x-signature is invalid.'
        '404':
          description: 'Inquiry not found.'
          schema:
            $ref: '#/definitions/AckFailureEVConsumption'
          examples:
            application/json:
              errors:
                - code: '404.1'
                  message: Inquiry not found.
        '425':
          description: 'Too early - The employment verification process associated with the {inquiryId} path parameter has not yet been completed.'
          schema:
            $ref: '#/definitions/Errors'
          examples:
            application/json:
                errors:
                  - code: "425"
                    message: "The employment verification process associated with the {inquiryId} path parameter has not yet been completed."
        '429':
          description: 'Too many requests.'
          schema:
            $ref: '#/definitions/Errors'
          examples:
            application/json:
              errors:
                - code: "429"
                  message: "Too many requests."
        '503':
          description: "Service unavailable."
          schema:
            $ref: '#/definitions/Errors'
          examples:
            application/json:
              errors:
                - code: "503"
                  message: "Service unavailable."
  
  '/v1/bavs/accountValidator':
    post:
      summary: 'Requests a account validator process.'
      description: '<p>Requests a account validator process.'
      tags:
        - 'Bank Account Verification API'
      operationId: 'accountValidatorAPI'
      consumes:
        - 'application/json'
      produces:
        - 'application/json'
      parameters:
        - $ref: '#/parameters/x-api-key'
        - $ref: '#/parameters/username'
        - $ref: '#/parameters/password'
        - $ref: '#/parameters/x-signature_url'
        - $ref: '#/parameters/inquiryId'
        - in: 'body'
          name: 'request'
          description: 'Input parameters in order to start a employment verification process.'
          required: true
          schema:
            $ref: '#/definitions/AccountValidatorWithPrivacyNotice'
      responses:
        '200':
          description: 'OK - Returns an acount validator request acknowledge.'
          schema:
            $ref: '#/definitions/AckEVRequest'
        '400':
          description: 'Bad request.'
          schema:
            $ref: '#/definitions/Errors'
          examples:
            application/json:
              errors:
                - code: "400"
                  message: "Missign parameters {fields name}"
        '401':
          description: 'Unauthorized.'
          schema:
            $ref: '#/definitions/Errors'
          examples:
            application/json:
              errors:
                - code: '401.1'
                  message: 'Unauthorized, invalid x-api-key.'
                - code: '401.2'
                  message: 'Unauthorized, invalid credentials.'
                - code: '401.3'
                  message: 'Unauthorized, you do not have the product.'
                - code: '401.4'
                  message: 'Unauthorized, you do not have access to the resource.'
        '403':
          description: 'Forbidden.'
          schema:
            $ref: '#/definitions/Errors'
          examples:
            application/json:
              errors:
                - code: '403.1'
                  message: 'We could not verify the signature, x-signature is invalid.'
        '429':
          description: 'Too many requests.'
          schema:
            $ref: '#/definitions/Errors'
          examples:
            application/json:
              errors:
                - code: "429"
                  message: "Too many requests."
        '500':
          description: "Internal server error."
          schema:
            $ref: '#/definitions/Errors'
          examples:
            application/json:
              errors:
                - code: "500"
                  message: "There was an unexpected error, try again later."
        '503':
          description: "Service unavailable."
          schema:
            $ref: '#/definitions/Errors'
          examples:
            application/json:
              errors:
                - code: "503"
                  message: "Service unavailable."

definitions:
  PrivacyNotice:
    description: 'The privacy notice the Customer must accept.'
    type: 'object'
    required:
      - 'acceptance'
      - 'address'
    properties:
      acceptanceDate:
        type: 'string'
        format: 'date-time'
        description: 'Date and time of the privacy notice acceptance. As defined by date-time - RFC3339.'
        example: '2020-04-12T22:20:50.52Z'
      acceptance:
        type: 'string'
        description: 'Y if the Customer has accepted the privacy notice otherwise these field must be N.'
        minLength: 1
        maxLength: 1
        enum:
          - 'Y'
          - 'N'

  AccountValidatorWithPrivacyNotice:
    description: 'Account Validator information. It must include the the privacy notice customer acceptance.'
    type: 'object'
    required:
      
      - 'accountValidator'
    properties:
      accountValidator:
        $ref: '#/definitions/AccountValidator'
  AccountValidatorId:
    description: 'Identifier of the account validator process.'
    type: 'object'
    properties:
      externalId:
        type: 'string'
        format: 'uuid'
        minLength: 36
        maxLength: 36
        description: 'The identifier of the account validator request given by the API consumer (UUID).'
        example: '391d151f-1cac-44e7-a05b-79a1199621d6'
      subscriptionId:
        type: 'string'
        format: 'uuid'
        minLength: 36
        maxLength: 36
        description: 'The API Hub event subscription identifier (UUID).'
        example: '7c8a0230-36e0-43f4-9b7a-581dc55ea9c3'
      inquiryId:
        type: 'string'
        format: 'uuid'
        minLength: 36
        maxLength: 36
        description: 'The account validator process identifier given by Círculo de Crédito.'
        example: 'a19fb6b8-2677-44f2-9cd7-3b2f78bb6f8c'
        readOnly: true
  AccountValidator:
    description: 'Account Validator information'
    type: 'object'
    allOf:
      - $ref: '#/definitions/AccountValidatorId'
    required:
      - 'externalId'
      - 'subscriptionId'
      - 'bankId'
      - 'accountIdentifier'
      - 'name'
      - 'identifierType'
      - 'accountType'
      - 'verifierCompany'
    properties:
      bankId:
        type: integer
        example: 40012
        maximum: 99999
        minimum: 1000
        description: Validate bank catalog from Banxico "https://www.banxico.org.mx/cep-scl/listaInstituciones.do"
      accountType:
        description: '1 = persona fisica, 2 = persona moral'
        type: 'string'
        enum: ["1", "2"]
        example: "1"
      identifierType:
        description: 'Account  Type "CLABE", "AccountNumber".'
        type: 'string'
        enum: ["CLABE", "AccountNumber"]
        example: "CLABE"
      accountIdentifier:
        description: ' Clabe or Number account of the recipient of the transaction to validate.'
        type: 'string'
        minLength: 16
        maxLength: 18
        example: '123456789012345678'
        pattern: "^[0-9]{16,18}$"
      name:
        type: 'string'
        minLength: 1
        maxLength: 100
        description: 'name or business name'
        example: 'Juan'
        pattern: '^[A-Za-z àèìòùÀÈÌÒÙáéíóúýÁÉÍÓÚÝâêîôûÂÊÎÔÛãñõÃÑÕäëïöüÿÄËÏÖÜŸçÇßØøÅåÆæœ& 0-9]{1,100}$'
      secondName:
        type: 'string'
        minLength: 1
        maxLength: 100
        description: 'Second name'
        example: 'Pruebas'
        pattern: '^[A-Za-z àèìòùÀÈÌÒÙáéíóúýÁÉÍÓÚÝâêîôûÂÊÎÔÛãñõÃÑÕäëïöüÿÄËÏÖÜŸçÇßØøÅåÆæœ 0-9]{1,100}$'
      lastName:
        description: 'last name'
        type: 'string'
        minLength: 1
        maxLength: 100
        example: "ocho"
        pattern: '^[A-Za-z àèìòùÀÈÌÒÙáéíóúýÁÉÍÓÚÝâêîôûÂÊÎÔÛãñõÃÑÕäëïöüÿÄËÏÖÜŸçÇßØøÅåÆæœ 0-9]{1,100}$'
      secondLastName:
        description: 'second last name'
        type: 'string'
        minLength: 1
        maxLength: 100
        example: "seis"
        pattern: '^[A-Za-z àèìòùÀÈÌÒÙáéíóúýÁÉÍÓÚÝâêîôûÂÊÎÔÛãñõÃÑÕäëïöüÿÄËÏÖÜŸçÇßØøÅåÆæœ 0-9]{1,100}$'
      citizenId:
        description: 'Mexican CURP'
        type: 'string'
        minLength: 18
        maxLength: 18
        example: "SSSS010101SSSSXXXX"
        pattern: "^[A-Za-z0-9]{18,18}$"
      taxPayerIdentificationNumber:
        description: 'Mexican RFC'
        type: 'string'
        example: "SSSS010101XXX"
        minLength: 10
        maxLength: 13
        pattern: "^[A-Za-z0-9]{10,13}$"
      verifierCompany:
        description: 'Nombre empresa verificadora sin espacios'
        type: 'string'
        example: 'Empresa1'
        minLength: 1
        maxLength: 14
        pattern: "^[A-Za-z0-9]{1,14}$"
  AccountValidators:
    description: 'A list of account validator processes.'
    type: 'array'
    items:
      $ref: '#/definitions/AccountValidator'
  AccountValidatorMetadata:
    description: 'Metadata (paging information) of the list of employment verification processes.'
    type: 'object'
    properties:
      _metadata:
        $ref: '#/definitions/Metadata'
      inquiries:
        $ref: '#/definitions/AccountValidators'
  CatalogBank:
    description: '<table style="width:100%;"><thead><tr><th>Code</th><th>Bank</th></tr></thead><tbody><tr><td>40138</td><td>ABC CAPITAL</td></tr> <tr><td>40133</td><td>ACTINVER</td></tr> <tr><td>40062</td><td>AFIRME</td></tr> <tr><td>90638</td><td>NU MEXICO</td></tr> <tr><td>90710</td><td>NVIO</td></tr> <tr><td>40103</td><td>AMERICAN EXPRES</td></tr> <tr><td>90659</td><td>ASP INTEGRA OPC</td></tr> <tr><td>40128</td><td>AUTOFIN</td></tr> <tr><td>40127</td><td>AZTECA</td></tr> <tr><td>37166</td><td>BaBien</td></tr> <tr><td>40030</td><td>BAJIO</td></tr> <tr><td>40002</td><td>BANAMEX</td></tr> <tr><td>40154</td><td>BANCO FINTERRA</td></tr> <tr><td>37006</td><td>BANCOMEXT</td></tr> <tr><td>40137</td><td>BANCOPPEL</td></tr> <tr><td>40160</td><td>BANCO S3</td></tr> <tr><td>40152</td><td>BANCREA</td></tr> <tr><td>37019</td><td>BANJERCITO</td></tr> <tr><td>40147</td><td>BANKAOOL</td></tr> <tr><td>40106</td><td>BANK OF AMERICA</td></tr> <tr><td>37009</td><td>BANOBRAS</td></tr> <tr><td>40072</td><td>BANORTE</td></tr> <tr><td>91872</td><td>BANORTE2</td></tr> <tr><td>40058</td><td>BANREGIO</td></tr> <tr><td>40060</td><td>BANSI</td></tr> <tr><td>40159</td><td>BANK OF CHINA</td></tr> <tr><td>2001</td><td>BANXICO</td></tr> <tr><td>40129</td><td>BARCLAYS</td></tr> <tr><td>40145</td><td>BBASE</td></tr> <tr><td>40012</td><td>BBVA BANCOMER</td></tr> <tr><td>40112</td><td>BMONEX</td></tr> <tr><td>90677</td><td>CAJA POP MEXICA</td></tr> <tr><td>90683</td><td>CAJA TELEFONIST</td></tr> <tr><td>90648</td><td>CB Evercore</td></tr> <tr><td>90630</td><td>CB INTERCAM</td></tr> <tr><td>40143</td><td>CIBANCO</td></tr> <tr><td>90631</td><td>CI BOLSA</td></tr> <tr><td>90901</td><td>CLS</td></tr> <tr><td>90903</td><td>CoDi Valida</td></tr> <tr><td>40130</td><td>COMPARTAMOS</td></tr> <tr><td>40140</td><td>CONSUBANCO</td></tr> <tr><td>90652</td><td>CREDICAPITAL</td></tr> <tr><td>90688</td><td>CREDICLUB</td></tr> <tr><td>40126</td><td>CREDIT SUISSE</td></tr> <tr><td>90680</td><td>CRISTOBAL COLON</td></tr> <tr><td>40124</td><td>DEUTSCHE</td></tr> <tr><td>40151</td><td>DONDE</td></tr> <tr><td>90606</td><td>ESTRUCTURADORES</td></tr> <tr><td>90616</td><td>FINAMEX</td></tr> <tr><td>90634</td><td>FINCOMUN</td></tr> <tr><td>90689</td><td>FOMPED</td></tr> <tr><td>90685</td><td>FONDO (FIRA)</td></tr> <tr><td>90601</td><td>GBM</td></tr> <tr><td>90636</td><td>HDI SEGUROS</td></tr> <tr><td>37168</td><td>HIPOTECARIA FED</td></tr> <tr><td>40021</td><td>HSBC</td></tr> <tr><td>40155</td><td>ICBC</td></tr> <tr><td>40036</td><td>INBURSA</td></tr> <tr><td>90902</td><td>INDEVAL</td></tr> <tr><td>40150</td><td>INMOBILIARIO</td></tr> <tr><td>40136</td><td>INTERCAM BANCO</td></tr> <tr><td>90686</td><td>INVERCAP</td></tr> <tr><td>40059</td><td>INVEX</td></tr> <tr><td>40110</td><td>JP MORGAN</td></tr> <tr><td>90653</td><td>KUSPIT</td></tr> <tr><td>90670</td><td>LIBERTAD</td></tr> <tr><td>90602</td><td>MASARI</td></tr> <tr><td>40042</td><td>MIFEL</td></tr> <tr><td>40158</td><td>MIZUHO BANK</td></tr> <tr><td>90600</td><td>MONEXCB</td></tr> <tr><td>40108</td><td>MUFG</td></tr> <tr><td>40132</td><td>MULTIVA BANCO</td></tr> <tr><td>90613</td><td>MULTIVA CBOLSA</td></tr> <tr><td>37135</td><td>NAFIN</td></tr> <tr><td>90684</td><td>OPM</td></tr> <tr><td>40148</td><td>PAGATODO</td></tr> <tr><td>90620</td><td>PROFUTURO</td></tr> <tr><td>40156</td><td>SABADELL</td></tr> <tr><td>40014</td><td>SANTANDER</td></tr> <tr><td>40044</td><td>SCOTIABANK</td></tr> <tr><td>40157</td><td>SHINHAN</td></tr> <tr><td>90646</td><td>STP</td></tr> <tr><td>90648</td><td>TACTIV CB</td></tr> <tr><td>90703</td><td>TESORED</td></tr> <tr><td>90656</td><td>UNAGRA</td></tr> <tr><td>90617</td><td>VALMEX</td></tr> <tr><td>90605</td><td>VALUE</td></tr> <tr><td>90608</td><td>VECTOR</td></tr> <tr><td>40113</td><td>VE POR MAS</td></tr> <tr><td>40141</td><td>VOLKSWAGEN</td></tr> </tbody></table>'
    type: integer
    example: 40138
    enum:
      - 40138
      - 40133
      - 40062
      - 90638
      - 40103
      - 90659
      - 40128
      - 40127
      - 37166
      - 40030
      - 40002
      - 40154
      - 37006
      - 40137
      - 40160
      - 40152
      - 37019
      - 40147
      - 40106
      - 37009
      - 40072
      - 91872
      - 40058
      - 40060
      - 2001
      - 40129
      - 40145
      - 40012
      - 40112
      - 90677
      - 90683
      - 90648
      - 90630
      - 40143
      - 90631
      - 90901
      - 90903
      - 40130
      - 40140
      - 90652
      - 40126
      - 90680
      - 40124
      - 40151
      - 90606
      - 90616
      - 90634
      - 90689
      - 90685
      - 90601
      - 90636
      - 37168
      - 40021
      - 40155
      - 40036
      - 90902
      - 40150
      - 40136
      - 90686
      - 40059
      - 40110
      - 90653
      - 90670
      - 90602
      - 40042
      - 40158
      - 90600
      - 40108
      - 40132
      - 90613
      - 37135
      - 90684
      - 40148
      - 90620
      - 40156
      - 40014
      - 40044
      - 40157
      - 90646
      - 90656
      - 90617
      - 90605
      - 90608
      - 40113
      - 40141
      - 40159
      - 90688
      - 90710
      - 90703
      
  CatalogCodeError:
    description: '<table style="width:100%;"><thead><tr><th>Code</th><th>Description</th></tr></thead><tbody><tr><td>000</td><td>Operation successful</td></tr><tr><td>002</td><td>The message does not match the original string</td></tr> <tr><td>010</td><td>Invalid scheme</td></tr><tr><td>012</td><td>Invalid provider</td></tr><tr><td>013</td><td>Configuration not found</td></tr><tr><td>107</td><td>The amount to send must be greater than zero</td></tr><tr><td>110</td><td>The account does not have a sufficient balance to operate</td></tr><tr><td>113</td><td>The type of operation is a required data</td></tr><tr><td>114</td><td>The amount exceeds the maximum allowed.</td></tr><tr><td>126</td><td>The account does not exist.</td></tr><tr><td>127</td><td>A SPEI cannot be made to the same bank.</td></tr><tr><td>128</td><td>Error when carrying out the charge.</td></tr><tr><td>129</td><td>The CLABE does not meet the allowed length.</td></tr><tr><td>130</td><td>The Telephone Number does not meet the allowed length.</td></tr><tr><td>131</td><td>The Debt Card does not meet the allowed length.</td></tr><tr><td>132</td><td>Account type does not exist.</td></tr><tr><td>133</td><td>Error when processing the SPEI.</td></tr><tr><td>134</td><td>Service not available.</td></tr><tr><td>135</td><td>The Amount has an Incorrect format.</td></tr><tr><td>136</td><td>Contact your supplier.</td></tr><tr><td>137</td><td>Invalid character.</td></tr><tr><td>138</td><td>VAT has an incorrect format.</td></tr><tr><td>139</td><td>The Recipient Key does not match the Recipient Institution.</td></tr><tr><td>140</td><td>The reference has expired.</td></tr><tr><td>141</td><td>The reference does not belong to the program.</td></tr></tbody></table>'
    type: 'string'
    example: '205.0'
    enum:
      - 000
      - 002
      - 010
      - 012
      - 013
      - 107
      - 110
      - 113
      - 114
      - 126
      - 127
      - 128
      - 129
      - 130
      - 131
      - 132
      - 133
      - 134
      - 135
      - 136
      - 137
      - 138
      - 139
      - 140
      - 141
  CataloReasonProcess:
    description: '<table style="width:100%"><thead><tr><th>Code</th><th>Reason Process</th></tr></thead><tbody><tr><td>404.1</td><td>The account doesnt exist, rejected by the bank</td></tr><tr><td>400.1</td><td>Rejeccted due the bank</td></tr><tr><td>503.1</td><td>Service Unavailable</td></tr><tr><td>200.10</td><td>Received, paid and the return to the account was generated.</td></tr><tr><td>205.1</td><td>Successful transfer without CEP generation</td></tr><tr><td>503.2</td><td>Service Unavailable</td></tr><tr><td>503.3</td><td>The CEP has inconsistencies</td></tr><tr><td>503.4</td><td>An error occurred while downloading the XML</td></tr><tr><td>200.6</td><td>Rejected by Banxico</td></tr><tr><td>200.7</td><td>Canceled by Banxico</td></tr><tr><td>208.0</td><td>Success tranfer, XML not available</td></tr><tr><td>200.10</td><td>Received, paid and the return to the account was generated.</td></tr><tr><td>208.1</td><td>Successful transfer without CEP generation</td></tr></tbody></table>'
    type: 'string'
    example: '205.1'
    enum:
      - 404.1
      - 400.1
      - 503.1
      - 200.10
      - 205.1
      - 503.2
      - 503.3
      - 503.4
      - 200.6
      - 200.7
      - 208.0
      - 208.1
  SuccessEVConsumption:
    description: 'Information about a successful employment verification process.'
    type: 'object'
    properties:
      reasonProcess:
        $ref: '#/definitions/ReasonProcess'
      request:
        $ref: '#/definitions/AccountValidator'
      
      verificationConfidence:
        type: 'number'
        format: 'float'
        description: "It is the level of confidence in the verification process 0.00 - 1.00"
        example: 0.76
      ownershipConfidence:
        type: 'number'
        format: 'float'
        description: "It is the final result of the verification process 0.00 - 1.00"
        example: 0.99
      cep:
        type: 'string'
        description: 'url de CEP(Comprobante de Emision de Pago)'
        example: 'https://www.banxico.org.mx/cep/go'
  ReasonProcess:
    description: 'Information about reason process'
    type: 'object'
    properties:
      code:
        $ref: '#/definitions/CataloReasonProcess'
      descriptionError:
        $ref: '#/definitions/CatalogCodeError'
      message:
        type: 'string'
        format: 'uuid'
        readOnly: true
        description: 'message for reason process'
        example: 'Success tranfer, XML not available'
  FailureEVConsumption:
    description: 'Information about a failed employment verification process.'
    type: 'object'
    properties:
      request:
        $ref: '#/definitions/AccountValidator'
      errors:
        description: 'List of errors.'
        type: 'array'
        items:
          $ref: '#/definitions/Error'
  AckAcountValidator:
    properties:
      acknowledgeId:
        type: 'string'
        format: 'uuid'
        minLength: 36
        maxLength: 36
        description: 'Ackknowledge identifier (UUID).'
        readOnly: true
        example: '627aa72a-c799-4abf-b98e-0c4838af9bd5'
      dateTime:
        type: 'string'
        format: 'date-time'
        readOnly: true
        description: 'Date and time of the acknowledge. As defined by date-time - RFC3339.'
        example: '2020-04-12T22:20:50.52Z'
      operation:
        description: 'Employment verification operation.'
        type: 'string'
        enum:
          - 'request'
          - 'consumption'
        readOnly: true
        example: 'request'
      message:
        type: 'string'
        maxLength: 120
        description: 'Descriptive and human-readable message.'
        readOnly: true
        example: 'The bank account verification request has been received.'
  AckSuccessEVConsumption:
    description: 'Acknowledge of a successful employment verification process.'
    type: 'object'
    allOf:
      - $ref: '#/definitions/AckAcountValidator'
    properties:
      result:
        $ref: '#/definitions/SuccessEVConsumption'
  AckFailureEVConsumption:
    description: 'Acknowledge of an unsuccessful employment verification process.'
    type: 'object'
    allOf:
      - $ref: '#/definitions/AckAcountValidator'
    properties:
      employmentVerification:
        $ref: '#/definitions/FailureEVConsumption'
  AckEVRequest:
    description: 'Acknowledge of an employment verification process.'
    type: 'object'
    allOf:
      - $ref: '#/definitions/AckAcountValidator'
      - $ref: '#/definitions/AccountValidatorId'
  Error:
    type: 'object'
    description: 'Error'
    readOnly: true
    properties:
      code:
        type: 'string'
        description: 'Error code.'
        example: '400'
      message:
        type: 'string'
        maxLength: 120
        description: 'Descriptive and human-readable error message.'
        example: 'External data source not available.'
  Errors:
    description: 'A list of errors.'
    type: 'object'
    properties:
      errors:
        description: 'List of errors.'
        type: 'array'
        items:
          $ref: '#/definitions/Error'
  Metadata:
    description: 'Pagination information.'
    type: 'object'
    properties:
      page:
        type: 'integer'
        description: 'Current page.'
        readOnly: true
        example: 7
      perPage:
        type: 'integer'
        description: 'Rows per page.'
        readOnly: true
        example: 15
      pageCount:
        type: 'integer'
        description: 'Total number of pages.'
        readOnly: true
        example: 12
      totalCount:
        type: 'integer'
        description: 'Total number of rows.'
        readOnly: true
        example: 175
      links:
        $ref: '#/definitions/Links'
  Links:
    description: 'Pagination information.'
    type: 'object'
    properties:
      self:
        description: 'URL of this page.'
        type: 'string'
        readOnly: true
        example: 'https://services.circulodecredito.com.mx/v1/bavs?page=7&perPage=15'
      first:
        description: 'URL of the first page.'
        type: 'string'
        readOnly: true
        example: 'https://services.circulodecredito.com.mx/v1/bavs?page=1&perPage=15'
      previous:
        description: 'URL of the previous page.'
        type: 'string'
        readOnly: true
        example: 'https://services.circulodecredito.com.mx/v1/bavs?page=6&perPage=15'
      next:
        description: 'URL of the next page.'
        type: 'string'
        readOnly: true
        example: 'https://services.circulodecredito.com.mx/v1/bavs?page=8&perPage=15'
      last:
        description: 'URL of the last page.'
        type: 'string'
        readOnly: true
        example: 'https://services.circulodecredito.com.mx/v1/bavs?page=12&perPage=15'

