Skip to content

Solicitudes y respuestas

On this page

Las solicitudes son JSON o multipart/form-data; las respuestas son JSON. Cada respuesta lleva un encabezado X-Curriculo-Request-Id . Cítelo cuando contacte con el soporte para que podamos encontrar la llamada exacta.

Rutas

  • Las operaciones síncronas terminan con una barra diagonal al final: /parse/, /evaluate/, /jobs/, /translate/, /detect-language/, /summary/, /transcribe/, /prompt/.
  • Las rutas de tareas en segundo plano se documentan sin una: /{op}/async y /{op}/tasks/{task_id}.
  • Las rutas de selección se documentan sin una: /screening-interview y /screening-interview/{screening_id}.

Tipos de contenido

OperaciónAcepta
/parse/, /evaluate/, /prompt/, /transcribe/multipart/form-data
/detect-language/, /jobs/, /screening-interviewapplication/json
/translate/application/json para texto, o multipart/form-data para enviar PDF o DOCX documentos
/summary/application/json para transcripciones, o multipart/form-data para enviar grabaciones o documentos de transcripción
/{op}/asyncapplication/json con una lista de enlaces, o multipart/form-data con cargas (un campo de enlace se puede repetir o enviar uno por línea)

Límites de tamaño de solicitud

LímiteValorSe aplica a
Cuerpo de la solicitud12 MBCada llamada, excepto /summary/. Las solicitudes más grandes son rechazadas en el borde con 413 antes de la autenticación.
Un documento10 MBfiles, file, resume_pdfs, resume_pdf, job_file, y los documentos enviados a /translate/
Documentos por solicitud10/parse/, /evaluate/, /translate/ (archivos), /summary/ (entrevistas o media archivos)
Textos por solicitud200/translate/, /detect-language/
Caracteres50,000/translate/ (total por texts, y por documento), /detect-language/ (por texto)
Texto de transcripción200.000 caracteres/summary/ transcript_text
Documento de transcripción50 MB/summary/ Transcripción de PDF o DOCX
Grabación, síncrona100 MB/summary/ media
Grabación, síncrona12 MB/transcribe/ media
Carga a una tarea en segundo plano12 MB por archivo/{op}/async multiparte
Enlaces por tarea en segundo plano25file_urls, resume_urls
Grabación por enlace1 GB y 2 horas/summary/async, /transcribe/async media_url

Al superar cualquier límite, el API devuelve 413. Dividir la carga de trabajo o enviar grabaciones largas mediante enlace al carril asíncrono .

Una llamada síncrona también está limitada por el tiempo de espera de 300 segundos. Una grabación grande que tarda más en procesarse devuelve 504, por lo que se prefiere /summary/async para entrevistas largas.

Formatos de respuesta

Toda operación que recibe una lista sigue una regla: enviar un elemento, obtener el objeto de ese elemento; enviar varios, obtener un resultado por elemento, en el orden de entrada.

Varios elementos devuelven una entrada por cada elemento:

{
  "results": [
    { "index": 0, "status": "ok",    "data": { … } },
    { "index": 1, "status": "error", "error": { "status": 400, "detail": "…" } },
    { "index": 2, "status": "ok",    "data": { … } }
  ]
}

El estado HTTP permanece 200 cuando el lote fue aceptado, por lo que se lee status por elemento. Un CV ilegible nunca le cuesta los otros nueve. Ver Batching.

Uso y gasto

Las respuestas no incluyen datos de costos. Las llamadas, errores, latencia y cargo estimado se encuentran en Consola → Uso, filtrables por clave. Ver Precios y facturación.

Higiene de entrada

  • Claves duplicadas en un cuerpo JSON (/translate/,/summary/,/detect-language/) son rechazadas con 400 indicando la clave.
  • Los PDFs protegidos con contraseña son rechazados con 400. Eliminar la contraseña y reenviar.
  • Los nombres de campo distinguen mayúsculas y minúsculas.

Versionado

No existe encabezado de versión API. La interfaz se versiona por ruta, y los cambios aditivos (nuevos campos opcionales, nuevas operaciones) se implementan sin romper las llamadas existentes. Desarrollar clientes que ignoren los campos de respuesta desconocidos.

Updated