Skip to main content
Envia um arquivo para a Chargefy. A purpose define onde o arquivo fica (público ou privado), o limite de entrada e o formato final. Imagens são normalizadas antes de serem armazenadas; PDFs e evidências permanecem no formato enviado. O file retornado descreve o binário final e carrega uma url que aponta para ele. Apenas purpose e file são obrigatórios, enviados como multipart/form-data. filename assume o nome do arquivo enviado, e a URL é gerada automaticamente pela Chargefy. Use o objeto file.url em campos que aceitam URL de mídia, como product.image_url. Esses campos aceitam apenas URLs de file da própria Chargefy; não envie URLs externas. O upload em si não vincula o arquivo a recurso nenhum — a vinculação é responsabilidade do recurso destino.

Autenticação

A API key da sua organização atua diretamente nela. Não envie o header Organization nesse caso.
Com Chargefy for Platforms, envie também Organization: org_... para atuar em uma organização filha ativa da plataforma.

Tipo de conteúdo

multipart/form-data.

Attributes

binary
required
O arquivo em si. Tamanho máximo varia por purpose.
string
Nome amigável a aparecer em metadados. Padrão: o nome do arquivo enviado.
string
Objeto livre string → string para correlacionar com o seu sistema. Envie campos repetidos no formulário somente quando precisar preenchê-lo. Ao omitir todos eles, o arquivo retorna metadata: {}.
string
required
Define como o arquivo é validado e armazenado.user_avatar e platform_avatar são gerenciados pelo Dashboard. API keys não podem criar esses purposes; a resposta é 403 permission_denied.kyc_document é a foto de documento de identidade ou selfie usada no cadastro financeiro de uma organização. Depois do upload, referencie o file_* no bloco verification com POST /v1/organizations/{id} — o fluxo completo está em Ativação por API. Nesse purpose o tipo real do binário prevalece sobre o Content-Type declarado. Uma imagem só é rejeitada quando não pode ser normalizada dentro do limite final; não é necessário comprimi-la antes do upload. PDFs não são recomprimidos.Arquivos públicos retornam url com a URL permanente em storage.chargefy.io. Arquivos privados retornam url com uma URL assinada de curta validade (1 hora) — refaça GET /v1/files/:id para obter uma URL nova.

O que a Chargefy resolve sozinha

  • filename — quando omitido, usa o nome do arquivo enviado no formulário.
  • Preparação de imagens — valida o arquivo e, quando necessário, ajusta a resolução e a compressão antes de gravar em WebP. Um WebP que já atende à política pode ser armazenado sem nova codificação. filename, mime_type, size e url descrevem sempre o binário armazenado.
  • url — gerada automaticamente: permanente em storage.chargefy.io para purposes públicos; assinada com validade de 1 hora para purposes privados.
  • Visibilidade e armazenamento — definidos pelo purpose; você não escolhe bucket nem visibilidade no payload.

(a) Foto de produto

Envia uma foto que você vai usar em product.image_url.
Depois, atualize o produto apontando para a URL retornada:
Se a imagem deixar de ser usada, remova o arquivo com DELETE /v1/files/:id.

(b) Avatar de organização

Envia o avatar exibido em listas, recibos e e-mails transacionais.

Resposta

200 OK com o objeto file completo. Todo campo declarado pelo DTO público é sempre retornado; vazio é null ou {}.

Erros comuns