Arquivos

Obter URL Assinada para upload de arquivo

Esse endpoint retorna uma URL Assinada (S3 POST policy) para realizar o upload de um arquivo diretamente para o bucket correspondente do S3.

Validação do arquivo. O Content-Type do objeto é fixado pela API a partir da extensão do name (nunca vem do cliente) e o tamanho é limitado pela policy (mínimo 1 byte). A regra depende da categoria:

  • tenant-public-files (imagens servidas pelo CDN público files.inhire.app): allowlist estrita de imagens (jpg, jpeg, png, gif). Teto de 20 MB.
  • Demais categorias gravadas no bucket público (resumes, profile-alignment-files, requisition-files, bulk-*): qualquer extensão, exceto conteúdo que o navegador executa (svg, html, js, php, qualquer tipo XML...). Content-Type derivado da extensão, application/octet-stream quando desconhecida. Teto de 20 MB, exceto resumes (máximo do S3, 5 GB).
  • Categorias de bucket privado (download só por URL assinada): qualquer extensão, com o Content-Type derivado dela. Teto no máximo do S3 (5 GB), já que as telas não impõem limite.
CategoriaBucketExtensões aceitasTeto
tenant-public-filespúblico (CDN)jpg, jpeg, png, gif20 MB
resumespúblico (CDN)qualquer, exceto conteúdo ativo5 GB
profile-alignment-files, requisition-files, bulk-talent-import, bulk-user-invitespúblico (CDN)qualquer, exceto conteúdo ativo20 MB
offer-letter-templates, job-talent-general-files, job-talent-diversity, email-attachmentsprivadoqualquer5 GB

Como fazer o upload. Envie um POST multipart/form-data para url com todos os fields retornados, exatamente como recebidos (inclusive Content-Type), e o arquivo no campo file por último. O S3 responde 403 (Policy Condition failed) se o Content-Type ou o tamanho não bater com a policy.

post/files/signature

Request

  • Base URL: https://api.inhire.app
  • URL: https://api.inhire.app/files/signature
  • Auth: HTTP bearer

Headers

X-Tenantstring required

Multi-tenant identifier. Required on every request. This determines which tenant's data the request operates on. Maps to the DynamoDB partition key (tenantId).

Request body

fileCategory'bulk-talent-import' | 'bulk-user-invites' | 'email-attachments' | 'job-talent-diversity' | 'job-talent-general-files' | 'offer-letter-templates' | 'profile-alignment-files' | 'resumes' | 'tenant-public-files' | 'requisition-files' required

Categoria do arquivo. Define o bucket de destino e as extensões aceitas (ver a descrição do endpoint). talent-pictures não aceita upload direto.

namestring required

Nome do arquivo com extensão (ex.: curriculo.pdf). Segmentos . e .. do caminho são descartados; a extensão precisa ser aceita pela categoria.

Response

Created

urlstring required

URL que usará para fazer o POST para upload do arquivo

idstring required

Id do arquivo

Changes

No recorded changes to this operation across all 1 revision of this API.