Referência da API
Clientes
/v1/usersCriar cliente
Cria o cliente (ou devolve o existente com created:false). Chame no cadastro do usuário no seu app. O e-mail não vai para a FINAUTON.
Corpo (JSON)
- externalUserIdstring (1–120)obrigatório
id do cliente no SEU sistema
- tenantIdstringcondicional
obrigatório se você tem tenants
Erros comuns
- 400TENANT_REQUIREDfaltou tenantId
- 409TENANT_MISMATCHo id já existe em outro tenant
- 400IDEMPOTENCY_KEY_REQUIREDfaltou o cabeçalho
curl -X POST "$FIN_API/v1/users" \
-u "$FIN_CLIENT_ID:$FIN_CLIENT_SECRET" \
-H "Idempotency-Key: create-user-cli-1001-$(uuidgen)" \
-H "content-type: application/json" \
-d '{
"externalUserId": "cli-1001",
"tenantId": "TENANT_A"
}'{
"externalUserId": "cli-1001",
"tenantId": "TENANT_A",
"status": "ACTIVE",
"created": true,
"requestId": "req_muyn3wh8_9qgkdh2s"
}Lista seus clientes, do mais novo para o mais antigo.
Query string
- tenantIdstringopcional
filtra por tenant
- statusACTIVE | SUSPENDEDopcional
filtra por status
- limit1–500opcional
padrão 100
curl -X GET "$FIN_API/v1/users?status=ACTIVE&limit=50" \
-u "$FIN_CLIENT_ID:$FIN_CLIENT_SECRET"{
"users": [
{
"externalUserId": "cli-1001",
"tenantId": "TENANT_A",
"status": "ACTIVE",
"createdAt": "2026-10-07T21:38:31.726Z",
"updatedAt": "2026-10-07T21:38:31.726Z"
}
],
"requestId": "req_muyn0vxt_0pdrd3he"
}Vínculo do cliente e as automações registradas.
Parâmetros de caminho
- externalUserIdstring (1–120)obrigatório
id do cliente no SEU sistema
Erros comuns
- 404NOT_FOUNDnão existe ou não é seu
curl -X GET "$FIN_API/v1/users/cli-1001" \
-u "$FIN_CLIENT_ID:$FIN_CLIENT_SECRET"{
"externalUserId": "cli-1001",
"tenantId": "TENANT_A",
"status": "ACTIVE",
"automations": [
{
"providerId": "BINANCE",
"strategyId": "FUTURES_MAIN_V1",
"strategyVersion": "1.0.0",
"enabled": false,
"risk": {
"leverage": 3,
"maxMarginPerTradeUsd": 10,
"maxConcurrentTrades": 1,
"maxDailyLossUsd": 10
},
"conditions": {},
"runtime": "DISABLED"
}
],
"requestId": "req_muyn0vyp_et3iv74l"
}/v1/users/:externalUserId/statusStatus consolidado
A chamada principal da tela inicial do cliente: por corretora, conexão, setup e situação comercial; automações; posições abertas. Use para o checklist "primeiros passos": estratégia → corretora CONNECTED → setup enabled → automação ligada.
Parâmetros de caminho
- externalUserIdstring (1–120)obrigatório
id do cliente no SEU sistema
curl -X GET "$FIN_API/v1/users/cli-1001/status" \
-u "$FIN_CLIENT_ID:$FIN_CLIENT_SECRET"{
"externalUserId": "cli-1001",
"tenantId": "TENANT_A",
"requestId": "req_muyn0vzl_c4pkli1i",
"status": "ACTIVE",
"access": {
"active": true
},
"strategies": [
"FUTURES_MAIN_V1"
],
"providers": [
{
"providerId": "BINANCE",
"connection": "NOT_CONNECTED",
"setup": {
"mode": "PAPER",
"enabled": false
},
"commercial": {
"allowed": true,
"state": "ACTIVE",
"reasonCode": "B2B_CONTRACT_ACTIVE",
"graceUntil": null,
"source": "B2B_CONTRACT"
}
}
],
"automations": [
{
"providerId": "BINANCE",
"strategyId": "FUTURES_MAIN_V1",
"enabled": false
}
],
"openPositions": 0
}Por corretora: se pode abrir novas entradas pelo lado comercial (allowed), o estado (ACTIVE, GRACE, SUSPENDED, REVOKED, BLACKLISTED, NO_ENTITLEMENT, ACCOUNT_INACTIVE), o motivo e o fim da carência.
Parâmetros de caminho
- externalUserIdstring (1–120)obrigatório
id do cliente no SEU sistema
curl -X GET "$FIN_API/v1/users/cli-1001/commercial" \
-u "$FIN_CLIENT_ID:$FIN_CLIENT_SECRET"{
"externalUserId": "cli-1001",
"tenantId": "TENANT_A",
"requestId": "req_muyn0w1o_qm9wu8pm",
"clientStatus": "ACTIVE",
"providers": [
{
"providerId": "BINANCE",
"allowed": true,
"state": "ACTIVE",
"reasonCode": "B2B_CONTRACT_ACTIVE",
"graceUntil": null,
"source": "B2B_CONTRACT"
}
]
}/v1/users/:externalUserId/suspendSuspender cliente
Bloqueia novas entradas e escritas do cliente. Leitura e manutenção das posições abertas (stop, alvo, fechamento) continuam.
Parâmetros de caminho
- externalUserIdstring (1–120)obrigatório
id do cliente no SEU sistema
Corpo (JSON)
- reasonstring (3–500)obrigatório
motivo
curl -X POST "$FIN_API/v1/users/cli-1001/suspend" \
-u "$FIN_CLIENT_ID:$FIN_CLIENT_SECRET" \
-H "content-type: application/json" \
-d '{
"reason": "Pedido do cliente"
}'{
"externalUserId": "cli-1001",
"tenantId": "TENANT_A",
"status": "SUSPENDED",
"createdAt": "2026-10-07T21:49:03.493Z",
"updatedAt": "2026-10-07T21:49:04.600Z",
"requestId": "req_muyn3xdg_8sc7kyur"
}/v1/users/:externalUserId/reactivateReativar cliente
Reativa o cliente. Não significa "pode operar": todas as outras regras (setup, conexão, cobrança) continuam valendo.
Parâmetros de caminho
- externalUserIdstring (1–120)obrigatório
id do cliente no SEU sistema
Corpo (JSON)
- reasonstring (3–500)obrigatório
motivo
curl -X POST "$FIN_API/v1/users/cli-1001/reactivate" \
-u "$FIN_CLIENT_ID:$FIN_CLIENT_SECRET" \
-H "content-type: application/json" \
-d '{
"reason": "Regularizado"
}'{
"externalUserId": "cli-1001",
"tenantId": "TENANT_A",
"status": "ACTIVE",
"createdAt": "2026-10-07T21:49:03.493Z",
"updatedAt": "2026-10-07T21:49:04.674Z",
"requestId": "req_muyn3xfm_5kzkqsl0"
}