Pular para o conteúdo principal
POST
curl

Autorizações

x-api-key
string
header
obrigatório

Chave de API da sua aplicação, em Developers -> API keys no Business Console. A chave principal tem acesso total. Uma chave nomeada pode ter escopo restrito: nenhum acesso, leitura ou escrita por recurso, limitada a alguns fluxos ou a sessões aprovadas, a uma lista de endereços IP e a uma data de validade. 401 significa que a chave está errada, revogada ou expirada; 403 significa que nenhuma chave foi enviada, que a chave não tem acesso a este recurso ou ação, ou que a requisição veio de um endereço fora da sua lista de IPs; 404 em uma rota de sessão significa que a sessão está fora dos fluxos ou status da chave. Uma chave sem acesso a mídia recebe URLs de imagem, vídeo e PDF como null, e uma chave sem permissão de escrita em sessões recebe links e tokens de sessão como null. Consulte https://docs.didit.me/console/api-keys.

Corpo

application/json
transaction_id
string
obrigatório

Seu identificador exclusivo desta transação (no máximo 128 caracteres).

Exemplo:

"your-txn-2026-05-17-001"

transaction_category
enum<string>
obrigatório

Categoria da transação. Aliases em CamelCase (travelRule, userPlatformEvent, gamblingBet, …) também são aceitos; o valor armazenado e retornado fica em camelCase para categorias com mais de uma palavra.

Opções disponíveis:
finance,
kyc,
travel_rule,
user_event,
audit_trail_event,
gambling_bet,
gambling_limit_change,
gambling_bonus_change,
travelRule
Exemplo:

"finance"

transaction_details
object
obrigatório

Detalhes financeiros principais da transação.

subject
object
obrigatório

O titular (solicitante) da transação.

transaction_at
string<date-time>

Quando a transação ocorreu. Se omitido, o padrão é o momento atual.

time_zone
string

Identificador de fuso horário IANA, por exemplo Europe/Madrid.

counterparty
object

A contraparte da transação (opcional).

custom_properties
object

Pares chave-valor arbitrários anexados à transação. Cada chave pode ser referenciada nas condições de regra com o caminho de campo custom_values.<key>.

Exemplo:
travel_rule_details
object

Dados da Travel Rule. Quando a Travel Rule está ativada e transaction_category é travel_rule, a própria Didit conduz a troca: ela ignora status, protocol, required e obligations_count e usa originator_data, beneficiary_data e metadata. Caso contrário, a Didit armazena esses valores como um registro passivo da Travel Rule. Enquanto a Travel Rule estiver ativada, uma transferência de saída igual ou superior ao seu limiar deve conter o que o respectivo regime exige (EU TFR ou Recomendação 16 do FATF), verificado nos lados que você envia: um campo ausente retorna 400 em travel_rule_details.originator_data ou travel_rule_details.beneficiary_data, por exemplo "EU TFR requires the originator name."

network_snapshot
object

Snapshot pré-calculado do grafo da rede.

include_crypto_screening
boolean | null

Substituição por transação para a análise de blockchain de criptoativos. Quando true, a análise de criptoativos é realizada independentemente do padrão da aplicação. Quando false, a análise de criptoativos é ignorada mesmo que esteja ativada nas configurações da aplicação. Quando omitido ou null, é usado o padrão da aplicação configurado no Console. A análise de criptoativos exige transaction_details.direction, currency_kind: "crypto", uma rede/moeda e o endereço de carteira selecionado pela direção: a análise de entrada antes da transferência usa counterparty.payment_method.account_id, a análise de entrada por hash de transação usa subject.payment_method.account_id e a análise de saída usa counterparty.payment_method.account_id. Quando transaction_details.payment_reference_id contém um hash de transação de blockchain, a Didit realiza a análise da transação e retorna o enriquecimento com o resumo da transação, quando disponível.

Resposta

Transação enviada e monitorada. O corpo é o detalhe completo da transação (mesmo formato de GET /v3/transactions/{transaction_id}/), refletindo os resultados de regras já aplicados.

Registro de monitoramento completo de uma transação, conforme retornado por GET /v3/transactions/{transaction_id}/ e POST /v3/transactions/.

uuid
string<uuid>

Identificador estável da transação na Didit. Use como {transaction_id} nas chamadas subsequentes.

environment
enum<string>

Ambiente da aplicação proprietária da transação. Uma transação sandbox é armazenada, mas nunca é avaliada, analisada, notificada ou cobrada, portanto o seu rule_runs vazio significa "não avaliada".

Opções disponíveis:
live,
sandbox
transaction_number
integer

Número sequencial da transação no escopo da aplicação exibido no Console (por exemplo, 4123).

txn_id
string

O transaction_id que você informou na criação (máximo de 128 caracteres). Único por aplicação.

txn_date
string<date-time>

Quando a transação ocorreu (a partir de transaction_at; o padrão é o momento do envio).

zone_id
string | null

Identificador de fuso horário IANA informado na criação.

transaction_type
string

Categoria de nível superior, como armazenada: finance, kyc, travelRule, userPlatformEvent, gamblingBet, gamblingLimitChange, gamblingBonusChange, auditTrailEvent. Observe que valores com várias palavras são retornados em camelCase mesmo quando enviados em snake_case.

action_type
string

Subtipo dentro da categoria (por exemplo deposit, withdrawal, transfer). O padrão é a categoria quando não for informado.

direction
enum<string>

Direção em relação ao titular. Armazenada em maiúsculas, independentemente da caixa usada no envio (in/out/inbound/outbound são aceitos na entrada).

Opções disponíveis:
INBOUND,
OUTBOUND
status
enum<string>

Veredito de monitoramento atual. As transações são criadas como APPROVED; as regras podem alterá-las para IN_REVIEW/DECLINED de forma síncrona.

Opções disponíveis:
APPROVED,
IN_REVIEW,
DECLINED,
AWAITING_USER
source
enum<string>

Como o registro se originou: LIVE para transações enviadas pela API ou pelo SDK, IMPORTED para transações carregadas pela importação do console.

Opções disponíveis:
LIVE,
IMPORTED
amount
string

Valor da transação como string decimal, sem zeros à direita (por exemplo, "1500", "0.5", "0.123456789012345678"). Até 18 casas decimais.

currency
string

Código da moeda de amount. Qualquer código alfabético ISO 4217 é aceito (por exemplo, EUR, USD, NGN), assim como um símbolo de ativo cripto (por exemplo, BTC). Prefira um código atualmente em circulação. Nem todo código aceito tem taxa de câmbio: quando não há nenhuma disponível para o código (por exemplo, a unidade contábil ISO XSU ou um símbolo cripto que a Didit não precifica), a conversão automática falha e preferred_currency_amount é retornado como null, a menos que a requisição tenha fornecido um amount_in_default_currency já convertido.

currency_type
string | null

fiat ou crypto, conforme enviado em currency_kind.

amount_in_default_currency
string | null

Valor já convertido que você informou, como string decimal sem zeros à direita.

default_currency_code
string | null
preferred_currency_amount
string | null

amount convertido para a moeda preferida da aplicação, quando disponível.

preferred_currency_code
string | null
payment_details
string | null

Referência ou memorando de pagamento em texto livre do envio.

payment_txn_id
string | null

Referência do sistema de pagamento externo (por exemplo, hash da transação na blockchain) obtida de payment_reference_id.

score
integer

Pontuação de risco acumulada pelas regras (normalmente de 0 a 100). Quanto maior, mais arriscado.

severity
enum<string> | null

Gravidade categórica do risco definida por regras ou provedores (UNKNOWN, LOW, MEDIUM, HIGH, CRITICAL). null até que algo a defina.

Opções disponíveis:
UNKNOWN,
LOW,
MEDIUM,
HIGH,
CRITICAL
decision_reason_code
string | null

Motivo legível por máquina do status atual.

decision_reason_label
string | null

Rótulo legível de decision_reason_code.

vendor_data
string | null

Cópia de conveniência do vendor_data do solicitante.

metadata
object

Snapshot dos payloads subject e counterparty como foram enviados no momento da criação.

props
object

As custom_properties que você informou na criação. Cada chave pode ser referenciada nas condições de regras como custom_values.<key>.

tags
object[]

Tags anexadas à transação (manualmente ou por regras).

parties
object[]

Partes da transação (solicitante, contraparte).

payment_methods
object[]

Meios de pagamento vinculados à transação.

documents
object[]

Arquivos anexados à transação pelo console. [] quando não há nenhum.

activities
object[]

Entradas do registro de atividades (criação, notas, revisões manuais, alterações de status).

alerts
object[]

Sempre vazio atualmente. Um alerta aberto é uma transação com status IN_REVIEW ou AWAITING_USER.

rule_runs
object[]

Resultados de execução por regra: qual regra foi acionada e com qual impacto na pontuação.

provider_results
object[]

Payloads brutos dos provedores (Análise AML, análise de blockchain etc.).

travel_rule
object | null

Transferência ou verificação da Travel Rule. Preenchido quando travel_rule_details foi enviado e também quando a Travel Rule está ativada e a transação foi criada com transaction_category: travelRule (a própria Didit inicia a troca, mesmo sem travel_rule_details). null quando não existe transferência nem verificação. Em uma transferência de entrada, os originator_data e beneficiary_data da contraparte permanecem mascarados (data_masked: true) até que a propriedade da carteira seja confirmada.

network_snapshot
object | null

Snapshot do grafo de transações/partes relacionadas usado pelo motor de regras. É o network_snapshot enviado com a transação ou o grafo que a Didit constrói a partir de uma triagem AML de carteira bem-sucedida (que substitui o enviado). null quando nenhum dos dois existe.

remediation
object | null

Sessão de correção oferecida ao usuário quando a reverificação é necessária. Substituída por action_required, que é o bloco canônico; mantida por compatibilidade com versões anteriores.

action_required
Verification session · object

Ação pendente do usuário final necessária para concluir esta transação, ou null quando não houver nenhuma. Os SDKs da Didit iniciam a ação automaticamente por padrão e atualizam a transação quando ela termina. Há duas variantes, diferenciadas por type: verification_session (uma sessão de verificação hospedada criada por uma ação de regra) e wallet_ownership (uma sessão do widget de propriedade da carteira gerada automaticamente para uma transferência da Travel Rule que exige prova de controle da carteira, condicionada à configuração auto_wallet_verification da Travel Rule). Quando ambas puderem se aplicar, wallet_ownership tem precedência, pois bloqueia a troca da Travel Rule.

cost_breakdown
object | null

Custo desta transação: total_price e items, um por cobrança, cada um com usage_type, price, details e created_at. Uma nova triagem da mesma transação gera um novo item.

Última modificação em 1 de novembro de 2026