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

# CMF Regulations Search

> Search Chile's financial regulation: the CMF's Normas de Carácter General, Circulares and Oficios Circulares since 1979 for every market, and the SBIF's banking circulars from 1956 to 2019. Free text in Spanish matches the title, the SBIF's label and the issuing resolution. Filter by `collection`, `type`, `number`, `year`, `market`, the issue date (`from_date`/`to_date`) and `related_to` (every norm that amends or repeals a given one, or that it amends or repeals). Each result carries its original documents. Served by Croma (`as_of` says how current the data is).

**Dataset endpoint**: answers from the whole source in milliseconds and carries `as_of`.



## OpenAPI

````yaml /api-reference/openapi.json post /cl/cmf/regulations-search/v1
openapi: 3.1.0
info:
  title: Croma Marketplace API
  version: 1.0.0
  description: >-
    Government-data APIs for Colombia, Peru, Mexico, United States, Brazil, El
    Salvador, Bolivia, Japan, and Chile, plus global web search. Croma
    normalizes public-sector data into structured JSON for product teams and AI
    agents.


    Every operation is a POST with a JSON body and an organization API key as a
    bearer token; every operation is an idempotent lookup and accepts an
    optional `Idempotency-Key` header. Paths carry their major version (`/v1`);
    the versioning and deprecation policy, including the `Deprecation` and
    `Sunset` headers a retiring endpoint sends, is at
    https://docs.usecroma.com/versioning. Rate limits are per organization and
    reported on every response (`RateLimit-Policy`, `X-RateLimit-*`):
    https://docs.usecroma.com/rate-limits.
  termsOfService: https://usecroma.com/en/terms
  contact:
    name: Croma support
    url: https://usecroma.com/en/support
    email: support@usecroma.com
servers:
  - url: https://api.croma.run
security: []
paths:
  /cl/cmf/regulations-search/v1:
    post:
      tags:
        - Chile
        - CMF
      summary: CMF Regulations Search
      description: >-
        Search Chile's financial regulation: the CMF's Normas de Carácter
        General, Circulares and Oficios Circulares since 1979 for every market,
        and the SBIF's banking circulars from 1956 to 2019. Free text in Spanish
        matches the title, the SBIF's label and the issuing resolution. Filter
        by `collection`, `type`, `number`, `year`, `market`, the issue date
        (`from_date`/`to_date`) and `related_to` (every norm that amends or
        repeals a given one, or that it amends or repeals). Each result carries
        its original documents. Served by Croma (`as_of` says how current the
        data is).


        **Dataset endpoint**: answers from the whole source in milliseconds and
        carries `as_of`.
      operationId: cmf_regulations_search
      parameters:
        - $ref: '#/components/parameters/IdempotencyKey'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required: []
              properties:
                query:
                  type: string
                  maxLength: 300
                  default: ''
                  description: >-
                    Optional words in Spanish, matched against the title, the
                    description and the resolution of each record, e.g. `deuda
                    consolidada` or `liquidez`. Every word must appear; accents
                    and plurals are folded.
                collection:
                  type: string
                  enum:
                    - ''
                    - cmf
                    - sbif
                  default: ''
                  description: >-
                    Optional collection: `cmf` for the general regulation the
                    CMF (and before it the SVS) issues for every market, `sbif`
                    for the banking regulation the former Superintendencia de
                    Bancos e Instituciones Financieras issued up to 2019.
                type:
                  type: string
                  maxLength: 40
                  default: ''
                  description: >-
                    Optional kind of norm as `type` names it: `NCG` (Norma de
                    Carácter General), `CIR` (Circular) or `OFC` (Oficio
                    Circular) for the CMF; `Circular` or `Carta Circular` for
                    the SBIF. Case and accents are ignored.
                number:
                  type: string
                  maxLength: 20
                  default: ''
                  description: >-
                    Optional number of the norm, e.g. `577` or `3644`. Numbers
                    repeat across years and kinds, so combine it with `type` and
                    `year`.
                year:
                  type: integer
                  minimum: 0
                  maximum: 2100
                  default: 0
                  description: Optional year the record was issued. 0 searches every year.
                market:
                  type: string
                  enum:
                    - ''
                    - banking
                    - securities
                    - insurance
                    - other
                  default: ''
                  description: >-
                    Optional market the norm applies to: `banking`,
                    `securities`, `insurance` or `other`. A norm can apply to
                    several.
                related_to:
                  type: string
                  maxLength: 40
                  default: ''
                  description: >-
                    Optional `id` of a norm, e.g. `ncg-30-1989`: returns every
                    norm that amends or repeals it, or that it amends or
                    repeals.
                from_date:
                  type: string
                  format: date
                  default: ''
                  description: Optional date filter in yyyy-mm-dd format.
                to_date:
                  type: string
                  format: date
                  default: ''
                  description: Optional date filter in yyyy-mm-dd format.
                page:
                  type: integer
                  minimum: 1
                  maximum: 1000
                  default: 1
                  description: 1-based page number for paginated results.
                per_page:
                  type: integer
                  minimum: 1
                  maximum: 50
                  default: 20
                  description: Results per page (1-50).
              additionalProperties: false
            example:
              query: deuda consolidada
              type: NCG
      responses:
        '200':
          description: Successful response
          headers:
            X-Request-Id:
              $ref: '#/components/headers/X-Request-Id'
            RateLimit-Policy:
              $ref: '#/components/headers/RateLimit-Policy'
            Idempotency-Key:
              $ref: '#/components/headers/Idempotency-Key'
            Deprecation:
              $ref: '#/components/headers/Deprecation'
            Sunset:
              $ref: '#/components/headers/Sunset'
            X-RateLimit-Limit:
              $ref: '#/components/headers/X-RateLimit-Limit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/X-RateLimit-Remaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/X-RateLimit-Reset'
            X-Cache:
              $ref: '#/components/headers/X-Cache'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CmfRegulationsSearchResponse'
        '400':
          description: Invalid request body
          headers:
            X-Request-Id:
              $ref: '#/components/headers/X-Request-Id'
            RateLimit-Policy:
              $ref: '#/components/headers/RateLimit-Policy'
            Idempotency-Key:
              $ref: '#/components/headers/Idempotency-Key'
            Deprecation:
              $ref: '#/components/headers/Deprecation'
            Sunset:
              $ref: '#/components/headers/Sunset'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: Missing or invalid API key
          headers:
            X-Request-Id:
              $ref: '#/components/headers/X-Request-Id'
            RateLimit-Policy:
              $ref: '#/components/headers/RateLimit-Policy'
            Idempotency-Key:
              $ref: '#/components/headers/Idempotency-Key'
            Deprecation:
              $ref: '#/components/headers/Deprecation'
            Sunset:
              $ref: '#/components/headers/Sunset'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: Rate limit exceeded
          headers:
            X-Request-Id:
              $ref: '#/components/headers/X-Request-Id'
            RateLimit-Policy:
              $ref: '#/components/headers/RateLimit-Policy'
            Idempotency-Key:
              $ref: '#/components/headers/Idempotency-Key'
            Deprecation:
              $ref: '#/components/headers/Deprecation'
            Sunset:
              $ref: '#/components/headers/Sunset'
            X-RateLimit-Limit:
              $ref: '#/components/headers/X-RateLimit-Limit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/X-RateLimit-Remaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/X-RateLimit-Reset'
            Retry-After:
              $ref: '#/components/headers/Retry-After'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: Internal error
          headers:
            X-Request-Id:
              $ref: '#/components/headers/X-Request-Id'
            RateLimit-Policy:
              $ref: '#/components/headers/RateLimit-Policy'
            Idempotency-Key:
              $ref: '#/components/headers/Idempotency-Key'
            Deprecation:
              $ref: '#/components/headers/Deprecation'
            Sunset:
              $ref: '#/components/headers/Sunset'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '502':
          description: Upstream source returned an error
          headers:
            X-Request-Id:
              $ref: '#/components/headers/X-Request-Id'
            RateLimit-Policy:
              $ref: '#/components/headers/RateLimit-Policy'
            Idempotency-Key:
              $ref: '#/components/headers/Idempotency-Key'
            Deprecation:
              $ref: '#/components/headers/Deprecation'
            Sunset:
              $ref: '#/components/headers/Sunset'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - bearerAuth: []
      externalDocs:
        description: Interactive documentation and examples
        url: https://docs.usecroma.com/guides/chile/cmf
components:
  parameters:
    IdempotencyKey:
      name: Idempotency-Key
      in: header
      required: false
      description: >-
        Optional client-chosen key for this request (any string up to 255
        characters, e.g. a UUID). Every Croma operation is an idempotent lookup:
        repeating a request with the same body returns the same result and
        creates nothing, so retrying after a timeout or network failure is
        always safe. The key is echoed back in the `Idempotency-Key` response
        header so you can correlate a retry with its first attempt. Each attempt
        that reaches the API counts against the rate limit.
      schema:
        type: string
        maxLength: 255
        example: 0f8e9a42-6b7c-4d1e-9a3f-2c5d7e8f9a0b
  headers:
    X-Request-Id:
      description: Unique id for the request (req_…). Include it in support reports.
      schema:
        type: string
    RateLimit-Policy:
      description: >-
        Quota policy for this endpoint as an IETF RateLimit-Policy structured
        field, e.g. `"default";q=100;w=86400` (100 requests per 86400-second
        window per organization). Endpoints with an extra hourly ceiling list
        both policies, e.g. `"webSearch";q=100;w=3600, "default";q=100;w=86400`.
        Present on every response, including 401 and 429.
      schema:
        type: string
        example: '"default";q=100;w=86400'
    Idempotency-Key:
      description: >-
        The `Idempotency-Key` the request carried, echoed back unchanged. Absent
        when the request sent none.
      schema:
        type: string
    Deprecation:
      description: >-
        Present only on an endpoint version scheduled for removal: the date the
        deprecation took effect (RFC 9745). A `Sunset` header and a `Link` with
        `rel="successor-version"` accompany it. Policy:
        https://docs.usecroma.com/versioning
      schema:
        type: string
        example: '@1767225600'
    Sunset:
      description: >-
        Present only on an endpoint version scheduled for removal: the date
        after which it answers 410 (RFC 8594). Announced in the changelog at
        least 90 days ahead.
      schema:
        type: string
        format: date-time
        example: Wed, 01 Apr 2026 00:00:00 GMT
    X-RateLimit-Limit:
      description: Requests allowed in the current window.
      schema:
        type: integer
    X-RateLimit-Remaining:
      description: Requests left before you are throttled.
      schema:
        type: integer
    X-RateLimit-Reset:
      description: ISO 8601 timestamp when the window resets.
      schema:
        type: string
        format: date-time
    X-Cache:
      description: >-
        HIT or MISS. Cached hits spend no credits, but still count toward an
        hourly ceiling.
      schema:
        type: string
        enum:
          - HIT
          - MISS
    Retry-After:
      description: Seconds to wait before retrying.
      schema:
        type: integer
  schemas:
    CmfRegulationsSearchResponse:
      type: object
      required:
        - data
      properties:
        data:
          $ref: '#/components/schemas/CmfRegulationsSearchData'
    ApiError:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - type
            - code
            - message
          properties:
            type:
              type: string
              description: >-
                Broad category: invalid_request_error, authentication_error,
                not_found_error, rate_limit_error, upstream_error, api_error.
            code:
              type: string
              description: Machine-readable specific code.
            message:
              type: string
              description: Human-readable explanation, safe to surface in UI.
            param:
              type: string
              description: Field that triggered the error. Present on validation errors.
            details:
              type: object
              description: Free-form structured detail.
    CmfRegulationsSearchData:
      type: object
      properties:
        as_of:
          anyOf:
            - type: string
            - type: 'null'
          description: How current the data in this response is.
        query:
          type: string
        year:
          anyOf:
            - type: number
            - type: 'null'
        from_date:
          anyOf:
            - type: string
            - type: 'null'
        to_date:
          anyOf:
            - type: string
            - type: 'null'
        total:
          type: number
          description: Matches, counted up to 1000.
        total_is_exact:
          type: boolean
          description: >-
            False when more than 1000 match: `total` is then 1000, and the pages
            go on.
        page:
          type: number
        per_page:
          type: number
        total_pages:
          type: number
          description: Pages over `total`; there are more when `total_is_exact` is false.
        count:
          type: number
        collection:
          anyOf:
            - type: string
            - type: 'null'
        type:
          anyOf:
            - type: string
            - type: 'null'
        number:
          anyOf:
            - type: string
            - type: 'null'
        market:
          anyOf:
            - type: string
            - type: 'null'
        related_to:
          anyOf:
            - type: string
            - type: 'null'
        results:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                description: >-
                  The norm's permanent id: `<type>-<number>-<year>` for the CMF
                  (e.g. `ncg-577-2026`, `ofc-1368-1993`), `sbif-<number>` for
                  the SBIF archive (e.g. `sbif-17825`).
              collection:
                type: string
                enum:
                  - cmf
                  - sbif
                description: >-
                  `cmf` for the CMF's general regulation (and the SVS's before
                  2018), `sbif` for the banking regulation of the former
                  Superintendencia de Bancos e Instituciones Financieras, up to
                  2019.
              type:
                anyOf:
                  - type: string
                  - type: 'null'
                description: >-
                  The kind of norm: `NCG` (Norma de Carácter General), `CIR`
                  (Circular) or `OFC` (Oficio Circular) for the CMF; as the
                  archive names it for the SBIF (`Circular`, `Carta
                  Circular`...).
              number:
                anyOf:
                  - type: string
                  - type: 'null'
                description: >-
                  The norm's number, e.g. `577`. Numbers repeat across kinds and
                  years.
              name:
                anyOf:
                  - type: string
                  - type: 'null'
                description: >-
                  The norm as the SBIF archive names it, e.g. "Circular N° 3.644
                  Bancos". Null for the CMF.
              issued_at:
                anyOf:
                  - type: string
                  - type: 'null'
                description: '`yyyy-mm-dd` the norm was issued.'
              year:
                type: number
                description: The year the norm was issued.
              title:
                anyOf:
                  - type: string
                  - type: 'null'
                description: >-
                  The norm's title or reference as the CMF publishes it; for the
                  SBIF archive, its description.
              section:
                anyOf:
                  - type: string
                  - type: 'null'
                description: >-
                  For the SBIF archive, the group of entities the norm is
                  addressed to, e.g. "Bancos", "Auditores Externos".
              markets:
                type: array
                items:
                  type: string
                description: >-
                  The markets the norm applies to: `banking`, `securities`,
                  `insurance`, `other`.
              in_force:
                anyOf:
                  - type: boolean
                  - type: 'null'
                description: >-
                  False when the CMF marks the norm as no longer in force, true
                  when it marks it in force, null when it does not say.
              validity:
                anyOf:
                  - type: string
                  - type: 'null'
                description: The validity note as the CMF writes it, e.g. "No Vigente".
              resolution:
                anyOf:
                  - type: object
                    properties:
                      number:
                        anyOf:
                          - type: string
                          - type: 'null'
                        description: The number of the resolution that issued the norm.
                      date:
                        anyOf:
                          - type: string
                          - type: 'null'
                        description: '`yyyy-mm-dd` of that resolution.'
                      reference:
                        anyOf:
                          - type: string
                          - type: 'null'
                        description: What the resolution says it does.
                    required:
                      - number
                      - date
                      - reference
                  - type: 'null'
                description: The resolution that issued the norm, when the CMF lists one.
              amends:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      anyOf:
                        - type: string
                        - type: 'null'
                      description: >-
                        The related norm's `id` in this dataset, e.g.
                        `ncg-30-1989`. Null when the CMF does not say which kind
                        of norm it is.
                    type:
                      anyOf:
                        - type: string
                        - type: 'null'
                      description: 'The related norm''s kind: `NCG`, `CIR` or `OFC`.'
                    number:
                      type: string
                      description: The related norm's number.
                    date:
                      anyOf:
                        - type: string
                        - type: 'null'
                      description: '`yyyy-mm-dd` the related norm was issued.'
                    source_document_url:
                      anyOf:
                        - type: string
                        - type: 'null'
                      description: The related norm's document at the CMF.
                  required:
                    - id
                    - type
                    - number
                    - date
                    - source_document_url
                description: The norms this one amends.
              amended_by:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      anyOf:
                        - type: string
                        - type: 'null'
                      description: >-
                        The related norm's `id` in this dataset, e.g.
                        `ncg-30-1989`. Null when the CMF does not say which kind
                        of norm it is.
                    type:
                      anyOf:
                        - type: string
                        - type: 'null'
                      description: 'The related norm''s kind: `NCG`, `CIR` or `OFC`.'
                    number:
                      type: string
                      description: The related norm's number.
                    date:
                      anyOf:
                        - type: string
                        - type: 'null'
                      description: '`yyyy-mm-dd` the related norm was issued.'
                    source_document_url:
                      anyOf:
                        - type: string
                        - type: 'null'
                      description: The related norm's document at the CMF.
                  required:
                    - id
                    - type
                    - number
                    - date
                    - source_document_url
                description: >-
                  The norms that amend this one, newest first as the CMF lists
                  them.
              repeals:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      anyOf:
                        - type: string
                        - type: 'null'
                      description: >-
                        The related norm's `id` in this dataset, e.g.
                        `ncg-30-1989`. Null when the CMF does not say which kind
                        of norm it is.
                    type:
                      anyOf:
                        - type: string
                        - type: 'null'
                      description: 'The related norm''s kind: `NCG`, `CIR` or `OFC`.'
                    number:
                      type: string
                      description: The related norm's number.
                    date:
                      anyOf:
                        - type: string
                        - type: 'null'
                      description: '`yyyy-mm-dd` the related norm was issued.'
                    source_document_url:
                      anyOf:
                        - type: string
                        - type: 'null'
                      description: The related norm's document at the CMF.
                  required:
                    - id
                    - type
                    - number
                    - date
                    - source_document_url
                description: The norms this one repeals.
              repealed_by:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      anyOf:
                        - type: string
                        - type: 'null'
                      description: >-
                        The related norm's `id` in this dataset, e.g.
                        `ncg-30-1989`. Null when the CMF does not say which kind
                        of norm it is.
                    type:
                      anyOf:
                        - type: string
                        - type: 'null'
                      description: 'The related norm''s kind: `NCG`, `CIR` or `OFC`.'
                    number:
                      type: string
                      description: The related norm's number.
                    date:
                      anyOf:
                        - type: string
                        - type: 'null'
                      description: '`yyyy-mm-dd` the related norm was issued.'
                    source_document_url:
                      anyOf:
                        - type: string
                        - type: 'null'
                      description: The related norm's document at the CMF.
                  required:
                    - id
                    - type
                    - number
                    - date
                    - source_document_url
                description: The norms that repeal this one.
              attachments:
                type: array
                items:
                  type: object
                  properties:
                    kind:
                      type: string
                      enum:
                        - consolidated_text
                        - report
                        - resolution
                        - annex
                      description: >-
                        `consolidated_text` (texto refundido or replacement
                        pages), `report` (informe normativo or a complementary
                        document), `resolution` (the resolution that issued the
                        norm) or `annex` (the attached sheets of an SBIF norm).
                    label:
                      anyOf:
                        - type: string
                        - type: 'null'
                      description: >-
                        The link's text as the CMF shows it, e.g. "Informe
                        Normativo".
                    document_url:
                      anyOf:
                        - type: string
                        - type: 'null'
                      description: >-
                        The original file, kept by Croma byte for byte as
                        published. Null while it is still being retrieved.
                    source_document_url:
                      type: string
                      description: The file's own link at the CMF.
                  required:
                    - kind
                    - label
                    - document_url
                    - source_document_url
                description: >-
                  The other files the CMF publishes with the norm: consolidated
                  text, regulatory report, resolution, annexes.
              document_url:
                anyOf:
                  - type: string
                  - type: 'null'
                description: >-
                  The norm's original document (PDF), kept by Croma byte for
                  byte as published. Null when the CMF publishes none, or while
                  it is still being retrieved.
              source_document_url:
                anyOf:
                  - type: string
                  - type: 'null'
                description: The norm's document at the CMF.
            required:
              - id
              - collection
              - type
              - number
              - name
              - issued_at
              - year
              - title
              - section
              - markets
              - in_force
              - validity
              - resolution
              - amends
              - amended_by
              - repeals
              - repealed_by
              - attachments
              - document_url
              - source_document_url
      required:
        - as_of
        - query
        - year
        - from_date
        - to_date
        - total
        - total_is_exact
        - page
        - per_page
        - total_pages
        - count
        - collection
        - type
        - number
        - market
        - related_to
        - results
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'Use Authorization: Bearer YOUR_API_KEY'

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.