Skip to content

Standard Response Object

Client, Server SDK, and REST envelopes for Finatic v1 methods.

Finatic uses one wire shape on HTTP. Each SDK unwraps it differently. Use the envelope that matches the SDK in that tab — do not mix result.success.data with Server result.data.

Wire REST

1{ 2trace_id: string, 3success: { data: unknown, meta?: unknown } | null, 4error: { message: string, code?: string, status?: number } | null, 5warning: Array<{ message: string, code?: string }> | null 6 } 7

Client SDK (@finatic/client)

Data methods keep { success, error, warning } (plus _id on some calls). Session helpers such as getPortalUrl throw instead of returning an error envelope.

Server SDKs (@finatic/server-node, finatic-server-python)

Data methods return { traceId, data, warnings, errors }. Python start_session without a token is a third shape: check session.get('session_id'), not data.

Warnings

Warnings can appear on a successful read. Log them; they are not failures.

Common status codes

StatusMeaningAction
200SuccessRead Client success.data or Server data
400Bad requestCheck parameters
401UnauthorizedToken expired (~90s init) or API key invalid
403ForbiddenGrant or cluster missing
404Not foundWrong financial accountId
409Identity mismatchACCOUNT_ID_TYPE_MISMATCH if you passed companyAccountId
422ValidationFix the payload
429Rate limitedBackoff
500 / 503ServerRetry with backoff

Next

  1. Getting Data
  2. Error Handling
  3. API Reference