Pular para o conteúdo principal

Anexos do contrato

Anexos são arquivos complementares do contrato, como a proposta comercial ou o termo de distrato assinado. Eles não passam pela leitura automática. O contrato precisa estar em pending_submission, active ou expired.

Para incluir um anexo:

  1. Crie o anexo.
  2. Obtenha a URL de envio do anexo.
  3. Envie o arquivo direto para essa URL.

Para baixar o arquivo, use attachments[].download_url na consulta do contrato.

Criar anexo​

Disponível em
PerfilHostPermissão exigida
Gestoramanager-apiEscrita
Consultoriaconsultant-apiCriar Contratos de Despesa

URL base de cada host: Ambientes (Hosts).

ENDPOINT
/expense_contract/fund_class/{fund_class_key}/contract/{contract_key}/attachment
MÉTODO
POST

Parâmetros de caminho​

ParâmetroTipoDescrição
fund_class_keystringChave da classe de fundo (UUID).
contract_keystringChave do contrato (UUID).

Esta chamada não leva corpo.

Resposta​

STATUS
201
Corpo da resposta
{
"attachment_key": "d4e5f6a7-b8c9-4d0e-8f1a-2b3c4d5e6f7a",
"status": "active",
"created_at": "2026-11-09T14:20:11.004512"
}
CampoTipoDescrição
attachment_keystringChave do anexo (UUID).
statusstringactive desde a criação; canceled depois do cancelamento.
created_atstringCriação, ISO 8601 sem fuso.

Obter URL de envio do anexo​

ENDPOINT
/expense_contract/fund_class/{fund_class_key}/contract/{contract_key}/attachment/{attachment_key}/upload_url
MÉTODO
GET

Permissão: Gestora (manager-api): Escrita. Consultoria (consultant-api): Criar Contratos de Despesa.

Parâmetros de caminho​

ParâmetroTipoDescrição
fund_class_keystringChave da classe de fundo (UUID).
contract_keystringChave do contrato (UUID).
attachment_keystringChave do anexo (UUID).

Resposta​

STATUS
200
Corpo da resposta
{
"attachment_key": "d4e5f6a7-b8c9-4d0e-8f1a-2b3c4d5e6f7a",
"status": "active",
"created_at": "2026-11-09T14:20:11.004512",
"upload_url": {
"url": "https://<link-temporario-de-envio>",
"fields": {
"key": "3f2b8c1e-7d4a-4e9b-9a61-0c5d2e8f4b17/d4e5f6a7-b8c9-4d0e-8f1a-2b3c4d5e6f7a",
"policy": "<policy>",
"x-amz-algorithm": "AWS4-HMAC-SHA256",
"x-amz-credential": "<credential>",
"x-amz-date": "20261109T142100Z",
"x-amz-signature": "<signature>"
}
}
}

Envie o arquivo como no documento do contrato: POST multipart/form-data para upload_url.url, com todos os campos de upload_url.fields e o arquivo no campo file. A URL expira em 3 minutos e aceita arquivos de até 50 MB.

Um novo envio substitui o arquivo do anexo. Não há chamada de confirmação.

Cancelar anexo​

Marca o anexo como canceled. Cancelar um anexo já cancelado não tem efeito.

ENDPOINT
/expense_contract/fund_class/{fund_class_key}/contract/{contract_key}/attachment/{attachment_key}
MÉTODO
DELETE

Permissão: Gestora (manager-api): Escrita. Consultoria (consultant-api): Atualizar Contratos de Despesa.

Parâmetros de caminho​

ParâmetroTipoDescrição
fund_class_keystringChave da classe de fundo (UUID).
contract_keystringChave do contrato (UUID).
attachment_keystringChave do anexo (UUID).

Resposta​

STATUS
204

Sem corpo na resposta.

Erros​

StatuscodeQuando acontece
404ECT000005A classe de fundo não existe ou você não tem acesso a ela.
404ECT000009O contrato não existe nessa classe de fundo.
404ECT000050O anexo não existe neste contrato.
409ECT000048O contrato não está em pending_submission, active nem expired.
Exemplo
{
"title": "Attachment not allowed",
"description": "Attachments are not handled on a contract in status canceled.",
"translation": "Anexos nao sao tratados num contrato com status canceled.",
"code": "ECT000048"
}

Erros de autenticação, permissão e host: veja Erros da API.