APIContratos

Criar contrato

POST
/contracts
X-API-Key<token>

Chave de API (prefixo nbr_) ou Token de Acesso Pessoal (prefixo pat_)

In: header

Header Parameters

Idempotency-Key?string

Chave de idempotência para evitar processamento duplicado. Use um UUID v4 único por requisição.

Formatuuid

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Dados para criação de um contrato

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/contracts" \  -H "Content-Type: application/json" \  -d '{    "proposal_id": "pps_abc123",    "title": "Contrato de Compra e Venda - Apartamento 101",    "contract_type": "promessa"  }'
{  "id": "ctr_abc123",  "proposal_id": "string",  "contract_number": "CONT-2026-000022",  "status": "draft",  "contract_type": "promessa",  "title": "string",  "content_type": "tiptap",  "sinal_amount": 0,  "sinal_type": "confirmatoria",  "sinal_paid_at": "2019-08-24T14:15:22Z",  "sinal_payment_method": "pix",  "template_id": "string",  "lawyer_review_required": true,  "lawyer_email": "string",  "current_version": 0,  "tenant_id": "string",  "organization_id": "string",  "visibility": "restricted",  "created_at": "2019-08-24T14:15:22Z",  "updated_at": "2019-08-24T14:15:22Z",  "created_by": "string",  "updated_by": "string"}
{  "type": "validation",  "title": "Validation Failed",  "status": 400,  "detail": "name is required",  "code": "validation.required",  "instance": "/public/v1/brokers",  "request_id": "req_abc123",  "timestamp": "2026-02-15T12:00:00Z",  "documentation_url": "https://docs.nobur.com.br/errors/validation",  "errors": [    {      "field": "name",      "message": "name is required",      "code": "validation.broker.name_required"    }  ]}
{  "type": "unauthorized",  "title": "Authentication Required",  "status": 401,  "detail": "authentication required",  "code": "unauthorized.auth_required",  "request_id": "req_abc123",  "timestamp": "2026-02-15T12:00:00Z",  "documentation_url": "https://docs.nobur.com.br/errors/unauthorized"}
{  "type": "forbidden",  "title": "Access Denied",  "status": 403,  "detail": "insufficient permissions",  "code": "forbidden.insufficient_permissions",  "request_id": "req_abc123",  "timestamp": "2026-02-15T12:00:00Z",  "documentation_url": "https://docs.nobur.com.br/errors/forbidden"}
{  "type": "conflict",  "title": "Resource Conflict",  "status": 409,  "detail": "broker with this CRECI already exists",  "code": "conflict.duplicate",  "request_id": "req_abc123",  "timestamp": "2026-02-15T12:00:00Z",  "documentation_url": "https://docs.nobur.com.br/errors/conflict"}
{  "type": "rate_limit",  "title": "Rate Limit Exceeded",  "status": 429,  "detail": "rate limit exceeded",  "code": "rate_limit.exceeded",  "retry_after": 60,  "request_id": "req_abc123",  "timestamp": "2026-02-15T12:00:00Z",  "documentation_url": "https://docs.nobur.com.br/errors/rate-limit"}
{  "type": "internal",  "title": "Internal Server Error",  "status": 500,  "detail": "an unexpected error occurred",  "code": "internal.unexpected",  "request_id": "req_abc123",  "timestamp": "2026-02-15T12:00:00Z",  "documentation_url": "https://docs.nobur.com.br/errors/internal"}