Referência da API
Conexão da corretora
Por corretora: tipo de conexão (API_KEY na Binance, AGENT_WALLET na Hyperliquid), estado (NOT_CONNECTED, CONNECT_PENDING, CONNECTED, ACCESS_LOST, RECOVERING, REVOKED), permissões, se pode abrir novas entradas, situação comercial e, na Hyperliquid, a taxa de builder do contrato. approvedByUser é true/false/null; null significa consulta inconclusiva. approvalStatus distingue APPROVED, REQUIRED, UNKNOWN e NOT_CONNECTED. Conexão do Agent não prova aprovação Builder nem cobrança em fill.
Parâmetros de caminho
- externalUserIdstring (1–120)obrigatório
id do cliente no SEU sistema
curl -X GET "$FIN_API/v1/users/cli-1001/providers" \
-u "$FIN_CLIENT_ID:$FIN_CLIENT_SECRET"{
"externalUserId": "cli-1001",
"tenantId": "PARCEIRO_A",
"requestId": "req_muyn0w6o_ii9qbt4s",
"providers": [
{
"providerId": "BINANCE",
"name": "Binance",
"rollout": "PILOT",
"connectionScheme": "API_KEY",
"connectionFlow": "HOSTED",
"connection": "NOT_CONNECTED",
"permissions": null,
"eligibleForNewEntries": true,
"commercial": {
"allowed": true,
"state": "ACTIVE",
"reasonCode": "B2B_CONTRACT_ACTIVE",
"graceUntil": null,
"source": "B2B_CONTRACT"
},
"builder": null
},
{
"providerId": "HYPERLIQUID",
"name": "Hyperliquid",
"rollout": "PILOT",
"connectionScheme": "AGENT_WALLET",
"connectionFlow": "HOSTED",
"connection": "NOT_CONNECTED",
"permissions": null,
"eligibleForNewEntries": true,
"commercial": {
"allowed": true,
"state": "ACTIVE",
"reasonCode": "B2B_CONTRACT_ACTIVE",
"graceUntil": null,
"source": "B2B_CONTRACT"
},
"builder": {
"required": true,
"feeTenthsBps": 20,
"approvalRequiredFromWallet": true,
"approvedByUser": null,
"approvalStatus": "NOT_CONNECTED",
"approvedMaxFeeTenthsBps": null
}
}
]
}Cria um link de uso único (15 minutos) para a página FINAUTON. Abra o connectUrl para o cliente (redirect, nova aba ou webview).
Parâmetros de caminho
- externalUserIdstring (1–120)obrigatório
id do cliente no SEU sistema
Corpo (JSON)
- providerIdBINANCE | HYPERLIQUIDobrigatório
corretora
- returnUrlstring httpsopcional
botão "Voltar ao app"; precisa ser de uma origem registrada no seu contrato
- purposeCONNECT | BUILDER_APPROVALopcional
BUILDER_APPROVAL = pedir nova aprovação da taxa de builder (Hyperliquid já conectada)
Erros comuns
- 403RETURN_URL_NOT_ALLOWEDorigem do returnUrl não registrada
- 403PROVIDER_NOT_GRANTEDcorretora fora do contrato
- 403CLIENT_SUSPENDEDcliente suspenso
curl -X POST "$FIN_API/v1/users/cli-1001/connect-sessions" \
-u "$FIN_CLIENT_ID:$FIN_CLIENT_SECRET" \
-H "content-type: application/json" \
-d '{
"providerId": "BINANCE",
"returnUrl": "https://app.parceiro.example/conta"
}'{
"sessionId": "6ac6be4f91c7c1927cc1ba87",
"externalUserId": "cli-1001",
"providerId": "BINANCE",
"scheme": "API_KEY",
"purpose": "CONNECT",
"status": "PENDING",
"failureCode": null,
"opened": false,
"expiresAt": "2026-10-07T22:04:03.862Z",
"completedAt": null,
"connectUrl": "https://app.finauton.com/connect#t=<token-uso-unico>",
"requestId": "req_muyn3wt6_tp05bazo"
}status: PENDING, CONNECTED, FAILED, EXPIRED, CANCELLED; opened diz se o cliente abriu o link; failureCode explica a falha. Consulte a cada 3–5 s enquanto PENDING, ou use os eventos provider.connected / provider.connect_failed.
Parâmetros de caminho
- externalUserIdstring (1–120)obrigatório
id do cliente no SEU sistema
- sessionIdstringobrigatório
da criação da sessão
curl -X GET "$FIN_API/v1/users/cli-1001/connect-sessions/6ac6be4f91c7c1927cc1ba87" \
-u "$FIN_CLIENT_ID:$FIN_CLIENT_SECRET"{
"sessionId": "6ac6be4f91c7c1927cc1ba87",
"externalUserId": "cli-1001",
"providerId": "BINANCE",
"scheme": "API_KEY",
"purpose": "CONNECT",
"status": "PENDING",
"failureCode": null,
"opened": false,
"expiresAt": "2026-10-07T22:04:03.862Z",
"completedAt": null,
"requestId": "req_muyn3wuu_sxnq857h"
}Contas por corretora, sem segredo: configured, status, permissões (canRead, canFutures, canWithdraw) e dica da conta.
Parâmetros de caminho
- externalUserIdstring (1–120)obrigatório
id do cliente no SEU sistema
curl -X GET "$FIN_API/v1/users/cli-1001/accounts" \
-u "$FIN_CLIENT_ID:$FIN_CLIENT_SECRET"{
"externalUserId": "cli-1001",
"accounts": [
{
"providerId": "BINANCE",
"scheme": "API_KEY",
"configured": false,
"status": "NOT_CONNECTED",
"permissions": {
"canRead": false,
"canFutures": false,
"canWithdraw": false
},
"accountHint": null,
"updatedAt": null,
"revokedAt": null
}
],
"requestId": "req_muyn0w8y_2m1jc66q"
}Testa a conexão já guardada (somente leitura). Devolve success, latencyMs e permissions. Bom para um botão "Testar conexão".
Parâmetros de caminho
- externalUserIdstring (1–120)obrigatório
id do cliente no SEU sistema
- providerBINANCE | HYPERLIQUIDobrigatório
corretora
Erros comuns
- 400API_NOT_CONFIGUREDcorretora não conectada
- 403PROVIDER_NOT_GRANTEDcorretora fora do contrato
curl -X POST "$FIN_API/v1/users/cli-1001/accounts/BINANCE/test" \
-u "$FIN_CLIENT_ID:$FIN_CLIENT_SECRET"{
"externalUserId": "cli-1001",
"tenantId": "PARCEIRO_A",
"requestId": "req_mv0a1b2c_tst0001",
"providerId": "BINANCE",
"success": true,
"error": null,
"latencyMs": 184,
"permissions": {
"canRead": true,
"canFutures": true,
"canWithdraw": false
}
}Revoga a conexão no FINAUTON: bloqueia novas entradas nessa corretora; histórico preservado. Gera o evento provider.disconnected.
Parâmetros de caminho
- externalUserIdstring (1–120)obrigatório
id do cliente no SEU sistema
- providerBINANCE | HYPERLIQUIDobrigatório
corretora
curl -X DELETE "$FIN_API/v1/users/cli-1001/accounts/BINANCE" \
-u "$FIN_CLIENT_ID:$FIN_CLIENT_SECRET"{
"externalUserId": "cli-1001",
"account": {
"providerId": "BINANCE",
"scheme": "API_KEY",
"configured": false,
"status": "REVOKED",
"capabilities": [
"PERP_TRADING",
"LEVERAGE",
"STOP_LOSS",
"TAKE_PROFIT"
],
"permissions": {
"canRead": true,
"canFutures": true,
"canWithdraw": false
},
"accountHint": "ab12…9f",
"updatedAt": "2026-10-10T20:15:02.000Z",
"revokedAt": "2026-10-10T20:15:02.000Z",
"secretRetainedForReconciliation": false
},
"requestId": "req_mv0a1b2c_del0001"
}Com posição aberta nessa corretora, secretRetainedForReconciliation vem true: o FINAUTON mantém o acesso só para proteger e encerrar o que está aberto.
Saldo/conta lidos na corretora (somente leitura).
Parâmetros de caminho
- externalUserIdstring (1–120)obrigatório
id do cliente no SEU sistema
Query string
- providerIdBINANCE | HYPERLIQUIDobrigatório
corretora
Erros comuns
- 422CREDENTIALS_MISSINGcorretora não conectada
- 403PROVIDER_NOT_ALLOWEDcorretora fora do contrato
- 503PROVIDER_DOWNcorretora indisponível; tente de novo
curl -X GET "$FIN_API/v1/users/cli-1001/account?providerId=BINANCE" \
-u "$FIN_CLIENT_ID:$FIN_CLIENT_SECRET"{
"providerId": "BINANCE",
"balances": [
{
"asset": "USDT",
"free": 182.4,
"total": 230.15,
"usdValue": 230.15
}
],
"positions": [
{
"symbol": "SOLUSDT",
"side": "SHORT",
"quantity": 0.34,
"entryPrice": 109.67,
"markPrice": 108.9,
"unrealizedPnlUsd": 0.26,
"unrealizedPnlPercent": 0.7,
"leverage": 3,
"marginMode": "ISOLATED",
"liquidationPrice": 141.2,
"providerId": "BINANCE"
}
],
"orders": [
{
"orderId": "8389765512",
"clientOrderId": "fin-stop-1001",
"symbol": "SOLUSDT",
"side": "BUY",
"type": "STOP_MARKET",
"status": "NEW",
"quantity": 0.34,
"filledQuantity": 0,
"price": null,
"averagePrice": null,
"triggerPrice": 111.44,
"reduceOnly": true,
"timeInForce": "GTC",
"createdAt": "2026-10-09T14:05:14.000Z",
"providerId": "BINANCE"
}
],
"requestId": "req_mv0a1b2c_acc0001"
}