Horários e formatos
JSON e texto
- Os corpos das requisições e das respostas são JSON em UTF-8, com
Content-Type: application/json. Os uploads de arquivos usammultipart/form-data. - Os nomes de campos e os valores de enumerações seguem
snake_case:next_retry_at,index_failed. - As mensagens de erro e os textos da API são em inglês. Os textos que você escreve, como os títulos dos cartões, são retornados como você os escreveu, em qualquer idioma.
Horários
Todo horário é um timestamp RFC 3339 em UTC:
{"created_at": "2026-10-24T10:00:00Z"}
- Os campos mais novos usam a forma curta com
Z, como acima. - Alguns campos que já existiam antes usam a forma
2026-10-24T10:00:00.123456+00:00, com até seis casas de frações de segundo. É o mesmo instante em UTC. Leia as duas formas com um parser padrão de RFC 3339; não compare timestamps como strings. - Todo campo cujo nome termina em
_até um timestamp.
Os horários que você envia precisam incluir um deslocamento de fuso horário, seja Z, seja um deslocamento numérico
como +02:00. Um horário sem deslocamento é ambíguo e retorna 422 com o código
validation.failed. O Sursa converte para UTC todo horário que recebe.
const since = new Date(Date.now() - 24 * 3600 * 1000).toISOString(); // "2026-10-23T10:00:00.000Z"Em uma query string, o + precisa ser escrito como %2B, senão é lido como espaço. Codifique os horários para URL ou
use Z.
Datas, durações e contagens
| Tipo | Forma | Exemplo |
|---|---|---|
| Data sem horário | YYYY-MM-DD, em um campo que termina em _date | "due_date": "2026-11-01" |
| Duração | Um inteiro, com a unidade no nome do campo | "interval_days": 90, "timeout_seconds": 30 |
| Contagem | Um inteiro, em um campo que termina em _count | "part_count": 12 |
| Verdadeiro ou falso | Um booleano, nomeado por um adjetivo sem is_ | "active": true, "sensitive": false |
Valores monetários
Os valores nas respostas financeiras são strings decimais, como "1250.00", nunca números de ponto flutuante,
para que nenhuma precisão se perca. A moeda é um campo separado, com um código ISO 4217, como "EUR". Leia os valores
com um tipo decimal da sua linguagem.
IDs
Os IDs são strings ou inteiros, conforme o objeto. Veja IDs de objetos.
Enumerações
Os campos com um conjunto fixo de valores, como um status, são strings. Toda enumeração de uma resposta pode ganhar valores novos em uma versão posterior: trate um valor que você não conhece como “outro”. Veja Versões e compatibilidade.
Campos nulos e ausentes
nullsignifica “sem valor”: um cartão sem responsável tem"owner_id": null.- Um campo pode estar ausente de uma resposta quando não se aplica a este objeto ou a esta requisição. A referência da API indica quais campos estão sempre presentes.
- Em um
PATCH, um campo que você omite mantém o valor. Envienullpara limpar um campo quando a referência diz quenullé permitido.