> This page is for Direct Executions.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://infonite.dev/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://infonite.dev/_mcp/server.

# Credit Registry

**Where it lives:** in the Spain Public Administration results, at `data.credit.registry`. APIs with dedicated per-product results endpoints return this model directly.

The credit registry is the Bank of Spain's record of the person's debts: every loan, credit
line and guarantee above the reporting threshold, entity by entity. It is the reference document
for indebtedness analysis, and the official PDF report travels as an
[attachment](/guides/data-models/attachments).

### Schema (`EUCreditRegistryDataSchema`)

The holder's risk position at a central credit register: in Spain, the Bank of
Spain's CIRBE report, detailed (one row per operation and entity) or aggregated
(operations grouped, no entities).

Every key the register prints comes twice: as its meaning (an enum, the same
whatever the report's period) and as the printed code (the `*_code` fields).

Every amount is always present. One the report did not give — when the report
could not be read — comes with currency `***` and amount `NaN`: unknown, never zero.

```yaml
components:
  schemas:
    EuCreditRegistryDataSchemaSubFamily:
      type: string
      enum:
        - credit_registry_data:es_cirbe_detailed
        - credit_registry_data:es_cirbe_aggregated
      description: >-
        Which report this is: detailed or aggregated — what the document turned
        out to be, not what was

        requested. A holder with nothing declared to the register only ever gets
        the aggregated report.
      title: EuCreditRegistryDataSchemaSubFamily
    IdentificationNumberSchemaType:
      type: string
      enum:
        - unknown
        - es:dni
        - es:nie
        - es:cif
        - es:ssn
        - co:cc
        - co:ce
        - co:nit
        - co:ti
      description: >-
        Kind of document the number belongs to (e.g. a national ID, passport,
        tax ID, or Social

        Security number).
      title: IdentificationNumberSchemaType
    IdentificationNumberSchema:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/IdentificationNumberSchemaType'
          description: >-
            Kind of document the number belongs to (e.g. a national ID,
            passport, tax ID, or Social

            Security number).
        value:
          type: string
          description: The number itself, as reported by the source.
        validated:
          type: boolean
          description: >-
            True when the value passed the platform's format and check-digit
            validation. It vouches for

            the NUMBER being well-formed — not for the official status of the
            document behind it.
        country:
          type:
            - string
            - 'null'
          format: country
          description: Country that issued the number, as a two-letter ISO code.
        valid_until:
          type: string
          format: date
          description: Expiry date of the document, when the source reports it.
      required:
        - type
        - value
        - validated
      description: >-
        One identification document: its type, its value, and whether the value
        passed validation.
      title: IdentificationNumberSchema
    CurrencyAmountSchemaCurrency:
      oneOf:
        - type: string
          format: currency
        - type: string
          enum:
            - '***'
      description: >-
        Three-letter ISO currency code — or `***` when the source did not
        disclose the currency.
      title: CurrencyAmountSchemaCurrency
    CurrencyAmountSchema:
      type: object
      properties:
        currency:
          $ref: '#/components/schemas/CurrencyAmountSchemaCurrency'
          description: >-
            Three-letter ISO currency code — or `***` when the source did not
            disclose the currency.
        amount:
          type: string
          format: number
          description: Decimal number with 2 digits precision
      required:
        - currency
        - amount
      description: A monetary amount together with its currency.
      title: CurrencyAmountSchema
    CreditRegistryProductType:
      type: string
      enum:
        - securities_lending
        - trade_credit_with_recourse
        - trade_credit_without_recourse
        - trade_receivables
        - financial_credit
        - financial_lease
        - reverse_repurchase_agreement
        - debt_securities
        - financial_guarantee
        - forward_deposit
        - non_financial_guarantee
        - irrevocable_documentary_credit
        - available_in_other_commitments
        - overdraft
        - credit_card_debt
        - deposit
        - revolving_credit
        - credit_line
        - other_loans
      description: Type of product or operation ("Tipo de producto/operación").
      title: CreditRegistryProductType
    CreditRegistryInterventionNature:
      type: string
      enum:
        - direct_holder
        - guarantor
        - bill_signatory
      description: >-
        How the report's holder takes part in the operation ("Naturaleza de la
        intervención").
      title: CreditRegistryInterventionNature
    CreditRegistryJointLiability:
      type: string
      enum:
        - joint_and_several
        - collective
        - not_joint_and_several
      description: >-
        Whether the holder answers for the operation together with others
        ("Solidario/colectivo").


        A CIR report prints nothing when neither applies; that is "not stated",
        not a member.
      title: CreditRegistryJointLiability
    CreditRegistryResidualMaturity:
      type: string
      enum:
        - up_to_three_months
        - three_months_to_one_year
        - one_to_five_years
        - over_five_years
        - indeterminate
      description: >-
        Time left between the report's date and the operation's maturity ("Plazo
        residual").
      title: CreditRegistryResidualMaturity
    CreditRegistryRealGuarantee:
      type: string
      enum:
        - none
        - financial_assets_pledge
        - real_estate_mortgage
        - other_real_guarantee
        - life_insurance_pledge
        - other_physical_collateral
        - credit_derivatives
        - financial_guarantee_other_than_credit_derivatives
        - other_protection
        - residential_real_estate
        - offices_and_commercial_premises
        - commercial_real_estate
        - debt_securities
        - gold
        - cash_and_deposits
        - loans
        - trade_receivables
        - equity_and_investment_fund_shares
      description: >-
        Type of the principal real (collateral) guarantee ("Tipo de garantía
        real principal").
      title: CreditRegistryRealGuarantee
    CreditRegistryGuaranteeCoverage:
      type: string
      enum:
        - total
        - partial
      description: >-
        How much of the risk (drawn and available) the principal guarantee
        covers.
      title: CreditRegistryGuaranteeCoverage
    CreditRegistryPersonalGuarantee:
      type: string
      enum:
        - none
        - public_administration
        - other_personal_guarantee
        - reporting_entity
        - public_credit_insurer
        - unspecified
      description: >-
        Type of the principal personal guarantee, beyond the direct holders' own
        ("Tipo de garantía personal principal").
      title: CreditRegistryPersonalGuarantee
    CreditRegistryOperationSituation:
      type: string
      enum:
        - standard
        - restructured_under_rdl_6_2012
        - refinanced_or_restructured
        - creditors_agreement
        - default_90_days_to_4_years
        - default_over_4_years
        - written_off
      description: Special situation of the operation ("Situación de la operación").
      title: CreditRegistryOperationSituation
    OperationSchema:
      type: object
      properties:
        entity_name:
          type:
            - string
            - 'null'
          description: Name of the reporting entity. Detailed reports only.
        entity_code:
          type:
            - string
            - 'null'
          description: >-
            Bank of Spain code of the reporting entity (e.g. `0182`). Detailed
            reports only.
        operation_code:
          type:
            - string
            - 'null'
          description: >-
            Unique code of the operation, as the entity reports it. Detailed
            reports only.
        product_type:
          oneOf:
            - $ref: '#/components/schemas/CreditRegistryProductType'
            - type: 'null'
          description: >-
            Type of product: a loan, a lease, a guarantee… Empty only if the
            code is new to us; see `product_type_code`.
        product_type_code:
          type:
            - string
            - 'null'
          description: Product code as printed (e.g. `V32`).
        intervention_nature:
          oneOf:
            - $ref: '#/components/schemas/CreditRegistryInterventionNature'
            - type: 'null'
          description: >-
            How the holder takes part: as the direct obligor, or as a guarantor
            of someone else's operation.
        intervention_nature_code:
          type:
            - string
            - 'null'
          description: Intervention code as printed (e.g. `T11`).
        collective_status:
          oneOf:
            - $ref: '#/components/schemas/CreditRegistryJointLiability'
            - type: 'null'
          description: >-
            Whether the holder answers jointly and severally, or collectively,
            with others. Empty when neither.
        collective_status_code:
          type:
            - string
            - 'null'
          description: Code as printed (e.g. `T33`).
        participants_number:
          type:
            - integer
            - 'null'
          minimum: 1
          description: >-
            Number of participants in a joint and several or collective
            operation.
        currency:
          type: string
          format: currency
          description: >-
            Currency the operation is contracted in. `XXX` means "other
            currencies".
        maturity_type:
          oneOf:
            - $ref: '#/components/schemas/CreditRegistryResidualMaturity'
            - type: 'null'
          description: Time left to maturity at the report's date.
        maturity_type_code:
          type:
            - string
            - 'null'
          description: Maturity code as printed (e.g. `L08`).
        real_guarantee_type:
          oneOf:
            - $ref: '#/components/schemas/CreditRegistryRealGuarantee'
            - type: 'null'
          description: 'Main real guarantee (collateral): a mortgage, a pledge… or `none`.'
        real_guarantee_type_code:
          type:
            - string
            - 'null'
          description: Code as printed (e.g. `G19`).
        real_guarantee_coverage:
          oneOf:
            - $ref: '#/components/schemas/CreditRegistryGuaranteeCoverage'
            - type: 'null'
          description: >-
            Whether the real guarantee covers all of the risk or part of it.
            Empty when there is no guarantee.
        real_guarantee_coverage_code:
          type:
            - string
            - 'null'
          description: Code as printed (e.g. `E14`).
        personal_guarantee_type:
          oneOf:
            - $ref: '#/components/schemas/CreditRegistryPersonalGuarantee'
            - type: 'null'
          description: Main personal guarantee beyond the holders' own, or `none`.
        personal_guarantee_type_code:
          type:
            - string
            - 'null'
          description: >-
            Code as printed (e.g. `G10`). Empty when there is no personal
            guarantee.
        personal_guarantee_coverage:
          oneOf:
            - $ref: '#/components/schemas/CreditRegistryGuaranteeCoverage'
            - type: 'null'
          description: Whether the personal guarantee covers all of the risk or part of it.
        personal_guarantee_coverage_code:
          type:
            - string
            - 'null'
          description: Code as printed (e.g. `E15`).
        operation_status:
          oneOf:
            - $ref: '#/components/schemas/CreditRegistryOperationSituation'
            - type: 'null'
          description: >-
            Special situation of the operation: refinanced, in default, written
            off… `standard` when none applies.
        operation_status_code:
          type:
            - string
            - 'null'
          description: >-
            Code as printed (e.g. `I19`). Empty when no special situation
            applies.
        total_drawn:
          $ref: '#/components/schemas/CurrencyAmountSchema'
          description: >-
            Amount drawn, overdue amounts included. In an aggregated report,
            exact to the thousand.
        overdue:
          $ref: '#/components/schemas/CurrencyAmountSchema'
          description: >-
            Part of the drawn amount that is overdue, with a first default over
            90 days old.
        arrears:
          $ref: '#/components/schemas/CurrencyAmountSchema'
          description: >-
            Part of the overdue amount that is default interest and enforceable
            expenses.
        risk_available:
          $ref: '#/components/schemas/CurrencyAmountSchema'
          description: Amount still available to draw.
      required:
        - currency
      title: OperationSchema
    MinorRiskSchema:
      type: object
      properties:
        entity_name:
          type: string
          description: >-
            Name of an entity whose accumulated risk with the holder is below
            the reporting threshold.
        entity_code:
          type:
            - string
            - 'null'
          description: Bank of Spain code of the entity.
        limit_amount:
          $ref: '#/components/schemas/CurrencyAmountSchema'
          description: >-
            The reporting threshold: 1,000 EUR from period 01-2021, 9,000 EUR
            before.
      required:
        - entity_name
      title: MinorRiskSchema
    ProductAttachmentType:
      type: string
      enum:
        - attachment:attachment
        - attachment:supplier_invoice
        - attachment:client_invoice
        - attachment:es-tgss-life-report
        - attachment:es-tgss-contribution-base-report
        - attachment:es-aeat-model-100
        - attachment:es-cirbe-report
        - attachment:sepa-direct-debit-bill
        - attachment:person-certified-photo
      description: Product Attachment Type
      title: ProductAttachmentType
    FileAttachmentSchema:
      type: object
      properties:
        product:
          type: string
          enum:
            - attachment
          default: attachment
          description: The product type identifier. Always `attachment`.
        sub_family:
          $ref: '#/components/schemas/ProductAttachmentType'
          description: >-
            What kind of document this is (e.g.
            `attachment:es-tgss-life-report`).
        id:
          type: string
          format: object-id
          description: >-
            Attachment identifier — what the attachments endpoint of the API
            that returned the result

            takes to download the file.
        content_name:
          type: string
          description: File name of the document.
        content_hash:
          type: string
          description: Fingerprint of the content, to verify its integrity.
        content_type:
          type: string
          format: mime-type
          description: MIME type of the content.
        metadata:
          type: object
          additionalProperties:
            description: Any type
          description: >-
            Extra facts about the document, as simple key-value pairs (e.g. its
            official verification

            code, its issue date).
      required:
        - sub_family
        - id
        - content_name
        - content_type
        - metadata
      description: >-
        A document attached to a result — an official report, a receipt, an
        invoice... The entry

        describes the file; its bytes are downloaded with `id`, through the
        attachments endpoint of the

        API that returned the result.
      title: FileAttachmentSchema
    EUCreditRegistryDataSchema:
      type: object
      properties:
        product:
          type: string
          enum:
            - credit_registry_data
          description: The product type identifier.
        sub_family:
          $ref: '#/components/schemas/EuCreditRegistryDataSchemaSubFamily'
          description: >-
            Which report this is: detailed or aggregated — what the document
            turned out to be, not what was

            requested. A holder with nothing declared to the register only ever
            gets the aggregated report.
        fetch_date:
          type: string
          format: datetime
          description: Date this product was fetched.
        country:
          type: string
          format: country
          description: Country of the credit registry.
        holder_code:
          type: string
          description: >-
            The holder's code exactly as the report prints it (e.g.
            `ES44444444A`). Not reported when the

            report could not be read.
        holder_name:
          type: string
          description: >-
            Full name or business name of the holder, as the report prints it.
            Not reported when the report

            could not be read: the attached report is then the only reference.
        identifier:
          $ref: '#/components/schemas/IdentificationNumberSchema'
          description: >-
            The holder's national identifier, from the report's holder code. Not
            reported when the report

            could not be read.
        report_month:
          type: string
          description: Period the operations correspond to, `MM-YYYY`.
        consultation_date:
          type:
            - string
            - 'null'
          format: datetime
          description: When the register's data was taken, as the report states it.
        total_drawn:
          $ref: '#/components/schemas/CurrencyAmountSchema'
          description: >-
            Total drawn across every operation in the system. In an aggregated
            report, exact to the thousand.
        total_overdue:
          $ref: '#/components/schemas/CurrencyAmountSchema'
          description: Total overdue across every operation in the system.
        total_arrears:
          $ref: '#/components/schemas/CurrencyAmountSchema'
          description: Total default interest and enforceable expenses in the system.
        total_risk_available:
          $ref: '#/components/schemas/CurrencyAmountSchema'
          description: Total still available to draw in the system.
        operations:
          type: array
          items:
            $ref: '#/components/schemas/OperationSchema'
          default: []
          description: >-
            The operations: one per operation in a detailed report, one per
            group in an aggregated one.
        minor_risks:
          type: array
          items:
            $ref: '#/components/schemas/MinorRiskSchema'
          default: []
          description: >-
            Entities whose accumulated risk is below the reporting threshold.
            Detailed reports only.
        attachments:
          type: array
          items:
            $ref: '#/components/schemas/FileAttachmentSchema'
          default: []
          description: The original report (PDF).
      required:
        - product
        - sub_family
        - fetch_date
        - country
        - report_month
      title: EUCreditRegistryDataSchema
```

## Operations

One entry per reported operation:

### Schema (`OperationSchema`)

```yaml
components:
  schemas:
    CreditRegistryProductType:
      type: string
      enum:
        - securities_lending
        - trade_credit_with_recourse
        - trade_credit_without_recourse
        - trade_receivables
        - financial_credit
        - financial_lease
        - reverse_repurchase_agreement
        - debt_securities
        - financial_guarantee
        - forward_deposit
        - non_financial_guarantee
        - irrevocable_documentary_credit
        - available_in_other_commitments
        - overdraft
        - credit_card_debt
        - deposit
        - revolving_credit
        - credit_line
        - other_loans
      description: Type of product or operation ("Tipo de producto/operación").
      title: CreditRegistryProductType
    CreditRegistryInterventionNature:
      type: string
      enum:
        - direct_holder
        - guarantor
        - bill_signatory
      description: >-
        How the report's holder takes part in the operation ("Naturaleza de la
        intervención").
      title: CreditRegistryInterventionNature
    CreditRegistryJointLiability:
      type: string
      enum:
        - joint_and_several
        - collective
        - not_joint_and_several
      description: >-
        Whether the holder answers for the operation together with others
        ("Solidario/colectivo").


        A CIR report prints nothing when neither applies; that is "not stated",
        not a member.
      title: CreditRegistryJointLiability
    CreditRegistryResidualMaturity:
      type: string
      enum:
        - up_to_three_months
        - three_months_to_one_year
        - one_to_five_years
        - over_five_years
        - indeterminate
      description: >-
        Time left between the report's date and the operation's maturity ("Plazo
        residual").
      title: CreditRegistryResidualMaturity
    CreditRegistryRealGuarantee:
      type: string
      enum:
        - none
        - financial_assets_pledge
        - real_estate_mortgage
        - other_real_guarantee
        - life_insurance_pledge
        - other_physical_collateral
        - credit_derivatives
        - financial_guarantee_other_than_credit_derivatives
        - other_protection
        - residential_real_estate
        - offices_and_commercial_premises
        - commercial_real_estate
        - debt_securities
        - gold
        - cash_and_deposits
        - loans
        - trade_receivables
        - equity_and_investment_fund_shares
      description: >-
        Type of the principal real (collateral) guarantee ("Tipo de garantía
        real principal").
      title: CreditRegistryRealGuarantee
    CreditRegistryGuaranteeCoverage:
      type: string
      enum:
        - total
        - partial
      description: >-
        How much of the risk (drawn and available) the principal guarantee
        covers.
      title: CreditRegistryGuaranteeCoverage
    CreditRegistryPersonalGuarantee:
      type: string
      enum:
        - none
        - public_administration
        - other_personal_guarantee
        - reporting_entity
        - public_credit_insurer
        - unspecified
      description: >-
        Type of the principal personal guarantee, beyond the direct holders' own
        ("Tipo de garantía personal principal").
      title: CreditRegistryPersonalGuarantee
    CreditRegistryOperationSituation:
      type: string
      enum:
        - standard
        - restructured_under_rdl_6_2012
        - refinanced_or_restructured
        - creditors_agreement
        - default_90_days_to_4_years
        - default_over_4_years
        - written_off
      description: Special situation of the operation ("Situación de la operación").
      title: CreditRegistryOperationSituation
    CurrencyAmountSchemaCurrency:
      oneOf:
        - type: string
          format: currency
        - type: string
          enum:
            - '***'
      description: >-
        Three-letter ISO currency code — or `***` when the source did not
        disclose the currency.
      title: CurrencyAmountSchemaCurrency
    CurrencyAmountSchema:
      type: object
      properties:
        currency:
          $ref: '#/components/schemas/CurrencyAmountSchemaCurrency'
          description: >-
            Three-letter ISO currency code — or `***` when the source did not
            disclose the currency.
        amount:
          type: string
          format: number
          description: Decimal number with 2 digits precision
      required:
        - currency
        - amount
      description: A monetary amount together with its currency.
      title: CurrencyAmountSchema
    OperationSchema:
      type: object
      properties:
        entity_name:
          type:
            - string
            - 'null'
          description: Name of the reporting entity. Detailed reports only.
        entity_code:
          type:
            - string
            - 'null'
          description: >-
            Bank of Spain code of the reporting entity (e.g. `0182`). Detailed
            reports only.
        operation_code:
          type:
            - string
            - 'null'
          description: >-
            Unique code of the operation, as the entity reports it. Detailed
            reports only.
        product_type:
          oneOf:
            - $ref: '#/components/schemas/CreditRegistryProductType'
            - type: 'null'
          description: >-
            Type of product: a loan, a lease, a guarantee… Empty only if the
            code is new to us; see `product_type_code`.
        product_type_code:
          type:
            - string
            - 'null'
          description: Product code as printed (e.g. `V32`).
        intervention_nature:
          oneOf:
            - $ref: '#/components/schemas/CreditRegistryInterventionNature'
            - type: 'null'
          description: >-
            How the holder takes part: as the direct obligor, or as a guarantor
            of someone else's operation.
        intervention_nature_code:
          type:
            - string
            - 'null'
          description: Intervention code as printed (e.g. `T11`).
        collective_status:
          oneOf:
            - $ref: '#/components/schemas/CreditRegistryJointLiability'
            - type: 'null'
          description: >-
            Whether the holder answers jointly and severally, or collectively,
            with others. Empty when neither.
        collective_status_code:
          type:
            - string
            - 'null'
          description: Code as printed (e.g. `T33`).
        participants_number:
          type:
            - integer
            - 'null'
          minimum: 1
          description: >-
            Number of participants in a joint and several or collective
            operation.
        currency:
          type: string
          format: currency
          description: >-
            Currency the operation is contracted in. `XXX` means "other
            currencies".
        maturity_type:
          oneOf:
            - $ref: '#/components/schemas/CreditRegistryResidualMaturity'
            - type: 'null'
          description: Time left to maturity at the report's date.
        maturity_type_code:
          type:
            - string
            - 'null'
          description: Maturity code as printed (e.g. `L08`).
        real_guarantee_type:
          oneOf:
            - $ref: '#/components/schemas/CreditRegistryRealGuarantee'
            - type: 'null'
          description: 'Main real guarantee (collateral): a mortgage, a pledge… or `none`.'
        real_guarantee_type_code:
          type:
            - string
            - 'null'
          description: Code as printed (e.g. `G19`).
        real_guarantee_coverage:
          oneOf:
            - $ref: '#/components/schemas/CreditRegistryGuaranteeCoverage'
            - type: 'null'
          description: >-
            Whether the real guarantee covers all of the risk or part of it.
            Empty when there is no guarantee.
        real_guarantee_coverage_code:
          type:
            - string
            - 'null'
          description: Code as printed (e.g. `E14`).
        personal_guarantee_type:
          oneOf:
            - $ref: '#/components/schemas/CreditRegistryPersonalGuarantee'
            - type: 'null'
          description: Main personal guarantee beyond the holders' own, or `none`.
        personal_guarantee_type_code:
          type:
            - string
            - 'null'
          description: >-
            Code as printed (e.g. `G10`). Empty when there is no personal
            guarantee.
        personal_guarantee_coverage:
          oneOf:
            - $ref: '#/components/schemas/CreditRegistryGuaranteeCoverage'
            - type: 'null'
          description: Whether the personal guarantee covers all of the risk or part of it.
        personal_guarantee_coverage_code:
          type:
            - string
            - 'null'
          description: Code as printed (e.g. `E15`).
        operation_status:
          oneOf:
            - $ref: '#/components/schemas/CreditRegistryOperationSituation'
            - type: 'null'
          description: >-
            Special situation of the operation: refinanced, in default, written
            off… `standard` when none applies.
        operation_status_code:
          type:
            - string
            - 'null'
          description: >-
            Code as printed (e.g. `I19`). Empty when no special situation
            applies.
        total_drawn:
          $ref: '#/components/schemas/CurrencyAmountSchema'
          description: >-
            Amount drawn, overdue amounts included. In an aggregated report,
            exact to the thousand.
        overdue:
          $ref: '#/components/schemas/CurrencyAmountSchema'
          description: >-
            Part of the drawn amount that is overdue, with a first default over
            90 days old.
        arrears:
          $ref: '#/components/schemas/CurrencyAmountSchema'
          description: >-
            Part of the overdue amount that is default interest and enforceable
            expenses.
        risk_available:
          $ref: '#/components/schemas/CurrencyAmountSchema'
          description: Amount still available to draw.
      required:
        - currency
      title: OperationSchema
```

## Minor risks

Positions below the detailed-reporting threshold, aggregated:

### Schema (`MinorRiskSchema`)

```yaml
components:
  schemas:
    CurrencyAmountSchemaCurrency:
      oneOf:
        - type: string
          format: currency
        - type: string
          enum:
            - '***'
      description: >-
        Three-letter ISO currency code — or `***` when the source did not
        disclose the currency.
      title: CurrencyAmountSchemaCurrency
    CurrencyAmountSchema:
      type: object
      properties:
        currency:
          $ref: '#/components/schemas/CurrencyAmountSchemaCurrency'
          description: >-
            Three-letter ISO currency code — or `***` when the source did not
            disclose the currency.
        amount:
          type: string
          format: number
          description: Decimal number with 2 digits precision
      required:
        - currency
        - amount
      description: A monetary amount together with its currency.
      title: CurrencyAmountSchema
    MinorRiskSchema:
      type: object
      properties:
        entity_name:
          type: string
          description: >-
            Name of an entity whose accumulated risk with the holder is below
            the reporting threshold.
        entity_code:
          type:
            - string
            - 'null'
          description: Bank of Spain code of the entity.
        limit_amount:
          $ref: '#/components/schemas/CurrencyAmountSchema'
          description: >-
            The reporting threshold: 1,000 EUR from period 01-2021, 9,000 EUR
            before.
      required:
        - entity_name
      title: MinorRiskSchema
```

## When the Bank of Spain does not serve the report

The Bank of Spain serves the CIRBE report only to a person whose Cl\@ve registration reaches the level it requires. When it does not, `data.credit.registry` is absent and the Spain Public Administration session says why in its [`messages`](/flows/spain-public-administration/api-reference/spain-public-administration-api/sessions-results/flows-es-public-administration-v-1-session-results#response.body.messages): a `clave_level_insufficient` info message, located at `["data", "credit", "registry"]`. Trying again in the same session does not change it: the level is a property of the person's Cl\@ve registration.

## CIRBE is not a delinquency file

CIRBE and ASNEF are often confused, and they answer different questions:

|                       | CIRBE                                                                                | ASNEF and other delinquency files                             |
| :-------------------- | :----------------------------------------------------------------------------------- | :------------------------------------------------------------ |
| **Who runs it**       | The Banco de España, by law.                                                         | Private companies.                                            |
| **Who reports to it** | Banks and other credit institutions.                                                 | Any creditor that is a member, telcos and utilities included. |
| **What it lists**     | Every risk the person holds, current or not: loans, credit lines, cards, guarantees. | Only unpaid debts.                                            |

So the two never carry the same amounts: someone with a mortgage paid on time is in CIRBE and not in ASNEF. CIRBE is read **in the person's name**, from the Banco de España's own site, with their consent. Delinquency files are not a source on this platform.