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

# Poder Judicial Civil Courts Ruling

> Retrieve one ruling of Chile's civil courts by its `id` from a search result: its full text (anonymized where the court anonymizes it), case number, court, parties line, matters, judges, outcome, descriptors and cited provisions, and Croma's copy of its anonymized PDF where there is one. The text comes back a character range at a time (`offset`, `limit`); follow `next_offset` until `has_more` is false.

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



## OpenAPI

````yaml /api-reference/openapi.json post /cl/pjud/civil-court-ruling/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/pjud/civil-court-ruling/v1:
    post:
      tags:
        - Chile
        - Poder Judicial de Chile
      summary: Poder Judicial Civil Courts Ruling
      description: >-
        Retrieve one ruling of Chile's civil courts by its `id` from a search
        result: its full text (anonymized where the court anonymizes it), case
        number, court, parties line, matters, judges, outcome, descriptors and
        cited provisions, and Croma's copy of its anonymized PDF where there is
        one. The text comes back a character range at a time (`offset`,
        `limit`); follow `next_offset` until `has_more` is false.


        **Dataset endpoint**: answers from the whole source in milliseconds and
        carries `as_of`.
      operationId: pjud_civil_court_ruling
      parameters:
        - $ref: '#/components/parameters/IdempotencyKey'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - ruling_id
              properties:
                ruling_id:
                  type: string
                  pattern: ^\d{1,12}$
                  description: The ruling's `id` from a search result, e.g. `8283326`.
                offset:
                  type: integer
                  minimum: 0
                  maximum: 10000000
                  default: 0
                  description: >-
                    First character of the range to return. Pass the previous
                    response's `next_offset` to continue reading.
                limit:
                  type: integer
                  minimum: 1000
                  maximum: 1000000
                  default: 200000
                  description: Maximum characters to return (1000-1000000).
              additionalProperties: false
            example:
              ruling_id: '201410080'
      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/PjudCivilCourtRulingResponse'
        '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/pjud
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:
    PjudCivilCourtRulingResponse:
      type: object
      required:
        - data
      properties:
        data:
          $ref: '#/components/schemas/PjudCivilCourtRulingData'
    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.
    PjudCivilCourtRulingData:
      type: object
      properties:
        as_of:
          anyOf:
            - type: string
            - type: 'null'
          description: How current the data in this response is.
        found:
          type: boolean
        ruling_id:
          type: string
        ruling:
          anyOf:
            - type: object
              properties:
                id:
                  type: string
                  description: >-
                    The ruling's permanent id at the Poder Judicial, e.g.
                    "8283326". Pass it to the ruling endpoint.
                document_id:
                  anyOf:
                    - type: string
                    - type: 'null'
                  description: >-
                    The Poder Judicial's id for the ruling's document, which can
                    differ from `id` in the Cortes de Apelaciones.
                case_number:
                  anyOf:
                    - type: string
                    - type: 'null'
                  description: >-
                    The case number (rol) as the court writes it, e.g.
                    "19865-2023", or with its letter prefix in a first-instance
                    court, e.g. "C-4513-2026". Null when the court withholds it.
                case_year:
                  anyOf:
                    - type: number
                    - type: 'null'
                  description: The year in the rol, which can be earlier than the ruling.
                ruling_date:
                  type: string
                  description: '`yyyy-mm-dd` the ruling was handed down.'
                court:
                  type: string
                  description: >-
                    The court that ruled, e.g. "Corte Suprema", "C.A. de
                    Valdivia", "27º Juzgado Civil de Santiago".
                court_code:
                  anyOf:
                    - type: number
                    - type: 'null'
                  description: The Poder Judicial's code for that court.
                chamber:
                  anyOf:
                    - type: string
                    - type: 'null'
                  description: >-
                    The chamber (sala) that ruled, in the Corte Suprema and the
                    Cortes de Apelaciones, e.g. "SEGUNDA, PENAL".
                lower_court:
                  anyOf:
                    - type: string
                    - type: 'null'
                  description: >-
                    The court the case came from, when this one reviews
                    another's decision.
                lower_court_case_number:
                  anyOf:
                    - type: string
                    - type: 'null'
                  description: >-
                    The case number the case carried in the lower court, e.g.
                    "C-103-2024" or "1620-2022".
                case_title:
                  anyOf:
                    - type: string
                    - type: 'null'
                  description: >-
                    The case title (carátula), usually the parties, e.g. "SILVA
                    CON FISCO DE CHILE". Null when the ruling is anonymized.
                matters:
                  type: array
                  items:
                    type: string
                  description: >-
                    The matters the court classifies the case under, e.g.
                    ["PATERNIDAD, RECONOCIMIENTO DE"].
                book:
                  anyOf:
                    - type: string
                    - type: 'null'
                  description: The docket book (libro), e.g. "Civil", "FAMILIA".
                appeal_type:
                  anyOf:
                    - type: string
                    - type: 'null'
                  description: >-
                    The kind of appeal or proceeding, e.g. "(CIVIL) CASACIÓN
                    FONDO", "Familia-apelacion sentencia".
                outcome:
                  anyOf:
                    - type: string
                    - type: 'null'
                  description: >-
                    What the court decided on the appeal, as it writes it, e.g.
                    "RECHAZA CASACION EN EL FONDO (M)", "REVOCADA".
                decision:
                  anyOf:
                    - type: string
                    - type: 'null'
                  description: >-
                    The kind of decision a first-instance court records, e.g.
                    "Sentencia Condenatoria".
                procedural_status:
                  anyOf:
                    - type: string
                    - type: 'null'
                  description: The case's procedural status, e.g. "Fallada-Terminada".
                judges:
                  type: array
                  items:
                    type: string
                  description: The judges (ministros or jueces) of the ruling.
                signatories:
                  type: array
                  items:
                    type: string
                  description: Who signed the ruling, as listed.
                drafting_judge:
                  anyOf:
                    - type: string
                    - type: 'null'
                  description: >-
                    The judge who drafted the ruling (redactor), when
                    identified.
                rapporteur:
                  anyOf:
                    - type: string
                    - type: 'null'
                  description: The court rapporteur (relator), when there is one.
                descriptors:
                  type: array
                  items:
                    type: string
                  description: The Poder Judicial's subject descriptors for the ruling.
                cited_norms:
                  type: array
                  items:
                    type: string
                  description: >-
                    The provisions the ruling cites, e.g. "CODIGO CIVIL ART.
                    1698".
                case_code:
                  anyOf:
                    - type: string
                    - type: 'null'
                  description: >-
                    The unique case number (RUC) the case carries across courts,
                    when the court records one.
                jurisdiction:
                  anyOf:
                    - type: string
                    - type: 'null'
                  description: The kind of court, e.g. "Juzgado de Garantía.".
                publication_condition:
                  anyOf:
                    - type: string
                    - type: 'null'
                  description: >-
                    How the Poder Judicial publishes the ruling, e.g. "Con
                    interes jurisprudencial, anonimizada", "Publicable".
                anonymized:
                  type: boolean
                  description: >-
                    Whether the Poder Judicial publishes the ruling anonymized:
                    names and identifying details replaced by placeholders, in
                    the text and the document.
                anonymization_status:
                  anyOf:
                    - type: string
                    - type: 'null'
                  description: >-
                    The Poder Judicial's anonymization status for the ruling,
                    e.g. "ANONIMIZADO", "NO ANONIMIZABLE", "EN PROCESO
                    ANONIMIZACION".
                page_count:
                  anyOf:
                    - type: number
                    - type: 'null'
                  description: Pages of the original document.
                original_format:
                  anyOf:
                    - type: string
                    - type: 'null'
                  description: >-
                    The format of the court's original file, e.g.
                    "application/msword", "application/pdf".
                citation:
                  anyOf:
                    - type: string
                    - type: 'null'
                  description: >-
                    The bibliographic citation the Poder Judicial gives the
                    ruling.
                excerpt:
                  anyOf:
                    - type: string
                    - type: 'null'
                  description: >-
                    The opening of the ruling's text, as the Poder Judicial
                    previews it.
                document_url:
                  anyOf:
                    - type: string
                    - type: 'null'
                  description: >-
                    Croma's byte-identical copy of the document the Poder
                    Judicial lets anyone download: the anonymized PDF, for
                    anonymized rulings. Null otherwise.
                source_document_url:
                  anyOf:
                    - type: string
                    - type: 'null'
                  description: >-
                    Always null: the Poder Judicial gives no permanent public
                    link to its documents.
                document_status:
                  type: string
                  enum:
                    - kept
                    - not_downloadable
                    - pending
                  description: >-
                    `kept` when `document_url` holds Croma's copy of the
                    anonymized PDF; `not_downloadable` when the Poder Judicial
                    lets no one download the ruling's file, so `text` is the
                    whole ruling; `pending` while Croma's copy is still being
                    taken.
                content:
                  anyOf:
                    - type: object
                      properties:
                        text:
                          type: string
                          description: The requested character range of the ruling's text.
                        offset:
                          type: number
                          description: >-
                            First character of the range, which is where the
                            reading actually started.
                        total_length:
                          type: number
                          description: >-
                            Length of the whole text in characters, however much
                            of it this response carries.
                        has_more:
                          type: boolean
                          description: Whether the text continues past this range.
                        next_offset:
                          anyOf:
                            - type: number
                            - type: 'null'
                          description: >-
                            Pass this back as `offset` to read the next range.
                            Null at the end of the text.
                      required:
                        - text
                        - offset
                        - total_length
                        - has_more
                        - next_offset
                    - type: 'null'
                  description: A range of the ruling's text, or null when it has none.
              required:
                - id
                - document_id
                - case_number
                - case_year
                - ruling_date
                - court
                - court_code
                - chamber
                - lower_court
                - lower_court_case_number
                - case_title
                - matters
                - book
                - appeal_type
                - outcome
                - decision
                - procedural_status
                - judges
                - signatories
                - drafting_judge
                - rapporteur
                - descriptors
                - cited_norms
                - case_code
                - jurisdiction
                - publication_condition
                - anonymized
                - anonymization_status
                - page_count
                - original_format
                - citation
                - excerpt
                - document_url
                - source_document_url
                - document_status
                - content
            - type: 'null'
      required:
        - as_of
        - found
        - ruling_id
        - ruling
  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.