Referência da API

Saúde e contrato

Verificar a credencial, ler o contrato do tenant e o consumo da API. Usado pelo backoffice e pelo monitoramento.

Confirma que a API está no ar e que a credencial é válida. Mostra se a execução REAL de cada corretora já está homologada (ENABLED) ou não (NOT_VALIDATED).

Erros comuns

  • 401B2B_CREDENTIAL_INVALIDcredencial ausente, errada ou revogada
Requisição
curl -X GET "$FIN_API/v1/health" \
  -u "$FIN_CLIENT_ID:$FIN_CLIENT_SECRET"
Resposta200
{
  "api": "UP",
  "providers": [
    {
      "providerId": "BINANCE",
      "status": "AVAILABLE",
      "realExecution": "ENABLED"
    },
    {
      "providerId": "HYPERLIQUID",
      "status": "AVAILABLE",
      "realExecution": "ENABLED"
    }
  ],
  "requestId": "req_muyn0vq4_1odbkqy3"
}

Seus tenants: o que foi concedido (grants), suas restrições, origens de retorno registradas e o contrato vigente (mensalidade, % de performance, período, carry). Use para montar as opções das telas — por exemplo, quais corretoras oferecer.

Requisição
curl -X GET "$FIN_API/v1/tenants" \
  -u "$FIN_CLIENT_ID:$FIN_CLIENT_SECRET"
Resposta200
{
  "tenants": [
    {
      "tenantId": "TENANT_A",
      "name": "Tenant A",
      "status": "ACTIVE",
      "grants": {
        "providers": [
          "BINANCE",
          "HYPERLIQUID"
        ],
        "strategies": [
          "FUTURES_MAIN_V1"
        ],
        "capabilities": []
      },
      "partnerRestrictions": null,
      "returnUrlOrigins": [
        "https://app.parceiro.example"
      ],
      "contract": {
        "version": 1,
        "suspended": false,
        "subscriptionMonthlyUsd": 30,
        "currency": "USDT",
        "performanceFeePercent": 0.2,
        "performancePeriod": "MONTHLY",
        "carryPolicy": "CARRY"
      },
      "clients": 7
    }
  ],
  "requestId": "req_muyn0vrf_wnfdfsns"
}
GET/v1/tenants/:tenantId

Consultar um tenant

Backoffice do parceiro

O mesmo conteúdo de um item de /v1/tenants, dentro de { tenant }.

Parâmetros de caminho

  • tenantIdstringobrigatório

    tenant recebido do FINAUTON

Erros comuns

  • 404NOT_FOUNDtenant inexistente ou de outro parceiro
Requisição
curl -X GET "$FIN_API/v1/tenants/TENANT_A" \
  -u "$FIN_CLIENT_ID:$FIN_CLIENT_SECRET"
Resposta200
{
  "tenant": {
    "tenantId": "TENANT_A",
    "name": "Tenant A",
    "status": "ACTIVE",
    "grants": {
      "providers": [
        "BINANCE",
        "HYPERLIQUID"
      ],
      "strategies": [
        "FUTURES_MAIN_V1"
      ],
      "capabilities": []
    },
    "partnerRestrictions": null,
    "returnUrlOrigins": [
      "https://app.parceiro.example"
    ],
    "contract": {
      "version": 1,
      "suspended": false,
      "subscriptionMonthlyUsd": 30,
      "currency": "USDT",
      "performanceFeePercent": 0.2,
      "performancePeriod": "MONTHLY",
      "carryPolicy": "CARRY"
    },
    "clients": 7
  },
  "requestId": "req_muyn6fxq_8xlbemkj"
}
PUT/v1/tenants/:tenantId/restrictions

Restringir o tenant

Backoffice do parceiro

Restringe o seu tenant DENTRO do que foi concedido (nunca amplia). null remove a restrição.

Reduzir o envelope abaixo do setup de um cliente bloqueia novas entradas dele (OUTSIDE_ENVELOPE) até ele reduzir o setup. Nada é alterado automaticamente.

Parâmetros de caminho

  • tenantIdstringobrigatório

    tenant

Corpo (JSON)

  • providersstring[] | nullopcional

    subconjunto das corretoras concedidas

  • strategiesstring[] | nullopcional

    subconjunto das estratégias concedidas

  • envelopeobjeto | nullopcional

    maxLeverage, maxMarginPerTradeUsd, maxConcurrentTrades, maxDailyLossUsd (≤ recebido)

  • reasonstring (3–500)obrigatório

    motivo

Erros comuns

  • 403GRANT_ESCALATIONpedido fora do concedido
  • 403RISK_ENVELOPE_EXCEEDEDenvelope acima do recebido
Requisição
curl -X PUT "$FIN_API/v1/tenants/TENANT_A/restrictions" \
  -u "$FIN_CLIENT_ID:$FIN_CLIENT_SECRET" \
  -H "content-type: application/json" \
  -d '{
    "providers": [
      "BINANCE"
    ],
    "envelope": {
      "maxLeverage": 3
    },
    "reason": "Lançamento só com Binance"
  }'
GET/v1/usage

Consumo da API

Backoffice do parceiro

Consumo da sua credencial na última hora e os limites por minuto (requestsPerMinute, ordersPerMinute).

Requisição
curl -X GET "$FIN_API/v1/usage" \
  -u "$FIN_CLIENT_ID:$FIN_CLIENT_SECRET"
Resposta200
{
  "window": {
    "from": "2026-10-07T20:46:42.732Z",
    "minutes": 60
  },
  "totals": {
    "requests": 730,
    "orders": 0
  },
  "limits": {
    "requestsPerMinute": 120,
    "ordersPerMinute": 30
  },
  "buckets": [
    {
      "window": "2026-10-07T20:47:00.000Z",
      "kind": "REQUEST",
      "count": 71
    }
  ],
  "requestId": "req_muyn0vwh_fuyxxv6m"
}