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

# Rama Judicial Emails Search

> Search the Rama Judicial's official email directory: the mailbox of every Colombian despacho judicial and administrative area, with its corporation, specialty, department, city and seccional. Filter by place, kind of office or specialty (case and accents ignored), or resolve a court directly from a case: the first 12 digits of any radicado are the `court_code` of the despacho that holds it, and a full radicado is accepted as-is. Free text reaches the office name, the address itself, and the office's classification and place. 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 /co/rama-judicial/emails-search/v1
openapi: 3.1.0
info:
  title: Croma Marketplace API
  version: 1.0.0
  description: >-
    Government-data APIs for Colombia, Peru, Mexico, and 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: tomas@usecroma.com
servers:
  - url: https://api.croma.run
security: []
paths:
  /co/rama-judicial/emails-search/v1:
    post:
      tags:
        - Colombia
        - Rama Judicial
      summary: Rama Judicial Emails Search
      description: >-
        Search the Rama Judicial's official email directory: the mailbox of
        every Colombian despacho judicial and administrative area, with its
        corporation, specialty, department, city and seccional. Filter by place,
        kind of office or specialty (case and accents ignored), or resolve a
        court directly from a case: the first 12 digits of any radicado are the
        `court_code` of the despacho that holds it, and a full radicado is
        accepted as-is. Free text reaches the office name, the address itself,
        and the office's classification and place. 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: rama_judicial_emails_search
      parameters:
        - $ref: '#/components/parameters/IdempotencyKey'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required: []
              properties:
                query:
                  type: string
                  maxLength: 200
                  default: ''
                  description: >-
                    Optional search terms matched against the office name, the
                    email address, and the office's corporation, specialty,
                    department, city and seccional.
                department:
                  type: string
                  maxLength: 60
                  default: ''
                  description: >-
                    Optional department, matched from the start of the name:
                    `santander`, `bogota`, `valle`. Case and accents are
                    ignored.
                city:
                  type: string
                  maxLength: 60
                  default: ''
                  description: >-
                    Optional city, matched from the start of the name: `bogota`
                    finds Bogotá D.C., `medellin` Medellín. Case and accents are
                    ignored.
                corporation:
                  type: string
                  maxLength: 120
                  default: ''
                  description: >-
                    Optional kind of office (corporación), matched from the
                    start of the name: `juzgado-de-circuito`,
                    `tribunal-superior`, `centro-de-servicios`, `corte-suprema`.
                    Case and accents are ignored; `juzgado` matches every kind
                    of juzgado.
                specialty:
                  type: string
                  maxLength: 120
                  default: ''
                  description: >-
                    Optional specialty (especialidad), matched from the start of
                    the name: `civil`, `laboral`, `penal` (which also matches
                    the penal sub-specialties), `familia`. Case and accents are
                    ignored.
                account_type:
                  type: string
                  enum:
                    - ''
                    - despacho
                    - area
                  default: ''
                  description: >-
                    Optional kind of mailbox: `despacho` for a court's own
                    account, `area` for an administrative or service area. Empty
                    returns both.
                court_code:
                  type: string
                  pattern: ^(\d{12}|\d{20,25})?$
                  default: ''
                  description: >-
                    Optional 12-digit court code (código de despacho). A full
                    20-25-digit radicado is also accepted: its first 12 digits
                    identify the office where the case is filed.
                district:
                  type: string
                  maxLength: 60
                  default: ''
                  description: >-
                    Optional administrative district (seccional), matched from
                    the start of the name: `bucaramanga` finds Seccional
                    Bucaramanga, `nivel-central` the national level. Case and
                    accents are ignored.
                page:
                  type: integer
                  minimum: 1
                  maximum: 1000
                  default: 1
                  description: 1-based page number for paginated results.
                per_page:
                  type: integer
                  minimum: 1
                  maximum: 100
                  default: 20
                  description: Results per page (1-100).
              additionalProperties: false
            example:
              city: bucaramanga
              specialty: penal
      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/RamaJudicialEmailsSearchResponse'
        '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/colombia/rama-judicial
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=10;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 still count against your quota.
      schema:
        type: string
        enum:
          - HIT
          - MISS
    Retry-After:
      description: Seconds to wait before retrying.
      schema:
        type: integer
  schemas:
    RamaJudicialEmailsSearchResponse:
      type: object
      required:
        - data
      properties:
        data:
          $ref: '#/components/schemas/RamaJudicialEmailsSearchData'
    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.
    RamaJudicialEmailsSearchData:
      type: object
      properties:
        as_of:
          anyOf:
            - type: string
            - type: 'null'
          description: How current the data in this response is.
        query:
          type: string
        department:
          anyOf:
            - type: string
            - type: 'null'
        city:
          anyOf:
            - type: string
            - type: 'null'
        corporation:
          anyOf:
            - type: string
            - type: 'null'
        specialty:
          anyOf:
            - type: string
            - type: 'null'
        account_type:
          anyOf:
            - type: string
            - type: 'null'
        court_code:
          anyOf:
            - type: string
            - type: 'null'
        district:
          anyOf:
            - type: string
            - type: 'null'
        total:
          type: number
        page:
          type: number
        per_page:
          type: number
        total_pages:
          type: number
        count:
          type: number
        results:
          type: array
          items:
            type: object
            properties:
              email:
                type: string
                description: >-
                  The mailbox address, e.g.
                  `jcctobog01@cendoj.ramajudicial.gov.co`.
              name:
                anyOf:
                  - type: string
                  - type: 'null'
                description: >-
                  The office or area as the directory names it, e.g. "Juzgado 01
                  Civil Circuito - Bogotá - Bogotá D.C.".
              account_type:
                anyOf:
                  - type: string
                  - type: 'null'
                description: >-
                  What the mailbox belongs to, as the directory labels it:
                  "Despacho Judicial" (a court) or "Área" (an administrative or
                  service area).
              corporation:
                anyOf:
                  - type: string
                  - type: 'null'
                description: >-
                  The kind of office, as the directory writes it: "Juzgado De
                  Circuito", "Tribunal Superior", "Centro De Servicios
                  Judiciales", "Corte Suprema De Justicia" and others.
              corporation_key:
                anyOf:
                  - type: string
                  - type: 'null'
                description: >-
                  The corporation in canonical form, e.g. `juzgado-de-circuito`.
                  Filter on this by prefix.
              specialty:
                anyOf:
                  - type: string
                  - type: 'null'
                description: >-
                  The office's specialty, as the directory writes it: "Civil",
                  "Laboral", "Penal Con Función De Conocimiento", "No Aplica" on
                  administrative areas, and others.
              specialty_key:
                anyOf:
                  - type: string
                  - type: 'null'
                description: >-
                  The specialty in canonical form, e.g.
                  `penal-con-funcion-de-conocimiento`. Filter on this by prefix.
              department:
                anyOf:
                  - type: string
                  - type: 'null'
                description: >-
                  The department, as the directory writes it: "Bogotá",
                  "Santander", "N. De Santander".
              department_key:
                anyOf:
                  - type: string
                  - type: 'null'
                description: >-
                  The department in canonical form, e.g. `n-de-santander`.
                  Filter on this by prefix.
              city:
                anyOf:
                  - type: string
                  - type: 'null'
                description: >-
                  The city, as the directory writes it: "Bogotá D.C.",
                  "Medellín", "Paz De Ariporo".
              city_key:
                anyOf:
                  - type: string
                  - type: 'null'
                description: >-
                  The city in canonical form, e.g. `bogota-d-c`. Filter on this
                  by prefix.
              district:
                anyOf:
                  - type: string
                  - type: 'null'
                description: >-
                  The judicial branch's administrative district for the office,
                  as the directory writes it: "Seccional Bucaramanga",
                  "Seccional Nivel Central".
              district_key:
                anyOf:
                  - type: string
                  - type: 'null'
                description: >-
                  The district in canonical form with the `Seccional` prefix
                  dropped, e.g. `bucaramanga`, `nivel-central`. Filter on this
                  by prefix.
              court_code:
                anyOf:
                  - type: string
                  - type: 'null'
                description: >-
                  The office's 12-digit code (código de despacho). It is the
                  first 12 digits of every radicado filed at the office, so a
                  case number resolves the mailbox of the court that holds it.
            required:
              - email
              - name
              - account_type
              - corporation
              - corporation_key
              - specialty
              - specialty_key
              - department
              - department_key
              - city
              - city_key
              - district
              - district_key
              - court_code
      required:
        - as_of
        - query
        - department
        - city
        - corporation
        - specialty
        - account_type
        - court_code
        - district
        - total
        - page
        - per_page
        - total_pages
        - count
        - results
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'Use Authorization: Bearer YOUR_API_KEY'

````