Docs
Anexos

Download de anexo

Baixa o conteúdo binário de um anexo individual enviado por um assinante.

Retorna o arquivo bruto do anexo (não vem embrulhado em data/meta). Use para revisar manualmente antes de aprovar / rejeitar, ou para arquivar a evidência depois da operação concluir.

A resposta é binária. Content-Type reflete o MIME original do upload (ex: image/jpeg, application/pdf) e Content-Disposition traz attachment-{id}.{ext} como sugestão de nome — o cliente HTTP deve gravar em disco ou pipe para o destino final.

Endpoint

GET
/api/v2/attachment/{attachmentId}/download
X-Api-Key<token>

Token de integracao. Envie no header X-Api-Key.

In: header

Path Parameters

attachmentId*integer
Formatint64

Header Parameters

Response Body

curl -X GET "https://example.com/api/v2/attachment/0/download"
Empty

O que esperar

Stream binário

200 OK + bytes do arquivo. Não há envelope JSON — leia o body como binário.

Acesso por conta

A API key precisa ter permissão de visualização na operação dona do anexo. Caso contrário, 401/403.

Disponível durante e após

Funciona antes, durante e depois da operação finalizar — desde que o anexo já tenha sido enviado (Review ou Completed).

Para arquivamento em lote

Para baixar todos os anexos + documentos juntos, use o ZIP de download — mais eficiente que iterar slot a slot.

Path parameters

CampoTipoDescrição
attachmentIdlongID do anexo, obtido em Listar anexos por membro.

Exemplo

curl "https://api.forsign.digital/api/v2/attachment/12345/download" \
  -H "X-Api-Key: $FORSIGN_API_KEY" \
  -o anexo-12345.jpg
import { writeFile } from 'node:fs/promises';

const res = await fetch(
  'https://api.forsign.digital/api/v2/attachment/12345/download',
  { headers: { 'X-Api-Key': process.env.FORSIGN_API_KEY! } },
);

if (!res.ok) throw new Error(`HTTP ${res.status}`);

const contentType = res.headers.get('content-type') ?? 'application/octet-stream';
const disposition = res.headers.get('content-disposition') ?? '';
const buf = Buffer.from(await res.arrayBuffer());

await writeFile('anexo-12345.bin', buf);
console.log({ contentType, disposition, bytes: buf.length });
import os, requests

r = requests.get(
    "https://api.forsign.digital/api/v2/attachment/12345/download",
    headers={"X-Api-Key": os.environ["FORSIGN_API_KEY"]},
    stream=True,
)
r.raise_for_status()

with open("anexo-12345.bin", "wb") as f:
    for chunk in r.iter_content(chunk_size=8192):
        f.write(chunk)

print(r.headers.get("Content-Type"), r.headers.get("Content-Disposition"))

Resposta

HeaderExemplo
Content-Typeimage/jpeg, application/pdf, etc. (MIME original do upload)
Content-Dispositionattachment; filename=attachment-12345.jpg
Bodybytes do arquivo

Erros comuns

StatusCasoDetalhe
400Anexo ainda em Progress (assinante não fez upload)Arquivo ainda não foi enviado.
404attachmentId não existeAnexo não encontrado.
401API key sem permissão de visualização na operação

Anexos rejeitados têm o arquivo apagado no storage — tentar baixar um anexo que foi rejeitado e ainda não reenviado vai dar 400 (arquivo ainda não enviado), porque o status volta para Progress.

Veja também

On this page