Solicitações e respostas
On this page
Os pedidos são JSON ou multipart/form-data; as respostas são JSON. Cada resposta carrega um cabeçalho X-Curriculo-Request-Id . Forneça-o quando entrar em contato com o suporte para que possamos encontrar a chamada exata.
Caminhos
- Operações síncronas terminam com uma barra no final:
/parse/,/evaluate/,/jobs/,/translate/,/detect-language/,/summary/,/transcribe/,/prompt/. - Caminhos de tarefas em segundo plano são documentados sem uma:
/{op}/asynce/{op}/tasks/{task_id}. - Caminhos de triagem são documentados sem uma:
/screening-interviewe/screening-interview/{screening_id}.
Tipos de conteúdo
| Operação | Aceita |
|---|---|
/parse/, /evaluate/, /prompt/, /transcribe/ | multipart/form-data |
/detect-language/, /jobs/, /screening-interview | application/json |
/translate/ | application/json para texto, ou multipart/form-data para enviar documentos PDF ou DOCX |
/summary/ | application/json para transcrições, ou multipart/form-data para enviar gravações ou documentos de transcrição |
/{op}/async | application/json com uma lista de links, ou multipart/form-data com uploads (um campo de link pode ser repetido ou enviado uma linha por vez) |
Limites de tamanho de solicitação
| Limite | Valor | Aplica‑se a |
|---|---|---|
| Corpo da solicitação | 12 MB | Cada chamada, exceto /summary/. Solicitações maiores são rejeitadas na borda com 413 antes da autenticação. |
| Um documento | 10 MB | files, file, resume_pdfs, resume_pdf, job_file, e documentos enviados para /translate/ |
| Documentos por solicitação | 10 | /parse/, /evaluate/, /translate/ (arquivos), /summary/ (entrevistas ou arquivos media ) |
| Textos por solicitação | 200 | /translate/, /detect-language/ |
| Caracteres | 50,000 | /translate/ (total por textse por documento), /detect-language/ (por texto) |
| Texto da transcrição | 200.000 caracteres | /summary/ transcript_text |
| Documento da transcrição | 50 MB | /summary/ Transcrição de PDF ou DOCX |
| Gravação, síncrona | 100 MB | /summary/ media |
| Gravação, síncrona | 12 MB | /transcribe/ media |
| Upload para uma tarefa em segundo plano | 12 MB por arquivo | /{op}/async multiparte |
| Links por tarefa em segundo plano | 25 | file_urls, resume_urls |
| Gravação por link | 1 GB e 2 horas | /summary/async, /transcribe/async media_url |
Acima de qualquer teto, o API retorna 413. Divida a carga de trabalho ou envie gravações longas por link para a faixa assíncrona .
Uma chamada síncrona também é limitada pelo tempo limite de solicitação de 300 segundos. Uma gravação grande que leva mais tempo para processar retorna
504, então prefira/summary/asyncpara entrevistas longas.
Formas de resposta
Toda operação que aceita uma lista segue uma regra: envie um item, obtenha o objeto desse item; envie vários, obtenha um resultado por item, na ordem de entrada.
Vários itens retornam uma entrada por entrada:
{
"results": [
{ "index": 0, "status": "ok", "data": { … } },
{ "index": 1, "status": "error", "error": { "status": 400, "detail": "…" } },
{ "index": 2, "status": "ok", "data": { … } }
]
}O status HTTP permanece 200 quando o lote em si foi aceito, então leia status por item. Um item ilegível CV nunca custa os outros nove. Veja Lotes em batch.
Uso e gastos
As respostas não contêm dados de custo. Chamadas, erros, latência e cobrança estimada estão em Console → Uso, filtráveis por chave. Consulte Preços e faturamento.
Higiene de entrada
- Chaves duplicadas em um corpo JSON (
/translate/,/summary/,/detect-language/) são rejeitadas com400que nomeia a chave. - Arquivos PDF protegidos por senha são rejeitados com
400. Remova a senha e reenvie. - Os nomes dos campos são sensíveis a maiúsculas e minúsculas.
Controle de versão
Não há cabeçalho de versão API . A superfície é versionada por caminho, e alterações adicionais (novos campos opcionais, novas operações) são enviadas sem quebrar chamadas existentes. Escreva clientes que ignorem campos de resposta desconhecidos.
Updated