Claix Ventana de Contexto API

Consulta de contenido bruto, preguntas o borrado de un documento persistido (markdown_content) identificado por document_id. URLs públicas: GET https://claix.dev/get-document/{document_id}; POST https://claix.dev/document-context/{document_id}; DELETE https://claix.dev/delete-document/{document_id}.

Operations 3

GET /get-document/{document_id} Devuelve el contenido bruto de un documento procesado #
POST /document-context/{document_id} Responde preguntas sobre un documento persistido #
DELETE /delete-document/{document_id} Elimina un documento persistido #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/claix-dev-ventana-de-contexto-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

claix-dev-ventana-de-contexto-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Claix Ventana de Contexto API
  description: Claix es una API de conversión de datos tabulares, JSON y documentos (PDF, Word, texto plano, imágenes) pensada para integraciones server-to-server (backends, scripts, herramientas de automatización como n8n, Zapier o Make).
  version: 1.8.2
servers:
- url: https://claix.dev/api
  description: Producción (dominio público Claix)
security:
- ApiKeyAuth: []
- BearerAuth: []
tags:
- name: Ventana de Contexto
  description: 'Consulta de contenido bruto, preguntas o borrado de un documento persistido (markdown_content) identificado por document_id. URLs públicas: GET https://claix.dev/get-document/{document_id}; POST https://claix.dev/document-context/{document_id}; DELETE https://claix.dev/delete-document/{document_id}.'
paths:
  /get-document/{document_id}:
    servers:
    - url: https://claix.dev
      description: Producción (dominio público Claix)
    get:
      operationId: getDocument
      tags:
      - Ventana de Contexto
      summary: Devuelve el contenido bruto de un documento procesado
      description: 'Equivale a GET https://claix.dev/get-document/{document_id}. Endpoint de solo lectura, sin body ni query params. Recupera el contenido bruto (texto/markdown) y metadatos de un documento ya procesado por un endpoint de extracción con window_context activo. El documento debe pertenecer a la cuenta de la API key y no haber expirado. Esta llamada es gratuita: no se factura ni consume el cupo de extracciones.'
      externalDocs:
        description: Documentación humana
        url: https://claix.dev/documentation/window-context/get-document
      parameters:
      - name: document_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
        description: UUID del documento persistido en documents.
      responses:
        '200':
          description: Contenido bruto y metadatos del documento
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetDocumentSuccessResponse'
        '400':
          description: Petición inválida (document_id ausente o mal formado)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: No autorizado
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: El documento no existe, no pertenece a la cuenta o ha expirado
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '405':
          description: Método HTTP no permitido (solo se admite GET)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Error interno del servidor
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /document-context/{document_id}:
    servers:
    - url: https://claix.dev
      description: Producción (dominio público Claix)
    post:
      operationId: documentContextAsk
      tags:
      - Ventana de Contexto
      summary: Responde preguntas sobre un documento persistido
      description: Equivale a POST https://claix.dev/document-context/{document_id}. Recibe un document_id en la URL (el que devolvió una extracción con window_context activo) y un array `questions` en JSON. Carga markdown_content de la tabla documents, llama a Gemini 3.6 con el mismo modelo y generationConfig que el resto de funciones, y devuelve `{ user_ask, ia_response }`. Máximo 5 preguntas y 400 caracteres por pregunta. El documento debe pertenecer a la cuenta de la API key y no haber expirado.
      externalDocs:
        description: Documentación humana
        url: https://claix.dev/documentation/window-context
      parameters:
      - name: document_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
        description: UUID del documento persistido en documents.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WindowContextRequest'
      responses:
        '200':
          description: Preguntas respondidas
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WindowContextSuccessResponse'
        '400':
          description: Petición inválida (JSON, questions o document_id)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: No autorizado
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: El documento no existe, no pertenece a la cuenta o ha expirado
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '405':
          description: Método HTTP no permitido (solo se admite POST)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Error interno del servidor
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '502':
          description: Fallo del servicio de IA
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /delete-document/{document_id}:
    servers:
    - url: https://claix.dev
      description: Producción (dominio público Claix)
    delete:
      operationId: deleteDocument
      tags:
      - Ventana de Contexto
      summary: Elimina un documento persistido
      description: Equivale a DELETE https://claix.dev/delete-document/{document_id}. Borra de la tabla documents el documento indicado por document_id, filtrando simultáneamente por id y user_id de la API key. No admite body ni query params. Si no se elimina ninguna fila (no existe, es ajeno o ya fue purgado), responde 404 con mensaje genérico. Llamada gratuita.
      externalDocs:
        description: Documentación humana
        url: https://claix.dev/documentation/window-context/delete-document
      parameters:
      - name: document_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
        description: UUID del documento persistido en documents.
      responses:
        '200':
          description: Documento eliminado correctamente
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteDocumentSuccessResponse'
        '400':
          description: document_id ausente en la URL o con formato UUID inválido
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: No autorizado
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: El documento no existe, no pertenece a la cuenta o ha expirado
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '405':
          description: Método HTTP no permitido (solo se admite DELETE)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Error interno del servidor
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    DeleteDocumentSuccessResponse:
      type: object
      required:
      - document_id
      properties:
        document_id:
          type: string
          format: uuid
          description: 'Identificador del documento eliminado, igual al de la URL. No incluye campo success: si el borrado no fue posible, la petición termina en 404 antes de devolver 200.

            '
          example: d4a1e9d2-8b1c-4f3e-9a02-8b1e9f3c7a4b
    GetDocumentSuccessResponse:
      type: object
      required:
      - success
      - document_id
      - file_name
      - schema_id
      - processed_at
      - content
      properties:
        success:
          type: boolean
          description: Siempre true cuando el código HTTP es 200.
          example: true
        document_id:
          type: string
          format: uuid
          description: Identificador del documento consultado, igual al de la URL.
          example: d4a1e9d2-8b1c-4f3e-9a02-8b1e9f3c7a4b
        file_name:
          type: string
          description: Nombre del archivo original tal como se subió al procesarlo.
          example: dni_cliente_ana.jpg
        schema_id:
          type: string
          format: uuid
          description: Schema usado para procesar este documento.
          example: b980cfe7-61ef-4a5a-9724-881c8a5541e2
        processed_at:
          type: string
          format: date-time
          description: Fecha y hora en que se procesó el documento (ISO 8601).
          example: '2026-08-17T13:10:00.000Z'
        content:
          type: string
          description: 'Contenido bruto del documento (texto o markdown persistido tras la extracción).

            '
    ErrorResponse:
      type: object
      properties:
        error:
          type: string
          description: Descripción legible del problema.
          example: No se envió el campo schema_id.
        detalle:
          type: string
          description: Información técnica adicional (solo presente en algunos casos).
          example: Missing required field 'schema_id' in multipart/form-data body.
    WindowContextSuccessResponse:
      type: object
      required:
      - user_ask
      - ia_response
      properties:
        user_ask:
          type: array
          items:
            type: string
          description: Preguntas enviadas, en el mismo orden.
          example:
          - ¿Cuál es la penalización exacta por cancelación anticipada?
          - ¿Qué empresa figura como arrendataria y cuál es su CIF?
        ia_response:
          type: array
          items:
            type:
            - string
            - 'null'
          description: 'Respuestas alineadas 1:1 con user_ask. null si el dato no está en el documento.

            '
          example:
          - El 15 % del importe restante del contrato.
          - Inversiones Delta S.L., CIF B12345678
    WindowContextRequest:
      type: object
      required:
      - questions
      properties:
        questions:
          type: array
          minItems: 1
          maxItems: 5
          items:
            type: string
            minLength: 1
            maxLength: 400
          description: 'Preguntas a responder usando solo el markdown persistido. Máximo 5 por turno, 400 caracteres cada una.

            '
          example:
          - ¿Cuál es la penalización exacta por cancelación anticipada?
          - ¿Qué empresa figura como arrendataria y cuál es su CIF?
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: 'API key secreta de servidor. Tiene prioridad sobre Authorization si se envían ambos headers.

        '
    BearerAuth:
      type: http
      scheme: bearer
      description: Forma alternativa de enviar la API key como Bearer token.