> ## 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.

# Dirección del Trabajo Chile Pronouncements Search

> Search the administrative labour-law doctrine of Chile's Dirección del Trabajo: about 5,000 dictámenes since 1990, 7,900 ordinarios, and its circulares, órdenes de servicio and resoluciones. Free text in Spanish matches the title, the materias, the summary, the descriptors and the full text. Filter by `type`, `number` (e.g. `388/32`, or `388` for every pronouncement with that number), `year` and the issue date (`from_date`/`to_date`). Each result carries its labelled parts (legal sources, concordances), the DT's index of concordances and legal references, and Croma's copy of every published file. 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/dt-cl/pronouncements-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/dt-cl/pronouncements-search/v1:
    post:
      tags:
        - Chile
        - Dirección del Trabajo (Chile)
      summary: Dirección del Trabajo Chile Pronouncements Search
      description: >-
        Search the administrative labour-law doctrine of Chile's Dirección del
        Trabajo: about 5,000 dictámenes since 1990, 7,900 ordinarios, and its
        circulares, órdenes de servicio and resoluciones. Free text in Spanish
        matches the title, the materias, the summary, the descriptors and the
        full text. Filter by `type`, `number` (e.g. `388/32`, or `388` for every
        pronouncement with that number), `year` and the issue date
        (`from_date`/`to_date`). Each result carries its labelled parts (legal
        sources, concordances), the DT's index of concordances and legal
        references, and Croma's copy of every published file. 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: dt_cl_pronouncements_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
                    materias, the summary, the descriptors and the full text,
                    e.g. `registro de asistencia` or `fatiga somnolencia`. Every
                    word must appear.
                type:
                  type: string
                  enum:
                    - ''
                    - dictamen
                    - ordinario
                    - circular
                    - orden_de_servicio
                    - resolucion
                  default: ''
                  description: >-
                    Optional kind: `dictamen` (sets doctrine), `ordinario`
                    (answers a consultation), `circular`, `orden_de_servicio` or
                    `resolucion`.
                number:
                  type: string
                  maxLength: 30
                  default: ''
                  description: >-
                    Optional number, e.g. `388/32` (a dictamen with its
                    correlative) or `388` (every pronouncement numbered 388).
                    Numbers repeat across years and kinds.
                year:
                  type: integer
                  minimum: 0
                  maximum: 2100
                  default: 0
                  description: Optional year it was issued. 0 searches every year.
                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: registro de asistencia
              type: dictamen
      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/DtClPronouncementsSearchResponse'
        '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/direccion-del-trabajo
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:
    DtClPronouncementsSearchResponse:
      type: object
      required:
        - data
      properties:
        data:
          $ref: '#/components/schemas/DtClPronouncementsSearchData'
    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.
    DtClPronouncementsSearchData:
      type: object
      properties:
        as_of:
          anyOf:
            - type: string
            - type: 'null'
          description: How current the data in this response is.
        query:
          type: string
        type:
          anyOf:
            - type: string
            - type: 'null'
        number:
          anyOf:
            - type: string
            - type: 'null'
        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
        results:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                description: >-
                  The pronouncement's permanent id at the Dirección del Trabajo,
                  e.g. `129643`.
              type:
                type: string
                enum:
                  - dictamen
                  - ordinario
                  - circular
                  - orden_de_servicio
                  - resolucion
                description: >-
                  `dictamen` (sets the DT's doctrine, numbered
                  `<number>/<correlative>`), `ordinario` (an opinion answering a
                  consultation), `circular`, `orden_de_servicio` or
                  `resolucion`.
              title:
                type: string
                description: >-
                  The title as the DT publishes it, e.g. "ORD.N°388/32",
                  "Circular Nº 075".
              number:
                anyOf:
                  - type: string
                  - type: 'null'
                description: >-
                  The number, normalized: `388/32` for a dictamen, `493` for an
                  ordinario. Numbers repeat across years and kinds.
              correlative:
                anyOf:
                  - type: string
                  - type: 'null'
                description: >-
                  A dictamen's correlative, the part after `/` (`32` in
                  `388/32`). Null for other kinds.
              issued_at:
                anyOf:
                  - type: string
                  - type: 'null'
                description: '`yyyy-mm-dd` it was issued.'
              year:
                anyOf:
                  - type: number
                  - type: 'null'
                description: The year it was issued.
              subjects:
                type: array
                items:
                  type: string
                description: >-
                  The materias the DT files it under, e.g. "Prevención de
                  riesgos laborales".
              summary:
                anyOf:
                  - type: string
                  - type: 'null'
                description: The DT's summary of the doctrine or the answer.
              keywords:
                type: array
                items:
                  type: string
                description: The DT's descriptors for it, in lower case.
              action:
                anyOf:
                  - type: string
                  - type: 'null'
                description: >-
                  ACTUACIÓN: what the pronouncement does, e.g. "Fija doctrina.",
                  "Aplica doctrina.".
              background:
                anyOf:
                  - type: string
                  - type: 'null'
                description: 'ANTECEDENTES: the request, letters and memos it answers.'
              legal_sources:
                anyOf:
                  - type: string
                  - type: 'null'
                description: 'FUENTES: the legal provisions it rests on.'
              concordances:
                anyOf:
                  - type: string
                  - type: 'null'
                description: >-
                  CONCORDANCIA: the earlier pronouncements it agrees with or
                  replaces, as the DT cites them.
              sender:
                anyOf:
                  - type: string
                  - type: 'null'
                description: 'DE: who signs it, e.g. "DIRECTOR NACIONAL DEL TRABAJO".'
              recipient:
                anyOf:
                  - type: string
                  - type: 'null'
                description: >-
                  A: who it is addressed to, with the address as the DT
                  publishes it.
              sections:
                type: array
                items:
                  type: object
                  properties:
                    label:
                      type: string
                      description: >-
                        The label as the DT heads the part, e.g. `FUENTES`,
                        `CONCORDANCIA`, `MAT`, `ANT`.
                    text:
                      type: string
                      description: The part's text.
                  required:
                    - label
                    - text
                description: >-
                  Every labelled part at the head of the text, in order, as
                  published.
              concordance_tags:
                type: array
                items:
                  type: string
                description: >-
                  The DT's index of the pronouncements this one is concordant
                  with, as it labels them, e.g. "dictamen 2852/158 de
                  30.08.2002".
              legal_references:
                type: array
                items:
                  type: string
                description: >-
                  The DT's index of the legal provisions it cites, e.g. "código
                  del trabajo, articulo 184".
              related:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: string
                      description: The related pronouncement's `id`.
                    type:
                      anyOf:
                        - type: string
                          enum:
                            - dictamen
                            - ordinario
                            - circular
                            - orden_de_servicio
                            - resolucion
                        - type: 'null'
                      description: Its kind.
                    title:
                      type: string
                      description: Its title, e.g. "ORD. N°84/4".
                    issued_at:
                      anyOf:
                        - type: string
                        - type: 'null'
                      description: '`yyyy-mm-dd` it was issued.'
                  required:
                    - id
                    - type
                    - title
                    - issued_at
                description: >-
                  The other pronouncements the DT lists as concordant with this
                  one.
              documents:
                type: array
                items:
                  type: object
                  properties:
                    name:
                      type: string
                      description: >-
                        The file name the Dirección del Trabajo published it
                        under, e.g. `articles-129643_recurso_pdf.pdf`.
                    label:
                      anyOf:
                        - type: string
                        - type: 'null'
                      description: The link's text as the DT shows it, e.g. "ORD.N°388/32".
                    format:
                      anyOf:
                        - type: string
                        - type: 'null'
                      description: >-
                        The file's format as the DT labels it: `pdf`, `doc`,
                        `jpg`...
                    size_kb:
                      anyOf:
                        - type: number
                        - type: 'null'
                      description: The file's size in KB as the DT states it.
                    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, or
                        when the DT's link leads nowhere.
                    source_document_url:
                      type: string
                      description: The file's own link at the DT.
                  required:
                    - name
                    - label
                    - format
                    - size_kb
                    - document_url
                    - source_document_url
                description: >-
                  Every file the DT publishes with it (PDF or Word, sometimes an
                  image).
              document_url:
                anyOf:
                  - type: string
                  - type: 'null'
                description: >-
                  Croma's copy of the first file in `documents`. Null when the
                  DT publishes none, or while it is still being retrieved.
              source_document_url:
                anyOf:
                  - type: string
                  - type: 'null'
                description: That file's link at the DT.
              text_source:
                anyOf:
                  - type: string
                    enum:
                      - page
                      - document
                  - type: 'null'
                description: >-
                  `page` when the text is the one the DT publishes with the
                  pronouncement, `document` when the DT publishes it only as a
                  file and the text was read from that file, null when there is
                  no text.
            required:
              - id
              - type
              - title
              - number
              - correlative
              - issued_at
              - year
              - subjects
              - summary
              - keywords
              - action
              - background
              - legal_sources
              - concordances
              - sender
              - recipient
              - sections
              - concordance_tags
              - legal_references
              - related
              - documents
              - document_url
              - source_document_url
              - text_source
      required:
        - as_of
        - query
        - type
        - number
        - year
        - from_date
        - to_date
        - total
        - total_is_exact
        - page
        - per_page
        - total_pages
        - count
        - 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.