openapi: 3.0.1
info:
  title: Nova Credit Passport® API
  description: "This is a sample Nova Credit server. You can find out more about Nova Credit's API through our [API docs](https://docs.novacredit.com/) and [Quickstart Guide](/credit-passport-quickstart). \n\n\n Quick Notes Before Getting Started: \n\n\n 1. Select the appropriate server you would like to use. \n\n 2. Enter your credentials. When passing in an access token, be sure to [base64 encode](https://www.base64encode.org/) the token. \n\n 3. Be sure to select the appropriate user environment for each endpoint."
  termsOfService: https://novacredit.com/terms/
  version: 4.0.2

servers:
- url: https://api.novacredit.com/connect
  description: "Production server (uses production data)"
- url: https://sandbox.api.novacredit.com/connect
  description: "Sandbox server (uses sandbox data)"

tags:
- name: accesstoken
  description: "Generate an access token."
- name: passport
  description: "Retrieve a Credit Passport®."
- name: suppliers
  description: "Generate list of suppliers."
- name: invite
  description: "Send email to applicants to invite them to complete the NovaConnect journey."

paths:
  /accesstoken:
    get:
      tags:
      - accesstoken
      description: "Fetch an access token using your credentials. You will need to retrieve a new access token each time you intend to retrieve a Credit Passport®. Access tokens are time-scoped to 5 minutes to prevent malicious usage should someone obtain one. If you do not retrieve the Credit Passport® before the access token expires, you will need to request a new access token."
      operationId: getAccessToken
      security:
        - BasicAuth: []
      parameters:
        - $ref: "#/components/parameters/environmentHeader"
      responses:
        200:
          description: "Successful response"
          content: 
           application/json:
              schema:
                $ref: '#/components/schemas/AccessTokenSuccess'
        401:
          description: "Unauthorized"
          content:
           application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
        403:
          description: "Unknown Customer"
          content:
           application/json:
              schema:
                $ref: '#/components/schemas/UnknownCustomerError'
        500:
          description: "Internal Error"
          content:
           application/json:
              schema:
                $ref: '#/components/schemas/InternalError'
                
  /passport/v4/json:
    get:
      tags:
      - passport
      description: "The Credit Passport® data includes, but is not limited to applicant's credit history, current tradelines, payments, inquiries, and credit scores. Within the `credit_bureau` node of the JSON response, we do not indicate which fields will always be returned in the response. The reason for this is that this data comes from external sources; therefore the fields are not always guaranteed."
      operationId: getCreditPassportJSONv4
      security:
        - BearerAuth: []
      parameters:
        - $ref: "#/components/parameters/environmentHeader"
        - $ref: "#/components/parameters/publicTokenHeader"
        - $ref: "#/components/parameters/externalIdHeader"
        - $ref: "#/components/parameters/publicIdHeader"
      responses:
        200:
          description: "Successfully retrieved v4 Credit Passport® JSON"
          content:
           application/json:
              schema:
                $ref: '#/components/schemas/CreditPassportJSONv4'
              example:
                meta:
                  public_token: "100a3843-429b-4d01-9e70-8d0894460071"
                  pdf_name: "raj_du_92361f002671.pdf"
                  external_id: "25ad7063-fe76-437a-b4d8-3662ba4cc9c7"
                  user_args: "235234224"
                  created_at: "2021-02-02T18:00:53.140Z"
                  country_destination: "IND"
                  api_version: "4.6.85"
                  consent_version: "1.4.73"
                  public_id: "7d0772419d3e0ec635af1936fc19607401002fe22d9e843ac1399aca482ca40a"
                consumer_notices:
                  - consumer_notice_id: "3ca13a89-2514-486b-9559-b6b17b1832c6"
                    description: "Tradeline 2 from Example Bank Ltd. is no longer open."
                    confirmed_at: "2023-10-02T18:00:53.140Z"
                product:
                  name: "Village Communities"
                  product_id: "5fd2b2ab-4e1d-48e2-af58-571fc77eeabc"
                  inquiry_type: "MONITORING"
                sources:
                  -  source_id: "IND_CHM"
                     country: "IND"
                     source_type: "CREDIT_BUREAU"
                     status: "SUCCESS"
                     attempts: 3
                     partner_report_id: "id-provided_by+partner-5g4w"
                personal:
                  match_algorithm: "NOVA_MATCH_BETA"
                  first_name:
                    value: "Raj"
                    source_ids:
                      - "IND_CHM"
                    unmatched_source_ids: []
                  last_name:
                    value: "Du"
                    source_ids:
                      - "IND_CHM"
                    unmatched_source_ids: []
                  full_name:
                    source_ids:
                      - "IND_CHM"
                    unmatched_source_ids: []
                    value: "Raj Du"
                  middle_name:
                    value: ""
                    source_ids:
                      - "IND_CHM"
                    unmatched_source_ids: []
                  transliterated_full_name:
                    value: "Raj Du"
                    source_ids:
                      - "IND_CHM"
                    unmatched_source_ids: []
                  other_names:
                    - value: "Raj Other Name Du"
                      source_ids:
                        - "IND_CHM"
                      unmatched_source_ids: []
                  date_of_birth:
                    source_ids:
                      - "IND_CHM"
                    unmatched_source_ids: []
                    value: "1989-10-25"
                  is_deceased:
                    source_ids:
                      - "IND_CHM"
                    unmatched_source_ids: []
                    value: false
                  foreign_id:
                    source_ids:
                      - "IND_CHM"
                    unmatched_source_ids: []
                    value: "ADIPA8123J"
                  foreign_id_type:
                    source_ids:
                      - "IND_CHM"
                    unmatched_source_ids: []
                    value: "PERMANENT_ACCOUNT_NUMBER"
                  emails:
                    - source_ids:
                        - "IND_CHM"
                      value: "rajdu@email.com"
                  telephones:
                    - source_ids:
                        - "IND_CHM"
                      value: "6233334444"
                identities:
                  - source_id: "IND_CHM"
                    full_name: "Raj Du"
                    date_of_birth: "1989-10-25"
                    is_deceased: false
                    foreign_id: "ADIPA8123J"
                    foreign_id_type: "PERMANENT_ACCOUNT_NUMBER"
                    other_names:
                      - "Du Raj"
                    emails:
                      - "rajdu@email.com"
                    telephones:
                      - "6233334444"
                scores:
                  - score_type: "FOREIGN_SCORE"
                    value: 792
                    risk_indicator: "VERY_LOW_RISK"
                    adverse_action_codes:
                      - code: "SF01"
                        description: "No/minimal recent missed payments"
                      - code: "SF19"
                        description: "Recent credit utilization on self/accounts is consistent"
                    source_ids:
                      - "IND_CHM"
                  - score_type: "NOVA_SCORE_BETA"
                    value: 738
                    risk_indicator: "LOW_RISK"
                    score_version: "4.0.0"
                    source_ids:
                      - "IND_CHM"
                metrics:
                  - metric_name: "COUNT_BANKRUPTCIES"
                    metric_source: "NOVA"
                    metric_status: "UNAVAILABLE_REPORT"
                    metric_type: "INTEGER"
                    metric_label: "Bankruptcies"
                    metric_format: "NUMERIC"
                    source_ids:
                      - "IND_CHM"
                  - metric_name: "COUNT_COLLECTIONS"
                    metric_source: "NOVA"
                    metric_status: "AVAILABLE"
                    metric_value: 0
                    metric_type: "INTEGER"
                    metric_label: "Collections"
                    metric_format: "NUMERIC"
                    source_ids:
                      - "IND_CHM"
                  - metric_name: "COUNT_TRADELINES"
                    metric_source: "NOVA"
                    metric_status: "AVAILABLE"
                    metric_value: 6
                    metric_type: "INTEGER"
                    metric_label: "Tradelines"
                    metric_format: "NUMERIC"
                    source_ids:
                      - "IND_CHM"
                currencies:
                  - original: "INR"
                    target: "USD"
                    rate: "0.0114129"
                    source: "OER"
                    date: "2025-08-26"
                credit_bureaus:
                  - source_id: "IND_CHM"
                    meta:
                      company_code: "IND_CHM"
                      bureau_report_id: "id-provided_by+partner-5g4w"
                    tradelines:
                      - tradeline_id: "5c780a54-f8db-4776-b02a-0166f94d91e4"
                        institution: null
                        date_opened: "2016-12-14"
                        date_last_reported: "2019-01-11"
                        past_due_balance: 0
                        responsibility: "INDIVIDUAL"
                        balance: 0
                        high_balance: 1613
                        credit_limit: 2866
                        original_currency: "INR"
                        account_type: "CREDIT_CARD"
                        portfolio_type: "REVOLVING"
                        current_pay_status: "CURRENT"
                        current_condition_status: "ACTIVE"
                        history_frequency: "MONTHLY"
                        is_open: true
                        is_collateralized: false
                        charge_off_amount: 0
                    bank_accounts:
                      - bank_account_id: "a3fe2bfa-739a-4e78-8478-565c90fc269d"
                        bank_account_type: "CHECKING"
                        date_last_reported: "2017-11-01"
                        date_opened: "2015-07-19"
                        date_closed: "2020-07-01"
                        current_pay_status: "CURRENT"
                        current_pay_substatus: "CHARGE_OFF"
                        institution: "Test Bank"
                        translated_institution: "Test Bank Translated"
                        is_overdraftable: false
                        is_overdrawn: false
                        responsibility: "JOINT"
                        balance: 20048
                        original_currency: "GBP"
                        comments:
                          key: "Sample comment key"
                          value: "Sample comment value"
                    public_records: 
                      - public_record_id: "7fcf520d-7b96-46a3-98b7-590d8d40c606"
                        public_record_type: "BANKRUPTCY"
                        is_resolved: true
                        date_filed: "2014-06-01"
                        court_name: "ABERDARE"
                        date_last_reported: "2025-08-26"
                        comments:
                          key: "Sample comment key"
                          value: "Sample comment value"
                    frauds:
                      - fraud_id: "e8046ede-7668-4112-a049-b828d889e4db"
                        date_reported: "2020-05-01"
                        is_fraudster: false
                        comments:
                          key: "Sample comment key"
                          value: "Sample comment value"
                        linked_entries:
                          tradeline_id: "5c780a54-f8db-4776-b02a-0166f94d91e4"
                          public_record_id: "7fcf520d-7b96-46a3-98b7-590d8d40c606"
                          collection_id: "5fb8659a-f3a5-45d0-acac-c721a2e6e301"
                          bank_account_id: "a3fe2bfa-739a-4e78-8478-565c90fc269d"
                    collections:
                      - collection_id: "5fb8659a-f3a5-45d0-acac-c721a2e6e301"
                        is_paid: false
                        agency_name: "METRO RECOVERY"
                        date_last_reported: "2015-11-01"
                        balance: 176
                        date_filed: "2015-07-01"
                        date_last_payment: "2015-11-01"
                        original_currency: "CAD"
                        statement: "Sample collection statement"
                        comments:
                          key: "Sample comment key"
                          value: "Sample comment value"
                        linked_entries:
                          tradeline_id: "5c780a54-f8db-4776-b02a-0166f94d91e4"
                          public_record_id: "7fcf520d-7b96-46a3-98b7-590d8d40c606"
                          collection_id: "5fb8659a-f3a5-45d0-acac-c721a2e6e301"
                          bank_account_id: "a3fe2bfa-739a-4e78-8478-565c90fc269d"
                    nonsufficient_funds: 
                      - nonsufficient_fund_id: "c8864b6e-f61a-4dd5-bf4f-3907744b8b49"
                        nonsufficient_date: "2015-03-01"
                        date_last_reported: "2015-07-01"
                        comments:
                          key: "Sample comment key"
                          value: "Sample comment value"
                        linked_entries:
                          tradeline_id: "5c780a54-f8db-4776-b02a-0166f94d91e4"
                          public_record_id: "7fcf520d-7b96-46a3-98b7-590d8d40c606"
                          collection_id: "5fb8659a-f3a5-45d0-acac-c721a2e6e301"
                          bank_account_id: "a3fe2bfa-739a-4e78-8478-565c90fc269d"
                    inquiries:
                      - inquiry_id: "ddb66dd8-edfe-46d9-9138-539e12e941f9"
                        is_credit_seeking: false
                        inquiry_date: "2017-09-22"
                        company_name: "Test Bank"
                        translated_company_name: "Test Bank Translated"
                        inquiry_account_type: "CREDIT_CARD"
                        is_collateralized: false
                        comments:
                            key: "Sample comment key"
                            value: "Sample comment value"
                    employers:
                      - employer_id: "9c1d63fe-1e2f-4ec9-9317-73a8b2056f72"
                        company_name: "Test Employer"
                        job_title: "Engineer"
                        annual_salary: 50000
                        original_currency: "INR"
                        date_reported: "2025-08-26"
                        comments:
                          key: "Sample comment key"
                          value: "Sample comment value"
                    addresses:
                      - address_id: "643bd1a0-44f9-42c5-8c77-1b3fbcff8c1b"
                        address: "2 COMMUNITY CENTER, NEW DELHI, NEW DELHI, DL, 110017"
                    disputes: 
                      - dispute_id: "d692c565-06d0-4c65-a009-0884f7a7eeb5"
                        date_reported: "2018-12-12"
                        statement: "This data has been disputed by the individual concerned."
                        comments:
                          key: "Sample comment key"
                          value: "Sample comment value"
                        linked_entries:
                            tradeline_id: "5c780a54-f8db-4776-b02a-0166f94d91e4"
                            public_record_id: "7fcf520d-7b96-46a3-98b7-590d8d40c606"
                            collection_id: "5fb8659a-f3a5-45d0-acac-c721a2e6e301"
                            bank_account_id: "a3fe2bfa-739a-4e78-8478-565c90fc269d"
                    notices:
                      - notice_id: "4d40acaa-30f3-449d-bc0d-0043801585d8"
                        notice_type: "BUREAU_COMMENT"
                        date_reported: "2018-12-12"
                        statement: "Identity last verified on 12/12/18 - Identity verified"
        400:
          description: "Bad Request"
          content:
           application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
              examples:
                malformedHeaders:
                  $ref: "#/components/examples/MalformedHeaders"
                invalidVersion:
                  $ref: "#/components/examples/InvalidVersion"
                invalidPublicToken:
                  $ref: "#/components/examples/InvalidPublicToken"
                invalidExternalId:
                  $ref: "#/components/examples/InvalidExternalId"
                invalidPublicId:
                  $ref: "#/components/examples/InvalidPublicId"
        401:
          description: "Expired Token"
          content:
           application/json:
              schema:
                $ref: '#/components/schemas/ExpiredTokenError'
        403:
          description: "Unauthorized"
          content:
           application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
        404:
          description: "Invalid Token"
          content:
           application/json:
              schema:
                $ref: '#/components/schemas/InvalidTokenError'

  /passport/v4/pdf:
    get:
      tags:
      - passport
      operationId: getCreditPassportPDFv4
      security:
        - BearerAuth: []
      parameters:
        - $ref: "#/components/parameters/environmentHeader"
        - $ref: "#/components/parameters/publicTokenHeader"
        - $ref: "#/components/parameters/externalIdHeader"
        - $ref: "#/components/parameters/publicIdHeader"
      responses:
        200:
          description: "Successfully retrieved v4 Credit Passport® PDF"
          content:
            application/pdf:
              schema:
                type: string
                format: binary
        400:
          description: "Bad Request"
          content:
           application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
              examples:
                malformedHeaders:
                  $ref: "#/components/examples/MalformedHeaders"
                invalidVersion:
                  $ref: "#/components/examples/InvalidVersion"
                invalidPublicToken:
                  $ref: "#/components/examples/InvalidPublicToken"
                invalidExternalId:
                  $ref: "#/components/examples/InvalidExternalId"
                invalidPublicId:
                  $ref: "#/components/examples/InvalidPublicId"
        401:
          description: "Expired Token"
          content:
           application/json:
              schema:
                $ref: '#/components/schemas/ExpiredTokenError'
        403:
          description: "Unauthorized"
          content:
           application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
        404:
          description: "Invalid Token"
          content:
           application/json:
              schema:
                $ref: '#/components/schemas/InvalidTokenError'

  /status:
    get:
      tags:
      - passport
      description: "Retrieve the status of a report. The status returned will either be PENDING if the applicant is not finished yet, or a final outcome status."
      operationId: getCreditPassportStatusv4
      security:
        - BearerAuth: []
      parameters:
        - $ref: "#/components/parameters/environmentHeader"
        - $ref: "#/components/parameters/publicTokenHeader"
        - $ref: "#/components/parameters/externalIdHeader"
        - $ref: "#/components/parameters/publicIdHeader"
      responses:
        200:
          description: "Successfully retrieved Credit Passport® status"
          content:
           application/json:
              schema:
                $ref: '#/components/schemas/CreditPassportStatusv4'
        400:
          description: "Bad Request"
          content:
           application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
              examples:
                malformedHeaders:
                  $ref: "#/components/examples/MalformedHeaders"
                invalidVersion:
                  $ref: "#/components/examples/InvalidVersion"
                invalidPublicToken:
                  $ref: "#/components/examples/InvalidPublicToken"
                invalidExternalId:
                  $ref: "#/components/examples/InvalidExternalId"
                invalidPublicId:
                  $ref: "#/components/examples/InvalidPublicId"
        401:
          description: "Expired Token"
          content:
           application/json:
              schema:
                $ref: '#/components/schemas/ExpiredTokenError'
        403:
          description: "Unauthorized"
          content:
           application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
        404:
          description: "Invalid Token"
          content:
           application/json:
              schema:
                $ref: '#/components/schemas/InvalidTokenError'

  /suppliers:
    get:
      tags:
      - suppliers
      operationId: getSuppliers
      security:
        - BasicAuth: []
      parameters:
        - $ref: "#/components/parameters/environmentHeader"
      responses:
        200:
          description: "Successfully generated list of suppliers"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Suppliers'
        400:
          description: "Malformed Headers"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
              examples:
                malformedHeaders:
                  $ref: "#/components/examples/MalformedHeaders"
        403:
          description: "Unknown Customer"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnknownCustomerError'
                
  /invite:
    post:
      tags:
      - invite
      operationId: invite
      security:
        - BasicAuth: []
      parameters:
        - $ref: "#/components/parameters/environmentHeader"
        - $ref: "#/components/parameters/publicIdHeader"
          description: "Your unique public_id."
      requestBody:
        content:
           application/json:
            schema:
              $ref: '#/components/schemas/InviteBody'
        required: true
      responses:
        200:
          description: "Successful - invite has been received and sent."
          content:
           application/json:
              schema:
                type: object
                properties:
                  applicationId:
                    type: string
                    example: "342abb30-04d4-482b-9860-6d5d1b40b681"
        400:
          description: "Malformed Headers, Malformed Body, Email Bounce"
          content:
           application/json:
              schema:
                $ref: '#/components/schemas/InviteMalformedBodyError'
        403:
          description: "Unknown Customer"
          content:
           application/json:
              schema:
                $ref: '#/components/schemas/UnknownCustomerError'
        500:
          description: "Internal Error"
          content:
           application/json:
              schema:
                $ref: '#/components/schemas/InternalError'
      x-codegen-request-body-name: body

security:
  - BasicAuth: []
  - BearerAuth: []
  
components:

  parameters:
    environmentHeader:
      name: X-ENVIRONMENT
      in: header
      description: "User environment"
      required: false
      deprecated: true
      schema:
        type: string
        enum:
          - production
          - sandbox
    publicTokenHeader:
      name: X-PUBLIC-TOKEN
      in: header
      description: "Unique identifier of the Credit Passport® you are retrieving. Required if no X-EXTERNAL-ID header is provided."
      required: false
      schema:
        type: string
        example: '100a3843-429b-4d01-9e70-8d0894460071'
    externalIdHeader:
      name: X-EXTERNAL-ID
      in: header
      description: "External ID of the Credit Passport® you are retrieving. Required if no X-PUBLIC-TOKEN header is provided."
      required: false
      schema:
        type: string
        example: 'c5cf34e0-50eb-4075-9b1a-8494e0ba8663'
    publicIdHeader:
      name: X-PUBLIC-ID
      in: header
      description: "Your unique public_id. Required if X-EXTERNAL-ID header is provided and report belongs to a managed account."
      required: false
      schema:
        type: string
        example: '786fbcbc-0c90-47e9-9d0e-19428e68848f'

  securitySchemes:
    BasicAuth:
      type: http
      scheme: basic
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: "Contains the base64 encoded string of the access token retrieved from the /accesstoken endpoint."

  schemas:
    AccessTokenSuccess:
      type: object
      properties:
        accessToken:
          description: "Access token you can now use to retrieve a Credit Passport®. Be sure to base64 encode your access token."
          type: string
          format: byte
          example: "<your_access_token>"
        exp:
          description: "Unix timestamp of when the access token will expire."
          type: integer
          minLength: 1
          maxLength: 21
          format: int32
          example: 1607471945
    CreditPassportJSONv4:
      type: object
      properties:
        meta:
          description: "Information specific to the report that has been returned."
          allOf: 
            - $ref: '#/components/schemas/Meta'
        consumer_notices:
          description: "Correction notices from consumers regarding the information in the report. Note that this section is only available for customers based in the UK or Canada, and will show up on UK PDF reports as 'Notice of Correction' and Canadian PDF reports as 'Consumer Statement'."
          type: array
          items:
            $ref: "#/components/schemas/ConsumerNotice"
        product:
          description: "Details about the product the applicant applied for."
          allOf:
            - $ref: '#/components/schemas/Product'
        sources:
          description: "List of data sources used to build the applicant's Credit Passport®."
          type: array
          items:
            $ref: '#/components/schemas/Source'
        personal:
          description: "Personal information specific to the applicant whose credit report is being accessed. Information is wrapped in the PersonalField format, which indicates where each value was sourced from."
          allOf:
            - $ref: '#/components/schemas/Personal'
        identities:
          type: array
          items:
            $ref: '#/components/schemas/Identity'
          description: "The applicant's personal identity information reported from each data source. The list of identities is used to calculate the personal node provided in the Nova Credit Passport®."
        scores:
          type: array
          items:
            $ref: '#/components/schemas/Score'
          description: "Information specific to the applicant's credit score, including both the foreign data supplier's score, as well as the Nova score. Scores are returned in an array, and all elements follow the same structure."
        metrics:
          description: "Metrics are analytical values derived from the underlying data in the Nova Credit Passport®. Metrics are returned in an array and are of configurable length; the array can have zero objects, and there is no upper bound."
          type: array
          items:
            $ref: '#/components/schemas/Metric'
        currencies:
          description: "Array of currencies found in the response and information relating to their conversion."
          type: array
          items:
            $ref: '#/components/schemas/Currency'
        credit_bureaus:
          description: "List of data sourced from credit bureaus. Each separate entry in the credit bureaus list represents the set of data returned from a single credit bureau response."
          type: array
          items:
            $ref: '#/components/schemas/CreditBureau'

    CreditPassportStatusv4:
      type: object
      properties:
        status:
          description: |
            The status of a Credit Passport® report.

            * `BUREAU_UNRESPONSIVE` - The bureau is currently not responding to API calls.
            * `ERROR` - An unexpected error has occurred on Nova Credit's servers.
            * `INVITED` - The applicant has been invited to complete the Credit Passport flow but has not yet started.
            * `NOT_AUTHENTICATED` - The user failed an authentication step (KBA, OTP).
            * `NOT_FOUND` - The user failed an identification step (IDV, document).
            * `PENDING` - The current application is in progress and a Nova Credit Report has not been compiled.
            * `SKIPPED` - The applicant opted not to finish the Credit Passport flow.
            * `SUCCESS` - The flow was successful and a report is ready to be pulled from Nova.
            * `UNSUPPORTED_COUNTRY` - The applicant has credit history in a country that is not yet supported.
          type: string
          example: "SUCCESS"
          enum:
            - BUREAU_UNRESPONSIVE
            - ERROR
            - NOT_AUTHENTICATED
            - NOT_FOUND
            - PENDING
            - SKIPPED
            - SUCCESS

        substatus:
          type: string
          nullable: true
          description: |
            Whenever possible, the Nova Credit API will return any additional context about the status in a substatus field. Note that not every substatus is available in every case, and is dependent on the data the bureau sends us.
            <table>
              <tr>
                <th>Status</th>
                <th>Substatus</th>
                <th>Description</th>
                <th>Bureaus / Notes</th>
              </tr>
              <tr>
                <td>NOT_AUTHENTICATED</td>
                <td>LOCKOUT_TEMPORARY</td>
                <td>Consumer has been temporarily locked out of accessing their credit data by the bureau.</td>
                <td>KEN_CI, DOM_TU, GBR_EFX. Lockout duration varies from bureau to bureau, and the lockout is expected to clear on its own with time.</td>
              </tr>
              <tr>
                <td>NOT_AUTHENTICATED</td>
                <td>LOCKOUT_PERMANENT</td>
                <td>Consumer has been permanently locked out.</td>
                <td>GBR_EFX, IND_CIBIL. Will likely require the consumer to contact the bureau directly to clear up any issues.</td>
              </tr>
              <tr>
                <td>NOT_AUTHENTICATED</td>
                <td>THIN_FILE</td>
                <td>Bureau does not have enough information on the consumer to generate a set of KBA questions.</td>
                <td>DOM_TU, IND_CHM</td>
              </tr>
              <tr>
                <td>NOT_AUTHENTICATED</td>
                <td>MISMATCHED_PII</td>
                <td>The PII provided by the consumer does not match the PII the bureau has on file.</td>
                <td>AUS_EFX, CAN_TU, DOM_TU, ESP_EFX, KOR_NICE, NGA_CRC</td>
              </tr>
              <tr>
                <td>NOT_AUTHENTICATED</td>
                <td>FAILED_KBA</td>
                <td>The consumer did not answer enough of the KBA questions correctly.</td>
                <td>All bureaus with a KBA step.</td>
              </tr>
              <tr>
                <td>NOT_AUTHENTICATED</td>
                <td>FRAUD_ALERT</td>
                <td>The bureau has the file tagged with a potential fraud alert.</td>
                <td>CAN_EFX, DOM_TU, GBR_EFX</td>
              </tr>
              <tr>
                <td>NOT_AUTHENTICATED</td>
                <td>FROZEN_FILE</td>
                <td>The consumer's credit file is currently frozen.</td>
                <td>AUS_EFX, CAN_TU, MEX_BDC, USA_XP</td>
              </tr>
              <tr>
                <td>NOT_AUTHENTICATED</td>
                <td>DOCUMENT_NOT_AUTHENTICATED</td>
                <td>The document could not be used for authentication.</td>
                <td>AUT_CRIF, CHE_CRIF, DEU_CRIF, ESP_EFX, PHL_CRIF, PHL_TU</td>
              </tr>
              <tr>
                <td>NOT_AUTHENTICATED</td>
                <td>SELFIE_NOT_AUTHENTICATED</td>
                <td>The selfie could not be used for authentication.</td>
                <td>PHL_TU. Only applies to bureaus that have selfie capture enabled.</td>
              </tr>
              <tr>
                <td>NOT_AUTHENTICATED</td>
                <td>INVALID_PII</td>
                <td>The consumer's data extracted from Mitek is invalid.</td>
                <td>ESP_EFX. This substatus occurs if data extracted from Mitek doesn't pass the bureau validations.</td>
              </tr>
            </table>
          enum:
            - LOCKOUT_TEMPORARY
            - LOCKOUT_PERMANENT
            - THIN_FILE
            - MISMATCHED_PII
            - FAILED_KBA
            - FRAUD_ALERT
            - FROZEN_FILE
            - DOCUMENT_NOT_AUTHENTICATED
            - SELFIE_NOT_AUTHENTICATED
            - INVALID_PII
            - null
          example: null

    Suppliers:
      type: array
      items:
        type: object
        properties:
          countryName:
            description: "Country name of supplier."
            type: string
            example: "India"
          countryCode:
            description: "ISO 3166 country code of supplier."
            type: string
            example: "IND"
          bureauName:
            description: "Bureau name."
            type: string
            example: "CRIF Highmark"
          bureauCode:
            description: "Bureau code."
            type: string
            example: "IND_CHM"
            
    InviteBody:
      required:
        - applicantEmail
        - applicantFirstName
        - applicantLastName
        - productId
      type: object
      properties:
        applicantFirstName:
          description: "Applicant first name."
          type: string
          example: "Raj"
        applicantLastName:
          description: "Applicant last name."
          type: string
          example: "Du"
        applicantEmail:
          description: "Applicant email."
          type: string
          format: email
          example: "raj@email.com"
        applicantDateOfBirth:
          description: "The applicant's date of birth in the format YYYY-MM-DD. This should only be sent if you include it in `enabledPrefills`."
          type: string
          format: date
          example: "1989-10-25"
        applicantSourceCountry:
          description: "Provide an ISO country code to load NovaConnect with a pre-specified country. This must be one of your enabled countries. This should only be sent if you include it in `enabledPrefills`."
          allOf: 
            - $ref: "#/components/schemas/Country"
          example: "IND"
        productId:
          description: "Product id associated with the product the applicant is applying for."
          type: string
          example: "3c2da600-17ee-11e8-8a0e-5158039db37e"
        externalId:
          description: "Unique identifier you can pass in for your own records."
          type: string
          maxLength: 64
          example: "3f59e253-01a6-40e8-be40-d3a500d03e48"
        userArgs:
          description: "Additional information you can pass in for your own records."
          type: string
          maxLength: 255
          example: "custom_id:3c2da600"
        chargeAmount:
          description: "Amount to charge the applicant if a foreign credit report is found, in cents. Only required if you have applicant billing enabled for your customers."
          type: number
          example: 6500
        currency:
          description: "Currency to charge your customer in. Currently, only USD is supported. Only required if you have applicant billing enabled for your customers."
          type: string
          example: "USD"
        emailTemplate:
          description: "Determines what email template is to be sent to the applicant. If not send the default email template is `INVITE`."
          type: string
          enum:
            - INVITE
            - OFFER
        enabledPrefills:
          description: "To enable prefilling for the NovaConnect widget, include this key. It will prefill the PII form with information submitted to this endpoint. You may include one, multiple, or all of the available keys to prefill. Note that any keys you specify in enabledPrefills that you do not send data for will not be prefilled."
          type: array
          example:
            - applicantFirstName
            - applicantLastName
            - applicantEmail
            - applicantDateOfBirth
            - applicantSourceCountry
          items:
            type: string
            enum:
              - applicantFirstName
              - applicantLastName
              - applicantEmail
              - applicantDateOfBirth
              - applicantSourceCountry
      example:
        {
          applicantFirstName: "Raj",
          applicantLastName: "Du",
          applicantEmail: "raj@email.com",
          productId: "3c2da600-17ee-11e8-8a0e-5158039db37e",
          externalId: "3f59e253-01a6-40e8-be40-d3a500d03e48",
          userArgs: "custom_id:3c2da600"
        }
    
    ##### ERRORS #######
    TerminatedBooleanType: 
      description: "Boolean indicating whether process terminated."
      type: string
      enum:
        - "true"
        - "false"
    
    UnauthorizedError:
      description: "Credentials are not recognized."
      type: object
      properties:
        error:
          type: string
          example: "UNAUTHORIZED"
        terminated:
          $ref: '#/components/schemas/TerminatedBooleanType'
    UnknownCustomerError:
      description: "Credentials are not recognized."
      type: object
      properties:
        error:
          type: string
          example: "UNKNOWN_CUSTOMER"
        terminated:
          $ref: '#/components/schemas/TerminatedBooleanType'
    BadRequestError:
      description: "Invalid request." 
      type: object
      properties:
        error:
          type: string
          example: "MALFORMED_HEADER"
        terminated:
          $ref: '#/components/schemas/TerminatedBooleanType'
    ExpiredTokenError:
      description: "`access_token` you're sending in the request headers has expired. Please request a new one."
      type: object
      properties:
        error:
          type: string
          example: "EXPIRED_TOKEN"
        terminated:
          $ref: '#/components/schemas/TerminatedBooleanType'
    InvalidTokenError:
      description: "`public_token` or `access_token` is not valid for reasons other than expiration."
      type: object
      properties:
        error:
          type: string
          example: "INVALID_TOKEN"
        terminated:
          $ref: '#/components/schemas/TerminatedBooleanType'
    InternalError:
      description: "Internal error has occurred."
      type: object
      properties:
        error:
          type: string
          example: "INTERNAL_ERROR"
        terminated:
          $ref: '#/components/schemas/TerminatedBooleanType'
    InviteMalformedBodyError:
      description: "Request body is incorrectly formatted."
      type: object
      properties:
        error:
          type: string
          example: "MALFORMED_BODY"
        description:
          type: string
          example: "Currency value in JSON body must be 'USD'"
          
    StringArray:
      type: array
      items:
        type: string
        minLength: 1
        maxLength: 15
    Date:
      type: string
      format: date
      minLength: 10
      maxLength: 10
    UUID:
      type: string
      format: uuid
      minLength: 36
      maxLength: 36

    Country:
      type: string
      minLength: 3
      maxLength: 3
      enum: 
        - AUS
        - AUT
        - BRA
        - CAN
        - CHE
        - DEU
        - DOM 
        - ESP
        - GBR
        - GHA
        - IND
        - KEN
        - KOR
        - MEX
        - NGA
        - PHL
        - UKR
        - USA

    RiskIndicator:
      type: string
      minLength: 1
      maxLength: 15
      enum:
      - VERY_HIGH_RISK
      - HIGH_RISK
      - MEDIUM_RISK
      - LOW_RISK
      - VERY_LOW_RISK

    CurrentPayStatus:
      description: |
        * CURRENT: The account is in good standing with no delinquent payment obligation
        * EARLY_DELINQUENT: Consumer has failed to satisfy one payment cycle
        * DELINQUENT: Consumer has failed to satisfy two payment cycles
        * DEFAULT: Consumer has failed to satisfy three payment cycles
        * DEROGATORY: Consumer has failed to satisfy at least four payment cycles
        * SEVERE_DEROGATORY: The account has been flagged with a severe negative event indicated by the presence of the current_pay_substatus field
      type: string
      enum:
      - CURRENT
      - EARLY_DELINQUENT
      - DELINQUENT
      - DEFAULT
      - DEROGATORY
      - SEVERE_DEROGATORY
      
    CurrentPaySubstatus:
      description: |
        * CHARGE_OFF: The account is in default or worse status (3+ payment cycles past due), and the creditor does not anticipate repayment to become current. Loss taken in the books. Synonym to written-off
        * BANKRUPTCY: The account is included in a bankruptcy proposal
        * FORECLOSURE: Foreclosure process has been initiated
        * SETTLED: Lender has accepted a settlement on this account
        * REPOSSESSION: Property has been repossessed due to consumer failure to pay
        * EXTERNAL_COLLECTIONS: Account has been placed with a third party collection agency
        * GARNISHMENT: Court ordered repayment of consumer funds, often wages in order to satisfy a debt obligation
      type: string
      enum:
      - CHARGE_OFF
      - BANKRUPTCY
      - FORECLOSURE
      - SETTLED
      - REPOSSESSION
      - EXTERNAL_COLLECTIONS
      - GARNISHMENT
      
    Responsibility:
      description: |
        * INDIVIDUAL: Individual is solely responsible for the tradeline
        * JOINT: Individual is jointly responsible 
        * AUTHORIZED_USER: Individual is an authorized user
        * GUARANTOR: Individual is the guarantor  
        * OTHER: Account ownership not identified
      type: string
      minLength: 1
      maxLength: 30
      enum:
      - INDIVIDUAL
      - JOINT
      - AUTHORIZED_USER
      - GUARANTOR
      - OTHER
      
    KeyValueObject:
      type: object
      properties:
        key:
          description: "Key."
          type: string
          minLength: 1
          maxLength: 255
        value:
          description: "Value."
          type: string
          minLength: 1
          maxLength: 255
      required:
        - key
        - value
          
    Comments:
      description: "Array of 0 or more objects with two fields - key and value. Each element of comments is a note from the bureau about that node."
      type: array
      example:
        key: "Sample comment key"
        value: "Sample comment value"
      items:
        $ref: '#/components/schemas/KeyValueObject'
        
    Meta:
      type: object
      properties:
        public_token:
          description: "Unique identifier of the Credit Passport® that was fetched."
          type: string
          format: uuid
          minLength: 36
          maxLength: 36
          example: "100a3843-429b-4d01-9e70-8d0894460071"
        pdf_name:
          description: "File name of the associated PDF report"
          type: string
          minLength: 1
          maxLength: 120
          example: "raj_du_92361f002671.pdf"
        external_id:
          description: "Unique identifier you can pass in for your own records."
          type: string
          minLength: 1
          maxLength: 64
          example: "25ad7063-fe76-437a-b4d8-3662ba4cc9c7"
        user_args:
          description: "Additional information you can pass in for your own records."
          type: string
          minLength: 1
          maxLength: 255
          example: "235234224"
        created_at:
          description: "Date the Credit Passport® was retrieved."
          type: string
          format: date-time
          example: "2021-02-02T18:00:53.140Z"
          minLength: 24
          maxLength: 24
        country_destination:
          description: "ISO 3166 country code the creditor operates in."
          allOf: 
            - $ref: "#/components/schemas/Country"
          example: "IND"
        api_version:
          description: "API version used to generate the Credit Passport®."
          type: string
          minLength: 1
          maxLength: 10
          example: "4.6.85"
        consent_version:
          description: "Consent version the applicant agreed to."
          type: string
          minLength: 1
          maxLength: 32
          example: "1.4.73"
        public_id:
          description: "The unique identifier for your account used when pulling this report."
          type: string
          minLength: 1
          maxLength: 64
          example: "7d0772419d3e0ec635af1936fc19607401002fe22d9e843ac1399aca482ca40a"
      required:
        - public_token
        - pdf_name
        - created_at
        - country_destination
        - api_version
        - consent_version
        - public_id

    Product:
      type: object
      properties:
        name:
          description: "Product name."
          type: string
          minLength: 1
          maxLength: 255
          example: "Village Communities"
        product_id:
          description: "Product ID."
          allOf:
            - $ref: '#/components/schemas/UUID'
          example: "5fd2b2ab-4e1d-48e2-af58-571fc77eeabc"
        inquiry_type:
          description: "Inquiry type."
          type: string
          minLength: 1
          maxLength: 30
          example: 'MONITORING'
          enum:
          - MONITORING
          - CREDIT_CARD
          - VEHICLE_AUTO
          - VEHICLE_OTHER
          - MORTGAGE
          - PERSONAL
          - STUDENT
          - UTILITY
          - COMMERCIAL
          - CONSUMER
          - TENANT
          - OTHER
      required:
        - name
        - product_id
        - inquiry_type
          
    Source:
      type: object
      properties:
        source_id:
          description: "Human-readable identifier for the data source, unique within the context of the Credit Passport®."
          type: string
          minLength: 1
          maxLength: 15
          example: 'IND_CHM'
        country:
          description: "ISO 3166 country code the data was sourced from."
          allOf: 
            - $ref: "#/components/schemas/Country"
          example: 'IND'
        source_type:
          description: "Source type."
          type: string
          minLength: 1
          maxLength: 20
          enum:
          - CREDIT_BUREAU
          - IDENTITY
          example: 'CREDIT_BUREAU'
        status:
          description: "Final status achieved with a specific data source."
          type: string
          minLength: 1
          maxLength: 30
          enum:
          - BUREAU_UNRESPONSIVE
          - ERROR
          - NOT_AUTHENTICATED
          - NOT_FOUND
          - SKIPPED
          - SUCCESS
          example: 'SUCCESS'
        attempts:
          description: "Number of attempts to utilize the source before reaching a final status. Minimum of 1 attempt."
          type: number
          minimum: 1
          minLength: 1
          maxLength: 21
          example: 3
        partner_report_id:
          description: "Unique identifier for the partner provided report or data."
          type: string
          minLength: 1
          maxLength: 255
          example: 'id-provided_by+partner-5g4w'
      required: 
        - source_id
        - source_type
        - status
        - attempts

    ConsumerNotice:
      type: object
      properties:
        consumer_notice_id:
          description: "Reference ID of the consumer notice."
          type: string
          minLength: 36
          maxLength: 36
          example: '3ca13a89-2514-486b-9559-b6b17b1832c6'
        description:
          description: "The correctional information for the report."
          type: string
          example: 'Tradeline 2 from Example Bank Ltd. is no longer open.'
          minLength: 1
          maxLength: 1000
        confirmed_at:
          description: "Proof of confirmation from the consumer."
          type: string
          format: date-time
          example: "2023-10-02T18:00:53.140Z"
          minLength: 24
          maxLength: 24
      required: 
        - consumer_notice_id
        - description
        - confirmed_at

    PersonalFieldBase:
      type: object
      properties:
        source_ids:
          description: "List of sources which have all reported the same value for this field."
          minItems: 1
          allOf:
          - $ref: '#/components/schemas/StringArray'
        unmatched_source_ids:
          description: "Optional list of sources which have reported a non-empty value that conflicts with other sources. unmatched_source_ids will only be provided for single fields, and lists of personal fields will not include this property, as an unmatched value will appear in a separate list element."
          minItems: 0
          allOf:
          - $ref: '#/components/schemas/StringArray'
      required: 
        - source_ids
    PersonalFieldString:
      allOf:
      - $ref: '#/components/schemas/PersonalFieldBase'
      - required:
        - value
        type: object
      properties:
        value:
          description: "String value of this field."
          type: string
          minLength: 1
          maxLength: 255
    PersonalFieldBoolean:
      allOf:
      - $ref: '#/components/schemas/PersonalFieldBase'
      - required:
        - value
        type: object
        properties:
          value:
            description: "Boolean value of this field."
            type: boolean
            minLength: 4
            maxLength: 5
    PersonalFieldDate:
      allOf:
      - $ref: '#/components/schemas/PersonalFieldBase'
      - required:
        - value
        type: object
        properties:
          value:
            description: "Date value of this field."
            type: string
            format: date
            minLength: 10
            maxLength: 10
    Personal:
      type: object
      properties:
        match_algorithm:
          description: "Algorithm used to determine whether provided values are considered to be a match. This algorithm is used to create a summary of identity information when identity information is extracted from multiple sources."
          type: string
          minLength: 1
          maxLength: 20
          enum:
          - NOVA_MATCH_BETA
          example: 'NOVA_MATCH_BETA'
        first_name:
          description: "First name associated with applicant."
          type: object
          allOf:
          - $ref: '#/components/schemas/PersonalFieldString'
          example:
            value: 'Raj'
            source_ids:
            - IND_CHM
            unmatched_source_ids: []
        last_name:
          description: "Last name associated with applicant."
          type: object
          allOf:
          - $ref: '#/components/schemas/PersonalFieldString'
          example:
            value: "Du"
            source_ids:
            - IND_CHM
            unmatched_source_ids: []
        full_name:
          description: "Full name associated with applicant."
          allOf:
          - $ref: '#/components/schemas/PersonalFieldString'
          type: object
          example:
            value: 'Raj Du'
            source_ids:
            - IND_CHM
            unmatched_source_ids: []
        middle_name:
          description: "Middle name associated with applicant."
          allOf:
          - $ref: '#/components/schemas/PersonalFieldString'
          type: object
          example:
            value: ''
            source_ids:
            - IND_CHM
            unmatched_source_ids: []
        transliterated_full_name:
          description: "Romanization of applicant's full name."
          allOf:
          - $ref: '#/components/schemas/PersonalFieldString'
          type: object
          example:
            value: "Raj Du"
            source_ids:
            - IND_CHM
            unmatched_source_ids: []
        other_names:
          description: "List of other names associated with applicant, such as aliases, maiden names, and other surnames."
          type: array
          items:
            allOf:
            - $ref: '#/components/schemas/PersonalFieldString'
            type: object
            example:
              value: 'Raj Other Name Du'
              source_ids:
              - IND_CHM
              unmatched_source_ids: []
        emails:
          description: "List of emails associated with applicant."
          type: array
          items:
            allOf:
            - $ref: '#/components/schemas/PersonalFieldString'
            type: object
            example:
              value: 'raj@email.com'
              source_ids:
              - IND_CHM
              unmatched_source_ids: []
        telephones:
          description: "List of telephone numbers associated with applicant."
          type: array
          items:
            allOf:
            - $ref: '#/components/schemas/PersonalFieldString'
            type: object
            example:
              value: "+9146270422"
              source_ids:
              - IND_CHM
              unmatched_source_ids: []
        date_of_birth:
          description: "Date of birth."
          type: object
          allOf:
            - $ref: '#/components/schemas/PersonalFieldDate'
          example:
            value: "1989-10-25"
            source_ids:
            - IND_CHM
            unmatched_source_ids: []
        is_deceased:
          description: "Boolean indicating whether applicant is deceased."
          type: object
          allOf:
          - $ref: '#/components/schemas/PersonalFieldBoolean'
          example: 
            value: true
            source_ids:
              - IND_CHM
            unmatched_source_ids: []
        date_of_death:
          description: "Date provided only if is_deceased is true."
          type: object
          allOf:
          - $ref: '#/components/schemas/PersonalFieldDate'
          example:
            value: '2020-01-01'
            source_ids:
              - IND_CHM
            unmatched_source_ids: []
        foreign_id:
          description: "The foreign ID provided to us by the consumer. Note that this field may not always be present."
          type: object
          allOf:
            - $ref: '#/components/schemas/PersonalFieldString'
          example:
            value: "ADIPA8123J"
            source_ids:
              - IND_CHM
            unmatched_source_ids: []
        foreign_id_type:
          description: "The type of ID being displayed in capital snake case (e.g., `PERMANENT_ACCOUNT_NUMBER`, `PASSPORT`, `DRIVERS_LICENSE`, etc.). In the PDF this field will appear in plain text (e.g., `Permanent Account Number (PAN)`). Note that this field may not always be present."
          type: object
          allOf:
            - $ref: '#/components/schemas/PersonalFieldString'
          example:
            value: "PERMANENT_ACCOUNT_NUMBER"
            source_ids:
              - IND_CHM
            unmatched_source_ids: []
      required: 
        - match_algorithm
        - full_name
        - is_deceased
    Document:
      description: "Document used to verify the applicant's identity."
      type: object
      properties:
        document_type:
          description: "Type of document."
          type: string
          minLength: 1
          maxLength: 25
          example: "PASSPORT"
        document_number:
          description: "Document number."
          type: string
          minLength: 1
          maxLength: 50
          example: "A1234567"
        country:
          description: "Country."
          type: string
          minLength: 3
          maxLength: 3
          example: "USA"
        issue_date:
          description: "Date that document was issued."
          type: string
          format: date
          minLength: 10
          maxLength: 10
          example: "2015-05-22"
        expiration_date:
          description: "Date that document will expire."
          type: string
          format: date
          minLength: 10
          maxLength: 10
          example: "2025-05-22"
        is_authenticated:
          description: "Boolean indicating whether document is authenticated."
          type: boolean
          example: true
          minLength: 4
          maxLength: 5
      required:
         - document_type
         - document_number
         - is_authenticated
    Identity:
      type: object
      properties:
        source_id:
          description: "Identifier for the source that reported the identity information."
          type: string
          minLength: 1
          maxLength: 15
          example: 'IND_CHM'
        first_name:
          description: "First name."
          type: string
          minLength: 1
          maxLength: 255
          example: 'Raj'
        last_name:
          description: "Last name."
          type: string
          minLength: 1
          maxLength: 255
          example: 'Du'
        full_name:
          description: "Full name."
          type: string
          minLength: 1
          maxLength: 255
          example: 'Raj Du'
        middle_name:
          description: "Middle name."
          type: string
          minLength: 1
          maxLength: 255
          example: 'Middlename'
        transliterated_full_name:
          description: "Romanization of applicant's full name."
          type: string
          minLength: 1
          maxLength: 255
          example: 'Raj Du'
        other_names:
          description: "List of other names associated with applicant, such as aliases, maiden names, and other surnames."
          type: array
          items: 
            type: string
            minLength: 1
            maxLength: 255
          example:
            - Raj OtherName 
            - Raj AnotherName
        emails:
          description: "List of emails associated with applicant."
          type: array
          example:
          - rajdu@email.com
          items:
            type: string
            minLength: 1
            maxLength: 255
        telephones:
          description: "List of telephone numbers associated with appilcant."
          type: array
          example:
          - "+9146270422"
          items:
            type: string
            minLength: 1
            maxLength: 255
        date_of_birth:
          description: "Date of birth."
          type: string
          format: date
          minLength: 10
          maxLength: 10
          example: "1989-10-25"
        is_deceased:
          description: "Boolean indicating whether applicant is deceased."
          type: boolean
          example: true
          minLength: 4
          maxLength: 5
        date_of_death:
          description: "Date provided only if is_deceased is true."
          allOf:
            - $ref: '#/components/schemas/Date'
          example: '2020-01-01'
        selfie_matched:
          description: "If a selfie is attempted, will indicate whether it was successful or not."
          type: boolean
          example: true
          minLength: 4
          maxLength: 5
        documents:
          description: "List of documents used to verify the identity and data from each document."
          type: array
          items:
            $ref: '#/components/schemas/Document'
        foreign_id:
          description: "The foreign ID provided to us by the consumer. Note that this field may not always be present."
          type: string
          minLength: 1
          maxLength: 255
          example: "ADIPA8123J"
        foreign_id_type:
          description: "The type of ID being displayed in capital snake case. In the PDF this field will appear in plain text (e.g., `Permanent Account Number (PAN)`). Note that this field may not always be present."
          type: string
          minLength: 1
          maxLength: 255
          enum:
            - BANK_VERIFICATION_NUMBER
            - CEDULA_ID_NUMBER
            - CPF_NUMBER
            - PASSPORT
            - PERMANENT_ACCOUNT_NUMBER
            - SOCIAL_INSURANCE_NUMBER
            - VOTER_ID
          example: 'PERMANENT_ACCOUNT_NUMBER'
      required:
        - source_id

    AdverseActionCode:
      type: object
      properties:
        code:
          description: "Adverse action code provided by a bureau partner, if available."
          type: string
          minLength: 1
          maxLength: 10
          example: "1"
        description:
          description: "Description of adverse action code."
          type: string
          minLength: 1
          maxLength: 200
          example: "Presence of delinquent account"
      required:
        - code
        - description
    ExclusionCode:
      type: object
      properties:
        code:
          description: "Exclusion code provided by a bureau partner, if available."
          type: string
          minLength: 1
          maxLength: 15
          example: "Ex1"
        description:
          description: "Description of exclusion code."
          type: string
          minLength: 1
          maxLength: 200
          example: "Example exclusion code description"
      required:
        - code
        - description
    History:
      type: object
      properties:
        value:
          description: "Value of the score."
          type: number
          minLength: 1
          maxLength: 21
          example: 798
        date_reported:
          description: "Date at which historical score object was reported."
          type: string
          format: date
          minLength: 10
          maxLength: 10
        score_version:
          description: "Only applies if score_type is not FOREIGN_SCORE."
          type: string
          minLength: 1
          maxLength: 10
        risk_indicator:
          description: "Level of risk."
          allOf:
          - $ref: '#/components/schemas/RiskIndicator'
        adverse_action_codes:
          type: array
          items:
            $ref: '#/components/schemas/AdverseActionCode'
      required:
        - date_reported
        - value

    Score:
      type: object
      properties:
        source_ids:
          description: "List of source ids utilized to generate this score."
          minItems: 1
          example:
          - IND_CHM
          allOf:
          - $ref: '#/components/schemas/StringArray'
        score_type:
          description: |
            * FOREIGN_SCORE: The score provided by the foreign bureau
            * NOVA_SCORE_BETA: The Nova Score is currently in beta
          type: string
          minLength: 1
          maxLength: 20
          enum:
          - FOREIGN_SCORE
          - NOVA_SCORE_BETA
          example: "NOVA_SCORE_BETA"
        score_version:
          description: "Only applies if `score_type` is not FOREIGN_SCORE"
          type: string
          minLength: 1
          maxLength: 7
          example: '1.0.5'
        value: 
          description: "Value of the score."
          type: number
          minLength: 1
          maxLength: 21
          example: 798
        risk_indicator:
          description: "Level of risk."
          allOf: 
            - $ref: '#/components/schemas/RiskIndicator'
        adverse_action_codes:
          description: "A child to scores, adverse_action_codes are the codes that are either provided directly by the foreign bureau partner or generated by Nova Credit using the consumer credit data provided by the foreign bureau partner, and detail the reasoning behind the score returned. adverse_action_codes are returned in an array, can have zero objects, and there is no upper bound. Not all credit bureaus provide adverse action codes."
          type: array
          items:
            $ref: '#/components/schemas/AdverseActionCode'
        exclusion_codes:
          description: "A child to scores, exclusion_codes are the codes that are returned from the foreign bureau and detail a reason why a score wasn't returned. exclusion_codes are returned in an array, can have zero objects, and there is no upper bound. exclusion_codes will only be returned when a source credit bureau provides such a capacity and a score is not provided by the bureau. They will be attached to a scores object with score_type of FOREIGN_SCORE."
          type: array
          items:
            $ref: '#/components/schemas/ExclusionCode'
        history:
          description: "Array of historical scores and associated data. Score history is not always provided, as it is only reported by some data sources."
          type: array
          items:
            $ref: "#/components/schemas/History"
      required:
        - score_type
        - source_ids

    MetricNameEnum:
      type: string
      enum: 
        - AGE_INQUIRY_MOST_RECENTLY_REPORTED
        - AGE_INQUIRY_OLDEST
        - AGE_NEGATIVE_TRADELINE_MOST_RECENTLY_REPORTED
        - AGE_NEGATIVE_TRADELINE_NEWEST
        - AGE_NEGATIVE_TRADELINE_OLDEST
        - AGE_NEGATIVE_TRADELINE_OLDEST_INSTALLMENT
        - AGE_NEGATIVE_TRADELINE_OLDEST_REAL_ESTATE
        - AGE_NEGATIVE_TRADELINE_OLDEST_REVOLVING
        - AGE_NEGATIVE_TRADELINE_OLDEST_UNSPECIFIED_LIMIT
        - AGE_SINCE_TRADELINE_MOST_RECENTLY_REPORTED
        - AGE_TRADELINE_MOST_RECENTLY_REPORTED
        - AGE_TRADELINE_OLDEST
        - AGE_TRADELINE_OLDEST_OPEN
        - AGE_TRADELINE_OLDEST_REAL_ESTATE
        - AGE_TRADELINE_OLDEST_REVOLVING
        - CHANGE_NOVA_SCORE_3_MONTHS
        - CHN_CCRC_COUNT_90DPD_LAST_5_YEARS
        - CHN_CCRC_COUNT_MONTHS_OVERDUE_LAST_5_YEARS
        - COUNT_BANKRUPTCIES
        - COUNT_COLLECTIONS
        - COUNT_DEROGATORY_MARKS
        - COUNT_DISPUTES
        - COUNT_FORECLOSURES
        - COUNT_FRAUDS
        - COUNT_GARNISHMENTS
        - COUNT_INQUIRIES
        - COUNT_INQUIRIES_LAST_12_MONTHS
        - COUNT_INQUIRIES_LAST_6_MONTHS
        - COUNT_INQUIRIES_LAST_7_DAYS
        - COUNT_NON_SUFFICIENT_FUNDS
        - COUNT_PAYMENTS_LATE_1_CYCLE
        - COUNT_PAYMENTS_LATE_2_CYCLES
        - COUNT_PAYMENTS_LATE_3_CYCLES
        - COUNT_PAYMENTS_LATE_4_OR_MORE_CYCLES
        - COUNT_PAYMENTS_ON_TIME
        - COUNT_PAYMENTS_PAST_DUE_12_MONTHS_2_OR_MORE_CYCLES
        - COUNT_PAYMENTS_PAST_DUE_12_MONTHS_3_OR_MORE_CYCLES
        - COUNT_PAYMENTS_PAST_DUE_6_MONTHS_2_OR_MORE_CYCLES
        - COUNT_PUBLIC_RECORDS
        - COUNT_SEVERE_DEROGATORY_MARKS
        - COUNT_TAX_LIENS
        - COUNT_TRADELINES
        - COUNT_TRADELINES_CHARGED_OFF
        - COUNT_TRADELINES_CHARGED_OFF_NON_AUTH_USER
        - COUNT_TRADELINES_DELINQUENT_CURRENTLY
        - COUNT_TRADELINES_DELINQUENT_EVER
        - COUNT_TRADELINES_NEGATIVE
        - COUNT_TRADELINES_NEGATIVE_DEFAULT_OR_WORSE
        - COUNT_TRADELINES_NEGATIVE_DEFAULT_OR_WORSE_LAST_12_MONTHS
        - COUNT_TRADELINES_NEGATIVE_DEFAULT_OR_WORSE_LAST_6_MONTHS
        - COUNT_TRADELINES_NEGATIVE_DEROGATORY_OR_WORSE
        - COUNT_TRADELINES_NEGATIVE_DEROGATORY_OR_WORSE_LAST_12_MONTHS
        - COUNT_TRADELINES_NEGATIVE_DEROGATORY_OR_WORSE_LAST_6_MONTHS
        - COUNT_TRADELINES_NEGATIVE_EXACTLY_DEFAULT
        - COUNT_TRADELINES_NEGATIVE_EXACTLY_DEROGATORY
        - COUNT_TRADELINES_NEGATIVE_EXACTLY_SEVERE_DEROGATORY
        - COUNT_TRADELINES_NEGATIVE_INSTALLMENT
        - COUNT_TRADELINES_NEGATIVE_INSTALLMENT_NON_AUTH_USER
        - COUNT_TRADELINES_NEGATIVE_NON_AUTH_USER
        - COUNT_TRADELINES_NEGATIVE_REAL_ESTATE
        - COUNT_TRADELINES_NEGATIVE_REAL_ESTATE_NON_AUTH_USER
        - COUNT_TRADELINES_NEGATIVE_REVOLVING
        - COUNT_TRADELINES_NEGATIVE_REVOLVING_NON_AUTH_USER
        - COUNT_TRADELINES_NEGATIVE_SEVERE_DEROGATORY_OR_WORSE
        - COUNT_TRADELINES_NEGATIVE_SEVERE_DEROGATORY_OR_WORSE_LAST_12_MONTHS
        - COUNT_TRADELINES_NEGATIVE_SEVERE_DEROGATORY_OR_WORSE_LAST_6_MONTHS
        - COUNT_TRADELINES_NEGATIVE_UNSPECIFIED_LIMIT
        - COUNT_TRADELINES_NEGATIVE_UNSPECIFIED_LIMIT_NON_AUTH_USER
        - COUNT_TRADELINES_NON_AUTH_USER
        - COUNT_TRADELINES_OPEN
        - COUNT_TRADELINES_OPEN_COLLATERALIZED
        - COUNT_TRADELINES_OPEN_COLLATERALIZED_NON_AUTH_USER
        - COUNT_TRADELINES_OPEN_INSTALLMENT
        - COUNT_TRADELINES_OPEN_INSTALLMENT_NON_AUTH_USER
        - COUNT_TRADELINES_OPEN_NON_AUTH_USER
        - COUNT_TRADELINES_OPEN_REAL_ESTATE
        - COUNT_TRADELINES_OPEN_REAL_ESTATE_NON_AUTH_USER
        - COUNT_TRADELINES_OPEN_REVOLVING
        - COUNT_TRADELINES_OPEN_REVOLVING_NON_AUTH_USER
        - COUNT_TRADELINES_PAST_DUE_1_OR_MORE_PAY_CYCLES_LAST_12_MONTHS
        - COUNT_TRADELINES_PAST_DUE_1_OR_MORE_PAY_CYCLES_LAST_6_MONTHS
        - COUNT_TRADELINES_PAST_DUE_2_OR_MORE_PAY_CYCLES
        - COUNT_TRADELINES_PAST_DUE_2_OR_MORE_PAY_CYCLES_LAST_12_MONTHS
        - COUNT_TRADELINES_PAST_DUE_2_OR_MORE_PAY_CYCLES_LAST_6_MONTHS
        - COUNT_TRADELINES_PAST_DUE_3_OR_MORE_PAY_CYCLES
        - COUNT_TRADELINES_PAST_DUE_3_OR_MORE_PAY_CYCLES_LAST_12_MONTHS
        - COUNT_TRADELINES_PAST_DUE_3_OR_MORE_PAY_CYCLES_LAST_6_MONTHS
        - COUNT_TRADELINES_PAST_DUE_CURRENTLY_2_OR_MORE_CYCLES
        - COUNT_TRADELINES_PAST_DUE_CURRENTLY_EXACTLY_1_PAY_CYCLE
        - COUNT_TRADELINES_SATISFACTORY
        - COUNT_TRADELINES_SATISFACTORY_CURRENTLY
        - KOR_CHANGE_DEBT_3_MONTHS
        - KOR_NICE_COUNT_CREDIT_CARDS
        - KOR_NICE_COUNT_OPEN_GUARANTEES
        - KOR_NICE_COUNT_OPEN_LOANS
        - KOR_NICE_TOTAL_CREDIT_CARDS
        - KOR_NICE_TOTAL_OPEN_GUARANTEES
        - KOR_NICE_TOTAL_OPEN_LOANS
        - PHL_TU_RATIO_CREDIT_UTILIZATION_REVOLVING
        - PRESENCE_OF_PUBLIC_RECORDS_HISTORY
        - RATIO_CREDIT_UTILIZATION
        - RATIO_CREDIT_UTILIZATION_REVOLVING
        - RATIO_EXTERNAL_CALAMITY
        - RATIO_ON_TIME_PAYMENTS
        - SERASA_COUNT_INQUIRIES_CURRENT_MONTH
        - SERASA_COUNT_INQUIRIES_LAST_THREE_MONTHS
        - SERASA_COUNT_NSFS
        - SERASA_COUNT_PAYMENT_DEROGS
        - SERASA_VALUE_PAYMENT_DEROGS
        - TOTAL_DEBT_ALL_OPEN
        - TOTAL_DEBT_ALL_OPEN_CLOSED
        - TOTAL_DEBT_HOME_EQUITY_OPEN
        - TOTAL_DEBT_HOME_EQUITY_OPEN_CLOSED
        - TOTAL_DEBT_INSTALLMENT_OPEN
        - TOTAL_DEBT_INSTALLMENT_OPEN_CLOSED
        - TOTAL_DEBT_MORTGAGE_OPEN
        - TOTAL_DEBT_MORTGAGE_OPEN_CLOSED
        - TOTAL_DEBT_NEGATIVE_INSTALLMENT_OPEN_CLOSED
        - TOTAL_DEBT_NEGATIVE_OPEN_CLOSED
        - TOTAL_DEBT_NEGATIVE_REAL_ESTATE_OPEN_CLOSED
        - TOTAL_DEBT_NEGATIVE_REVOLVING_OPEN_CLOSED
        - TOTAL_DEBT_NEGATIVE_UNSPECIFIED_LIMIT_OPEN_CLOSED
        - TOTAL_DEBT_REAL_ESTATE_OPEN
        - TOTAL_DEBT_REAL_ESTATE_OPEN_CLOSED
        - TOTAL_DEBT_REVOLVING_OPEN
        - TOTAL_DEBT_REVOLVING_OPEN_CLOSED
        - TOTAL_SCHEDULED_PAYMENT_OBLIGATIONS_ALL_OPEN
        - TOTAL_SCHEDULED_PAYMENT_OBLIGATIONS_ALL_OPEN_CLOSED
        - TOTAL_SCHEDULED_PAYMENT_OBLIGATIONS_HOME_EQUITY_OPEN
        - TOTAL_SCHEDULED_PAYMENT_OBLIGATIONS_HOME_EQUITY_OPEN_CLOSED
        - TOTAL_SCHEDULED_PAYMENT_OBLIGATIONS_INSTALLMENT_OPEN
        - TOTAL_SCHEDULED_PAYMENT_OBLIGATIONS_INSTALLMENT_OPEN_CLOSED
        - TOTAL_SCHEDULED_PAYMENT_OBLIGATIONS_MORTGAGE_OPEN
        - TOTAL_SCHEDULED_PAYMENT_OBLIGATIONS_MORTGAGE_OPEN_CLOSED
        - TOTAL_SCHEDULED_PAYMENT_OBLIGATIONS_REAL_ESTATE_OPEN
        - TOTAL_SCHEDULED_PAYMENT_OBLIGATIONS_REAL_ESTATE_OPEN_CLOSED
        - TOTAL_SCHEDULED_PAYMENT_OBLIGATIONS_REVOLVING_OPEN
        - TOTAL_SCHEDULED_PAYMENT_OBLIGATIONS_REVOLVING_OPEN_CLOSED
        - UKR_CI_COUNT_INQUIRIES_LAST_12_MONTHS
    MetricLabelEnum:
      type: string
      enum: 
        - "Age of Most Recently Reported Inquiry (months)"
        - "Age of Oldest Inquiry (months)"
        - "Age of Most Recently Reported Negative Tradeline (months)"
        - "Age of Newest Negative Tradeline (months)"
        - "Age of Oldest Negative Tradeline (months)"
        - "Age of Oldest Negative Installment Tradeline (months)"
        - "Age of Oldest Negative Real Estate Tradeline (months)"
        - "Age of Oldest Negative Revolving Tradeline (months)"
        - "Age of Oldest Negative Unspecified Limit Tradeline (months)"
        - "Age Since Tradeline Was Most Recently Reported (months)"
        - "Age of Most Recently Reported Tradeline (months)"
        - "Age of Oldest Tradeline (months)"
        - "Age of Oldest Open Tradeline (months)"
        - "Age of Oldest Real Estate Tradeline (months)"
        - "Age of Oldest Revolving Tradeline (months)"
        - "Nova Score Change Since 3 Months Ago"
        - "[Provided by CHN_CCRC] Number of Months 90 DPD in the Past 5 Years"
        - "[Provided by CHN_CCRC] Number of Months Overdue in the Past 5 Years"
        - "Bankruptcies"
        - "Collections"
        - "Derogatory Marks"
        - "Dispute Records"
        - "Foreclosures"
        - "Fraud Records"
        - "Garnishments"
        - "Inquiries"
        - "Inquiries Last 12 Months"
        - "Inquiries Last 6 Months"
        - "Inquiries Last 7 Days"
        - "Nonsufficient Funds Reports"
        - "Payments 1 Cycle Late"
        - "Payments 2 Cycles Late"
        - "Payments 3 Cycles Late"
        - "Payments 4+ Cycle Late"
        - "On Time Payments"
        - "Payments 2+ Cycles in Past 12 Months"
        - "Payments 3+ Cycles in Past 12 Months"
        - "Payments 2+ Cycles in Past 6 Months"
        - "Public Records"
        - "Severe Derogatory Marks"
        - "Tax Liens"
        - "Tradelines"
        - "Charged Off Tradelines"
        - "Charged Off Tradelines of Individual or Joint Responsibility"
        - "Tradelines Currently Delinquent"
        - "Tradelines Ever Delinquent"
        - "Negative Tradelines"
        - "Defaulted (or Worse Pay Status) Negative Tradelines"
        - "Defaulted (or Worse Pay Status) Negative Tradelines in Last 12 Months"
        - "Defaulted (or Worse Pay Status) Negative Tradelines in Last 6 Months"
        - "Derogatory (or Worse Pay Status) Negative Tradelines"
        - "Derogatory (or Worse Pay Status) Negative Tradelines in Last 12 Months"
        - "Derogatory (or Worse Pay Status) Negative Tradelines in Last 6 Months"
        - "Defaulted Negative Tradelines"
        - "Derogatory Negative Tradelines"
        - "Severe Derogatory Negative Tradelines"
        - "Negative Installment Tradelines"
        - "Negative Installment Tradelines (Not Authorized User)"
        - "Negative Tradelines (Not Authorized User)"
        - "Negative Real Estate Tradelines"
        - "Negative Real Estate Tradelines (Not Authorized User)"
        - "Negative Revolving Tradelines"
        - "Negative Revolving Tradelines (Not Authorized User)"
        - "Severe Derogatory (or Worse Pay Status) Negative Tradelines"
        - "Severe Derogatory (or Worse Pay Status) Negative Tradelines in Last 12 Months"
        - "Severe Derogatory (or Worse Pay Status) Negative Tradelines in Last 6 Months"
        - "Negative Unspecified Limit Tradelines"
        - "Negative Unspecified Limit Tradelines (Not Authorized User)"
        - "Tradelines of Individual or Joint Responsibility"
        - "Open Tradelines"
        - "Open Collateralized Tradelines"
        - "Open Collateralized Tradelines of Individual or Joint Responsibility"
        - "Open Installment Tradelines"
        - "Open Installment Tradelines of Individual or Joint Responsibility"
        - "Open Tradelines of Individual or Joint Responsibility"
        - "Open Real Estate Tradelines"
        - "Open Real Estate Tradelines of Individual or Joint Responsibility"
        - "Open Revolving Tradelines"
        - "Open Revolving Tradelines of Individual or Joint Responsibility"
        - "Tradelines Past Due 1+ Cycles in the Past 12 Months"
        - "Tradelines Past Due 1+ Cycles in the Past 6 Months"
        - "Tradelines Past Due 2+ Cycles"
        - "Tradelines Past Due 2+ Cycles in the Past 12 Months"
        - "Tradelines Past Due 2+ Cycles in the Past 6 Months"
        - "Tradelines Past Due 3+ Cycles"
        - "Tradelines Past Due 3+ Cycles in the Past 12 Months"
        - "Tradelines Past Due 3+ Cycles in the Past 6 Months"
        - "Tradelines Past Due Currently 2+ Cycles"
        - "Current Tradelines Exactly 1 Pay Cycle Past Due"
        - "Satisfactory Tradelines"
        - "Current Satisfactory Tradelines"
        - "[Provided by KOR_NICE] Total Debt Change ($ up/down) Since 3 Months Ago"
        - "[Provided by KOR_NICE] Open Credit Card Tradelines"
        - "[Provided by KOR_NICE] Open Guarantee Tradelines"
        - "[Provided by KOR_NICE] Open Installment Loans"
        - "[Provided by KOR_NICE] Transfer Balance Owing on Open Credit Card Tradelines"
        - "[Provided by KOR_NICE] Amount Owing on Open Guarantee Tradelines"
        - "[Provided by KOR_NICE] Amount Owing on Open Installment Loans"
        - "[Provided by PHL_TU] Revolving Credit Utilization Ratio"
        - "Presence of Public Record"
        - "Credit Utilization Ratio"
        - "Revolving Credit Utilization Ratio"
        - "Open External Calamity Tradelines Ratio"
        - "On Time Payment Ratio"
        - "[Provided by BRA_XP] Inquiries Current Month"
        - "[Provided by BRA_XP] Inquiries Previous 3 Calendar Months"
        - "[Provided by BRA_XP] Nonsufficient Funds"
        - "[Provided by BRA_XP] Number of Delinquent Payments"
        - "[Provided by BRA_XP] Delinquent Payments"
        - "Total Debt (All) Open"
        - "Total Debt All Open and Closed"
        - "Total Debt (Home Equity) Open"
        - "Total Debt (Home Equity) Open and Closed"
        - "Total Debt (Installment) Open"
        - "Total Debt (Installment) Open and Closed"
        - "Total Debt (Mortgage) Open"
        - "Total Debt (Mortgage) Open and Closed"
        - "Total Negative Debt (Installment) Open and Closed"
        - "Total Negative Debt Open and Closed"
        - "Total Negative Debt (Real Estate) Open and Closed"
        - "Total Negative Debt (Revolving) Open and Closed"
        - "Total Negative Debt (Unspecified Limit) Open and Closed"
        - "Total Debt (Real Estate) Open"
        - "Total Debt (Real Estate) Open and Closed"
        - "Total Debt (Revolving) Open"
        - "Total Debt (Revolving) Open and Closed"
        - "Total Scheduled Payment Obligations Open"
        - "Total Scheduled Payment Obligations All Open and Closed"
        - "Total Scheduled Payment Obligations (Home Equity) Open"
        - "Total Scheduled Payment Obligations (Home Equity) Open and Closed"
        - "Total Scheduled Payment Obligations (Installment) Open"
        - "Total Scheduled Payment Obligations (Installment) Open and Closed"
        - "Total Scheduled Payment Obligations (Mortgage) Open"
        - "Total Scheduled Payment Obligations (Mortgage) Open and Closed"
        - "Total Scheduled Payment Obligations (Real Estate) Open"
        - "Total Scheduled Payment Obligations (Real Estate) Open and Closed"
        - "Total Scheduled Payment Obligations (Revolving) Open"
        - "Total Scheduled Payment Obligations (Revolving) Open and Closed"
        - "[Provided by UKR_CI] Inquiries Last 12 Months"
    Metric:
      type: object
      properties:
        source_ids:
          description: "List of source ids utilized to generate this metric."
          type: array
          minItems: 1
          example:
          - IND_CHM
          items:
            type: string
            minLength: 1
            maxLength: 15
        metric_name:
          description: "Metric name."
          type: string
          minLength: 1
          maxLength: 255
          allOf:
          - $ref: "#/components/schemas/MetricNameEnum"
        metric_value:
          description: "Value of the metric. Only provided if metric_format is NUMERIC or BOOLEAN."
          oneOf:
            - type: number
              description: "Numeric value of the metric. Only provided if metric_format is NUMERIC. Examples: 242, 0.994321, 1, -2, 10562"
              minLength: 1
              maxLength: 21
              example: 10562
            - type: boolean
              description: "Boolean value of the metric. Only provided if metric_format is BOOLEAN. Examples: true, false"
              minLength: 4
              maxLength: 5
              example: false
        metric_status:
          description: "Metric availability."
          type: string
          minLength: 1
          maxLength: 50
          enum:
          - AVAILABLE
          - UNAVAILABLE_REPORT
        metric_source:
          description: "Whether data was calculated from the report data by Nova or provided in the report by the foreign bureau."
          type: string
          minLength: 1
          maxLength: 50
          enum:
          - NOVA
          - BUREAU
        metric_label:
          description: "Metric label."
          type: string
          minLength: 1
          maxLength: 255
          allOf:
          - $ref: "#/components/schemas/MetricLabelEnum"
        metric_type:
          description: "Type of value in the metric_value field."
          type: string
          minLength: 1
          maxLength: 50
          example: "AGE_MONTHS"
          enum:
          - INTEGER
          - BOOLEAN
          - CURRENCY
          - RATIO
          - AGE_MONTHS
        metric_format:
          description: "Format of metric. Data can be an individual numeric value, a series of values over given increments of time, or a 2-length numeric array of [lowerbound, upperbound] inclusive range."
          type: string
          minLength: 1
          maxLength: 50
          example: "NUMERIC"
          enum:
          - NUMERIC
          - BOOLEAN
          - TIMESERIES
          - RANGE
        most_recent_date:
          description: "Date of first instance in the values array. Only provided if metric_format is TIMESERIES."
          type: string
          format: date
          minLength: 10
          maxLength: 10
          example: "2019-01-01"
        metric_timeseries:
          description: "Object containing values and interval of timeseries data. Only provided if metric_format is TIMESERIES."
          type: object
          properties:
            interval:
              description: "Time interval between metrics in the values array (applies to TIMESERIES only)."
              type: string
              minLength: 1
              maxLength: 20
              enum:
              - WEEKLY
              - BI_WEEKLY
              - SEMI_MONTHLY
              - MONTHLY
              - BI_MONTHLY
              - QUARTERLY
              - SEMI_ANNUAL
              - ANNUAL
              example: "WEEKLY"
            values:
              description: "Array of timeseries data."
              type: array
              example:
              - 1
              - 2
              - 3
              - 4
              items:
                type: number
                minLength: 1
                maxLength: 21
          required:
            - interval
            - values
        metric_range:
          description: "2-length numeric array of [lowerbound, upperbound] inclusive range. Only provided if metric_format is RANGE."
          type: array
          items:
            type: number
            minLength: 1
            maxLength: 21
          minItems: 2
          maxItems: 2
          example: 
            - 0
            - 5
      required:
        - metric_name
        - metric_source
        - metric_status
        - metric_type
        - metric_format
        - metric_label
        - source_ids
          
    Currency:
      type: object
      properties:
        original:
          description: "Original currency the values were returned in (ISO 4217 format)."
          type: string
          minLength: 3
          maxLength: 3
          example: "INR"
        target:
          description: "Currency the original currency was converted to (ISO 4217 format)."
          type: string
          minLength: 3
          maxLength: 3
          example: "USD"
        rate:
          description: "Daily rate at which the conversion was made. Can be coerced to float."
          type: string
          minLength: 1
          maxLength: 21
          example: "0.015"
        source:
          description: "Currency source provided by European Central Bank (ECB) or Open Exchange Rates (OER)."
          type: string
          minLength: 1
          maxLength: 50
          enum:
          - ECB
          - OER
          example: 'OER'
        date:
          description: "Date at which the conversion occurred."
          allOf:
          - $ref: '#/components/schemas/Date'
          example: '2021-02-01'
      required:
        - original
        - target
        - rate
        - source
        - date
          
    TradelineHistory:
      type: object
      properties:
        year:
          description: 'YYYY format'
          type: number
          minLength: 4
          maxLength: 4
          example: 2016
        payments:
          description: |
            History of payments made. Credit accounts only.
            
            * null = N/A payment, out of range
            * -1 = reported but unknown specifics
            * 0 = paid on time
            * 1 = Less than or equal to 1 pay period late
            * 2 = Less than or equal to 2 pay periods late
            * 3 = Less than or equal to 3 pay periods late
            * 4 = Less than or equal to 4 pay periods late
            * 5 = 5 or more pay periods late
          type: array
          example:
          - null
          - null
          - null
          - 1
          - 1
          - 1
          - 0
          - 0
          - 0
          - 0
          - 0
          - 0
          items:
            type: number
            minLength: 1
            maxLength: 21
            nullable: true
        balances:
          description: "History of the tradeline's account balances. Credit accounts only."
          type: array
          items:
            type: number
            minLength: 1
            maxLength: 21
            nullable: true
          example: 
          - 0
          - 0
          - 0
          - 0
          - 0
          - 0
          - 0
          - 0
          - 0
          - 0
          - 0
          - 0
        credit_limits:
          description: "History of the tradeline's credit limits. Credit accounts only."
          type: array
          items:
            type: number
            minLength: 1
            maxLength: 21
            nullable: true
          example: 
            - 710
            - 710
            - 710
            - 710
            - 710
            - 710
            - 710
            - 710
            - 710
            - 710
            - 710
            - 710
      required:
        - year
        - payments
    Tradeline:
      type: object
      properties:
        tradeline_id:
          description: "Reference ID of the tradeline."
          type: string
          format: uuid
          minLength: 36
          maxLength: 36
          example: "3cb16ade-2983-49e2-b16e-3086c83c07c3"
        institution:
          description: "Name of lending institution."
          type: string
          minLength: 1
          maxLength: 255
          nullable: true
          example: "Test Bank"
        translated_institution:
          description: "Translated name of the lending institution."
          type: string
          minLength: 1
          maxLength: 255
          nullable: true
          example: "Test Bank Translated"
        original_currency:
          description: "Original currency in ISO 4217 format."
          type: string
          minLength: 3
          maxLength: 3
          example: "INR"
        date_opened:
          description: "Date tradeline was opened."
          type: string
          format: date
          minLength: 10
          maxLength: 10
          example: "2012-12-22"
        date_last_reported:
          description: "Date tradeline was last reported."
          type: string
          format: date
          minLength: 10
          maxLength: 10
          example: "2017-01-01"
        date_closed:
          description: "Date tradeline was closed."
          type: string
          format: date
          minLength: 10
          maxLength: 10
        date_negative_reported: 
          description: "Date that the tradeline reached negative status as indicated by the credit reporting institution."
          type: string
          format: date
          minLength: 10
          maxLength: 10
          example: "2012-12-22"
        last_payment_amount:
          description: "Last payment amount."
          type: number
          minLength: 1
          maxLength: 21
          example: 250
        past_due_balance:
          description: "Past due balance."
          type: number
          minLength: 1
          maxLength: 21
          example: 150
        current_pay_status:
          type: string
          minLength: 1
          maxLength: 30
          allOf:
           - $ref: '#/components/schemas/CurrentPayStatus'
          example: "CURRENT"
        current_pay_substatus:
          type: string
          minLength: 1
          maxLength: 30
          allOf:
            - $ref: '#/components/schemas/CurrentPaySubstatus'
          example: "CHARGE_OFF"
        scheduled_payment:
          description: "Scheduled payment."
          type: number
          minLength: 1
          maxLength: 21
          example: 500
        history_frequency:
          description: "The frequency of the payments presented in the history field, typically based on the frequency at which the bureau represents the payments. For most cases, the field will be MONTHLY and match with payment_obligation_frequency. However, in the non-standard case of MEX_CDC, there may be a mismatch due to Nova adjusting non-monthly payments to MONTHLY."
          type: string
          minLength: 1
          maxLength: 20
          enum:
          - ANNUAL
          - QUARTERLY
          - BI_MONTHLY
          - MONTHLY
          - BI_WEEKLY
          - WEEKLY
          - FIXED_AMOUNT
          example: "MONTHLY"
        portfolio_type:
          description: |
            * REAL_ESTATE - Secured asset loans, typically related to a property, with fixed repayment amounts over a fixed length of time.
            * INSTALLMENT - Loans that are typically repaid with fixed repayment amounts over a fixed timeframe.
            * REVOLVING - Flexible access to a line of credit with repayment amounts determined by the amount of credit used.
            * UNSPECIFIED_LIMIT - Accounts with no fixed limit where the payment in full is expected each payment cycle. 
            * OTHER - Portfolio type not identified.
          type: string
          minLength: 1
          maxLength: 30
          enum:
          - REAL_ESTATE
          - INSTALLMENT
          - REVOLVING
          - UNSPECIFIED_LIMIT
          - OTHER
          example: "REAL_ESTATE"
        account_type:
          description: "Account type."
          type: string
          minLength: 1
          maxLength: 30
          example: MORTGAGE
          enum:
          - OVERDRAFT
          - MORTGAGE
          - HOME_EQUITY
          - CREDIT_LINE
          - VEHICLE
          - PERSONAL
          - STUDENT
          - LEASE_RENTAL
          - CREDIT_CARD
          - CHARGE_CARD
          - RETAIL
          - ONLINE_RETAIL
          - FLEX_SPENDING
          - PAYDAY_LOAN
          - UTILITY_TELCO_CABLE
          - MEDICAL
          - INSURANCE_CLAIM
          - MICROFINANCE
          - OTHER
        current_condition_type:
          description: |
            Condition the tradeline is in currently.
            * TRANSFER_SOLD - The tradeline has been transferred or sold
            * EXTERNAL_CALAMITY - Unforeseen circumstances such as natural disasters potentially affected repayment
            * RESTRUCTURED - The account has been financially restructured
            * PARTIAL - The tradeline has been partially paid off
            * DECEASED - Borrower deceased, and tradeline repayment obligations marked as affected
            * DEFERRED - Account repayment obligations are currently deferred
            * FORBEARANCE - Agreement by lender to delay the account repayment obligation
            * LOST_STOLEN - Card was stolen or lost
            * ADJUSTMENT_PENDING - Account status is currently under review pending an adjustment
            * EXCEPTION - The tradeline is marked as an exception when it is an insurance claim or a medical credit; usually out of control of the borrower's actions
            * CEASED - The account has been ceased, or the membership has been terminated
          type: string
          minLength: 1
          maxLength: 30
          enum:
          - TRANSFER_SOLD
          - EXTERNAL_CALAMITY
          - RESTRUCTURED
          - PARTIAL
          - DECEASED
          - DEFERRED
          - FORBEARANCE
          - LOST_STOLEN
          - ADJUSTMENT_PENDING
          - EXCEPTION
          example: "TRANSFER_SOLD"
        current_condition_status:
          description: |  
            * ACTIVE - Account is open and recent activity has been reported, where recent is usually within the last 90 days
            * INACTIVE - Account is open and recent inactivity has been reported, where recent is usually within the last 90 days
            * CONSUMER_INITIATED - Account was closed at the consumer's request
            * LENDER_INITIATED - account was closed at the lender's request
          type: string
          minLength: 1
          maxLength: 30
          enum:
          - ACTIVE
          - INACTIVE
          - CONSUMER_INITIATED
          - LENDER_INITIATED
          example: "ACTIVE"
        responsibility:
          description: "Responsibility."
          type: string
          minLength: 1
          maxLength: 30
          allOf:
            - $ref: '#/components/schemas/Responsibility'
          example: "INDIVIDUAL"
        balance:
          description: "Balance."
          type: number
          minLength: 1
          maxLength: 21
          example: 1104
        high_balance:
          description: "High balance."
          type: number
          minLength: 1
          maxLength: 21
          example: 1502
        credit_limit:
          description: "Credit limit."
          type: number
          minLength: 1
          maxLength: 21
          example: 4100
        is_open:
          description: "Boolean indicating whether tradeline is open."
          type: boolean
          minLength: 4
          maxLength: 5
        is_collateralized:
          description: "Boolean indicating whether tradeline is collateralized."
          type: boolean
          minLength: 4
          maxLength: 5
        original_loan:
          description: "Original loan amount."
          type: number
          minLength: 1
          maxLength: 21
          example: 5000
        history:
          description: |
              A child to tradelines, history refers to the applicant's tradeline
              activity. history is returned in an array and can have zero objects or a
              maximum of 7 objects (one object per year).
              
              The format of history depends
              on the history_frequency value of the tradeline, which will most often be
              MONTHLY.
          type: array
          items:
            $ref: '#/components/schemas/TradelineHistory'
        payment_obligation_frequency:
          description: |
            * ANNUAL: every year
            * SEMI_ANNUAL: twice a year
            * TRI_ANNUAL: three times a year
            * QUARTERLY: every quarter
            * BI_MONTHLY: every two months 
            * MONTHLY: every month
            * SEMI_MONTHLY: twice a month
            * BI_WEEKLY: every two weeks
            * WEEKLY: every week
            * DAILY: every day
            * FIXED_AMOUNT: one single reported value
            * PERIODICALLY: no specific frequency specified
            * DEFERRED: account repayment obligations are currently deferred
          type: string
          minLength: 1
          maxLength: 20
          enum:
          - ANNUAL
          - SEMI_ANNUAL
          - TRI_ANNUAL
          - QUARTERLY
          - BI_MONTHLY
          - MONTHLY
          - SEMI_MONTHLY
          - BI_WEEKLY
          - WEEKLY
          - FIXED_AMOUNT
          - PERIODICALLY
          - DEFERRED
          example: "MONTHLY"
        charge_off_amount:
            description: "Charge off amount"
            type: number
            minLength: 1
            maxLength: 21
            example: 300
        comments:
          $ref: '#/components/schemas/Comments'
      required:
        - tradeline_id

    BankAccount:
      type: object
      properties:
        bank_account_id:
          description: "Reference ID of the bank account."
          type: string
          format: uuid
          minLength: 36
          maxLength: 36
          example: "a3fe2bfa-739a-4e78-8478-565c90fc269d"
        bank_account_type:
          description: "Bank account type."
          type: string
          minLength: 1
          maxLength: 25
          enum:
          - CHECKING
          - SAVINGS
          - OTHER
          example: "CHECKING"
        date_last_reported:
          description: "Date bank account was last reported."
          type: string
          format: date
          minLength: 10
          maxLength: 10
          example: "2017-11-01"
        date_opened:
          description: "Date bank account was opened."
          type: string
          format: date
          minLength: 10
          maxLength: 10
          example: "2015-07-19"
        date_closed:
          description: "Date bank account was closed."
          allOf:
            - $ref: '#/components/schemas/Date'
          example: "2020-07-01"
        current_pay_status:
          description: |
            When no overdraft has ever occurred on the bank account, this field can
            be blank.
            * CURRENT: The account is in good standing with no delinquent payment obligation
            * EARLY_DELINQUENT: Consumer has failed to satisfy one payment cycle
            * DELINQUENT: Consumer has failed to satisfy two payment cycles
            * DEFAULT: Consumer has failed to satisfy three payment cycles
            * DEROGATORY: Consumer has failed to satisfy at least four payment cycles
            * SEVERE_DEROGATORY: The account has been flagged with a severe negative event indicated by the presence of the current_pay_substatus field
          type: string
          minLength: 1
          maxLength: 30
          allOf:
          - $ref: '#/components/schemas/CurrentPayStatus'
          example: "CURRENT"
        current_pay_substatus:
          description: | 
            When no overdraft has ever occurred on the bank account, this field can
            be blank.
            * CHARGE_OFF: The account is in default or worse status (3+ payment cycles past due), and the creditor does not anticipate repayment to become current. Loss taken in the books. Synonym to written-off
            * BANKRUPTCY: The account is included in a bankruptcy proposal
            * FORECLOSURE: Foreclosure process has been initiated
            * SETTLED: Lender has accepted a settlement on this account
            * REPOSSESSION: Property has been repossessed due to consumer failure to pay
            * EXTERNAL_COLLECTIONS: Account has been placed with a third party collection agency
            * GARNISHMENT: Court ordered repayment of consumer funds, often wages in order to satisfy a debt obligation
          type: string
          minLength: 1
          maxLength: 30
          allOf: 
            - $ref: '#/components/schemas/CurrentPaySubstatus'
          example: "CHARGE_OFF"
        institution:
          description: "Name of the institution providing the account."
          type: string
          minLength: 1
          maxLength: 100
          nullable: true
          example: "Test Bank"
        translated_institution:
          description: "Translated name of the institution providing the account."
          type: string
          minLength: 1
          maxLength: 255
          nullable: true
          example: "Test Bank Translated"
        is_overdraftable:
          description: "Boolean indicating whether bank account has an overdraft facility."
          type: boolean
          minLength: 4
          maxLength: 5
          example: false
        is_overdrawn:
          description: "Boolean indicates whether an overdraft event occurred in the past."
          type: boolean
          minLength: 4
          maxLength: 5
          example: false
        responsibility:
          description: "Responsibility."
          type: string
          minLength: 1
          maxLength: 30
          allOf:
           - $ref: '#/components/schemas/Responsibility'
          example: "JOINT"
        balance:
          description: "Bank account balance."
          type: number
          minLength: 1
          maxLength: 21
          example: 20048
        original_currency:
          description: "Original currency in ISO 4217 format"
          type: string
          minLength: 3
          maxLength: 3
          example: "GBP"
        comments:
          $ref: '#/components/schemas/Comments'
      required:
        - bank_account_id
        - bank_account_type
        - date_last_reported
        - is_overdrawn

    PublicRecord:
      type: object
      properties:
        public_record_id:
          description: "Reference ID of the public record."
          type: string
          format: uuid
          minLength: 36
          maxLength: 36
          example: "7fcf520d-7b96-46a3-98b7-590d8d40c606"
        public_record_type:
          description: |
            * BANKRUPTCY: Consumer has filed for bankruptcy
            * TAX_LIEN: A lien imposed upon a property by law due to delinquent taxes
            * JUDGMENT: Legal decision associated with severe derogatory financial event
          type: string
          minLength: 1
          maxLength: 30
          enum:
          - BANKRUPTCY
          - TAX_LIEN
          - JUDGMENT
          example: "BANKRUPTCY"
        is_resolved:
          description: "Boolean indicating whether public record has been resolved."
          type: boolean
          minLength: 4
          maxLength: 5
          example: true
        date_filed:
          description: "Date public record was filed."
          type: string
          format: date
          minLength: 10
          maxLength: 10
          example: "2014-06-01"
        court_name:
          description: "Court name."
          type: string
          minLength: 1
          maxLength: 100
          example: "ABERDARE"
        date_last_reported:
          description: "Date public record was last reported."
          allOf:
          - $ref: '#/components/schemas/Date'
        comments:
          $ref: '#/components/schemas/Comments'
      required:
        - public_record_id

    LinkedEntries:
      description: |
        Object of UUID values. For some countries, we know that a dispute,
        for example, is tied to a tradeline as it comes in the form of a trade
        narrative code or similar. In those cases we create an entry in the
        disputes node and form a link with linked_entries.tradeline_id to the
        related tradeline. We cannot always infer a link, and in those cases we
        do not populate these fields. The following links will exist where the
        leaf will have a link to the parent:
          * tradelines => disputes
          * tradelines => frauds
          * tradelines => collections
          * collections => disputes
          * public_records => disputes
          * bank_accounts => nonsufficient_funds
      type: object
      properties:
        tradeline_id:
          description: "Linked tradeline ID."
          allOf:
          - $ref: '#/components/schemas/UUID'
        public_record_id:
          description: "Linked public record ID."
          allOf:
          - $ref: '#/components/schemas/UUID'
        collection_id:
          description: "Linked collection ID."
          allOf:
          - $ref: '#/components/schemas/UUID'
        bank_account_id:
          description: "Linked bank account ID."
          allOf:
          - $ref: '#/components/schemas/UUID'
    Fraud:
      type: object
      properties:
        fraud_id:
          description: "Reference ID of the fraud."
          type: string
          format: uuid
          minLength: 36
          maxLength: 36
          example: "e8046ede-7668-4112-a049-b828d889e4db"
        date_reported:
          description: "Date fraud was reported."
          allOf:
          - $ref: '#/components/schemas/Date'
          example: "2020-05-01"
        is_fraudster:
          description: "Boolean indicating whether applicant is a fraudster."
          type: boolean
          minLength: 4
          maxLength: 5
          example: false
        comments:
          $ref: '#/components/schemas/Comments'
        linked_entries:
          $ref: '#/components/schemas/LinkedEntries'
      required:
        - fraud_id
        - is_fraudster
    Collection:
      type: object
      properties:
        collection_id:
          description: "Reference ID of the collection."
          type: string
          format: uuid
          minLength: 36
          maxLength: 36
          example: "5fb8659a-f3a5-45d0-acac-c721a2e6e301"
        is_paid:
          description: "Indicates if collection has been paid off."
          type: boolean
          minLength: 4
          maxLength: 5
          example: false
        agency_name:
          description: "Collection agency name."
          type: string
          minLength: 1
          maxLength: 100
          example: "METRO RECOVERY"
        date_last_reported:
          description: "Date collection was last reported."
          type: string
          format: date
          minLength: 10
          maxLength: 10
          example: "2015-11-01"
        balance:
          description: "Amount still owed to agency."
          type: number
          minLength: 1
          maxLength: 21
          example: 176
        date_filed:
          description: "Date collection was given to collection agency."
          type: string
          format: date
          minLength: 10
          maxLength: 10
          example: "2015-07-01"
        date_last_payment:
          description: "Date of last payment."
          type: string
          format: date
          minLength: 10
          maxLength: 10
          example: "2015-11-01"
        original_currency:
          description: "Original currency in ISO 4217 format."
          type: string
          minLength: 3
          maxLength: 3
          example: "CAD"
        statement:
          description: "Full description of the collection."
          type: string
          minLength: 1
          maxLength: 255
          example: "Sample collection statement"
        comments:
          $ref: '#/components/schemas/Comments'
        linked_entries:
          $ref: '#/components/schemas/LinkedEntries'
      required:
        - collection_id
        - is_paid
        - balance
    NonsufficientFund:
      type: object
      properties:
        nonsufficient_fund_id:
          description: "Reference ID of the nonsufficient fund."
          type: string
          format: uuid
          minLength: 36
          maxLength: 36
          example: "c8864b6e-f61a-4dd5-bf4f-3907744b8b49"
        nonsufficient_date:
          description: "Date initially reported."
          type: string
          format: date
          minLength: 10
          maxLength: 10
          example: "2015-03-01"
        date_last_reported:
          description: "Date nonsufficient fund was last reported."
          type: string
          format: date
          minLength: 10
          maxLength: 10
          example: "2015-07-01"
        comments:
          $ref: '#/components/schemas/Comments'
        linked_entries:
          $ref: '#/components/schemas/LinkedEntries'
      required:
        - nonsufficient_fund_id
    Inquiry:
      type: object
      properties:
        inquiry_id:
          description: "Reference ID of the inquiry."
          type: string
          format: uuid
          minLength: 36
          maxLength: 36
          example: "ddb66dd8-edfe-46d9-9138-539e12e941f9"
        is_credit_seeking:
          description: "Boolean indicating whether the inquiry is soft (false) or hard (true)"
          type: boolean
          minLength: 4
          maxLength: 5
          example: false
        inquiry_date:
          description: "Date of inquiry."
          type: string
          format: date
          minLength: 10
          maxLength: 10
          example: "2017-09-22"
        company_name:
          description: "Company name."
          type: string
          minLength: 1
          maxLength: 255
          nullable: true
          example: "Test Bank"
        translated_company_name:
          description: "Translated company name."
          type: string
          minLength: 1
          maxLength: 255
          nullable: true
          example: "Test Bank Translated"
        inquiry_account_type:
          description: "Indicates the account type linked to an individual's historic inquiries where this information is available."
          type: string
          minLength: 1
          maxLength: 40
          example: "CREDIT_CARD"
          enum:
            - OVERDRAFT
            - MORTGAGE
            - CREDIT_LINE
            - VEHICLE
            - PERSONAL
            - STUDENT
            - CREDIT_CARD
            - CHARGE_CARD
            - UTILITY_TELCO_CABLE
            - MICROFINANCE
            - REVOLVING
            - LEASE_RENTAL
            - PAYDAY_LOAN
            - HOME_EQUITY
            - INSURANCE_CLAIM
            - MEDICAL
            - RETAIL
            - OTHER
            - UNKNOWN
        is_collateralized:
          description: "Whether inquiry is collateralized."
          type: boolean
          minLength: 4
          maxLength: 5
          example: false
        comments:
          $ref: '#/components/schemas/Comments'
      required:
        - inquiry_id
        - inquiry_account_type
    Employer:
      type: object
      properties:
        employer_id:
          description: "Reference ID of this employer."
          type: string
          format: uuid
          minLength: 36
          maxLength: 36
          example: "9c1d63fe-1e2f-4ec9-9317-73a8b2056f72"
        company_name:
          description: "Company name."
          type: string
          minLength: 1
          maxLength: 255
          nullable: true
          example: "Test Employer"
        job_title:
          description: "Job title."
          type: string
          minLength: 1
          maxLength: 255
          example: "Engineer"
        annual_salary:
          description: "Annual salary."
          type: number
          minLength: 1
          maxLength: 21
          example: 50000
        original_currency:
          description: "Only provided if annual_salary exists. ISO 4217 format"
          type: string
          minLength: 3
          maxLength: 3
          example: "INR"
        date_reported:
          description: "Date reported."
          allOf:
          - $ref: '#/components/schemas/Date'
        comments:
          $ref: '#/components/schemas/Comments'
      required:
        - employer_id
    Address:
      type: object
      properties:
        address_id:
          description: "Reference ID of this address."
          type: string
          format: uuid
          minLength: 36
          maxLength: 36
          example: "4b2d8394-d791-4117-9030-634824561f7c"
        address:
          description: "The entire address that was returned."
          type: string
          minLength: 1
          maxLength: 255
          example: "2 Nhavi Street, Khar East, Mumbai, 40052, Maharashtra"
        street:
          description: "Street."
          type: string
          minLength: 1
          maxLength: 255
          example: "2 Nhavi Street"
        neighborhood:
          description: "Neighborhood"
          type: string
          minLength: 1
          maxLength: 255
          example: ""
        district:
          description: "District."
          type: string
          minLength: 1
          maxLength: 255
          example: "Khar East"
        city:
          description: "City."
          type: string
          minLength: 1
          maxLength: 255
          example: "Mumbai"
        zipcode:
          description: "Zipcode."
          type: string
          minLength: 1
          maxLength: 255
          example: "40052"
        state:
          description: "State."
          type: string
          minLength: 1
          maxLength: 255
          example: "Maharashtra"
        date_reported:
          description: "Date reported."
          allOf:
          - $ref: '#/components/schemas/Date'
      required:
        - address_id
    Dispute:
      type: object
      properties:
        dispute_id:
          description: "Reference ID of the dispute."
          type: string
          format: uuid
          minLength: 36
          maxLength: 36
          example: "d692c565-06d0-4c65-a009-0884f7a7eeb5"
        date_reported:
          description: "Date dispute was reported."
          type: string
          format: date
          minLength: 10
          maxLength: 10
          example: "2018-12-12"
        statement:
          description: "Full description of the dispute."
          type: string
          minLength: 1
          maxLength: 255
          example: "This data has been disputed by the individual concerned."
        comments:
          $ref: '#/components/schemas/Comments'
        linked_entries:
          $ref: '#/components/schemas/LinkedEntries'
      required:
        - dispute_id
    Notice:
      type: object
      properties:
        notice_id:
          description: "Reference ID of the notice."
          type: string
          format: uuid
          minLength: 36
          maxLength: 36
          example: "6af13c4f-e476-4fb7-9f7b-616e4cacfacc"
        notice_type:
          description: |
            * BUREAU_COMMENT: The bureau left a comment about the applicant's credit report
            * BUREAU_ALERT: The bureau left an alert about the applicant's credit report
            * CONSUMER_STATEMENT: The consumer left a free-form statement on their credit report
          type: string
          minLength: 1
          maxLength: 20
          enum:
          - BUREAU_COMMENT
          - BUREAU_ALERT
          - CONSUMER_STATEMENT
          - OTHER
          example: "BUREAU_COMMENT"
        date_reported:
          description: "Date notice was reported."
          type: string
          format: date
          minLength: 10
          maxLength: 10
          example: "2019-12-12"
        statement:
          description: "Full description of the notice."
          type: string
          minLength: 1
          maxLength: 1200
          example: "Successful inquiry by other SIC"
      required:
        - notice_id
        - notice_type
        - statement
    CreditBureau:
      type: object
      properties:
        source_id:
          description: "Identifier representing the credit bureau data source."
          type: string
          minLength: 1
          maxLength: 15
          example: "IND_CHM"
        meta:
          description: "Information specific to the credit bureau data that has been returned."
          type: object
          properties:
            company_code:
              description: "Code representing the country and foreign bureau used to pull report."
              type: string
              enum: 
              - AUS_EFX
              - AUT_CRIF
              - BRA_XP
              - CAN_TU
              - CAN_EFX
              - CHE_CRIF
              - DOM_TU
              - ESP_EFX
              - GBR_EFX
              - GHA_XDS
              - IND_CHM
              - IND_CIBIL
              - KEN_CI
              - KOR_NICE
              - MEX_BDC
              - MEX_CDC
              - NGA_CRC
              - PHL_CRIF
              - UKR_CI
              - USA_XP
              minLength: 1
              maxLength: 15
              example: "IND_CHM"
            bureau_report_id:
              description: "Bureau report ID."
              type: string
              minLength: 1
              maxLength: 255
              example: 'id-provided_by+partner-5g4w'
          required:
            - company_code
        tradelines:
          description: "Applicant's previous and current credit-related products in the past seven years."
          type: array
          items:
            $ref: '#/components/schemas/Tradeline'
        bank_accounts:
          description: "Bank accounts refer to the applicant's previous and current bank account products in the past seven years."
          type: array
          items:
            $ref: '#/components/schemas/BankAccount'
        public_records:
          description: "Applicant's previous and current public records in the past seven years."
          type: array
          items:
            $ref: '#/components/schemas/PublicRecord'
        frauds:
          description: "Applicant's previous and current fraud reports in the past seven years."
          type: array
          items:
            $ref: '#/components/schemas/Fraud'
        collections:
          description: "Third party collections made on the applicant's accounts in the past seven years."
          type: array
          items:
            $ref: '#/components/schemas/Collection'
        nonsufficient_funds:
          description: "Nonsufficient fund reports made on the applicant's accounts in the past seven years."
          type: array
          items:
            $ref: '#/components/schemas/NonsufficientFund'
        inquiries:
          description: "Credit inquiries that have been performed on the applicants account over the past seven years."
          type: array
          items:
            $ref: '#/components/schemas/Inquiry'
        employers:
          description: "History of the applicant's work experience."
          type: array
          items:
            $ref: '#/components/schemas/Employer'
        addresses:
          description: "History of where the applicant has previously lived."
          type: array
          items:
            $ref: '#/components/schemas/Address'
        disputes:
          description: "Previous and current disputes the applicant has formally made on their credit report."
          type: array
          items:
            $ref: '#/components/schemas/Dispute'
        notices:
          description: "Notices and statements provided by the supplying credit bureau or the applicant about the applicant's credit report."
          type: array
          items:
            $ref: '#/components/schemas/Notice'
  examples:
    ##### Failures #####
    MalformedHeaders:
      summary: "Malformed Headers"
      description: "Has invalid or missing headers"
      value:
        error: "MALFORMED_HEADER"
        terminated: "true"
    InvalidVersion:
      summary: "Invalid API Version"
      description: "Customer did not specify API version or the specific API version is unavailable"
      value:
        error: "INVALID_VERSION"
        terminated: "true"
    InvalidPublicToken:
      summary: "Invalid Public Token"
      value:
        error: "INVALID_TOKEN"
        terminated: "true"
    InvalidExternalId:
      summary: "Invalid External ID"
      value:
        error: "INVALID_EXTERNAL_ID"
        terminated: "true"
    InvalidPublicId:
      summary: "Invalid or missing Public ID"
      value:
        error: "INVALID_PUBLIC_ID"
        terminated: "true"
