API

Errors And Retries

The Go SDK returns typed API errors for non-2xx responses and retries network failures plus selected retryable HTTP statuses.

API Errors

Non-success responses return *tactasai.APIError with status code, error code, message, and request ID when available.

var apiErr *tactasai.APIError
if errors.As(err, &apiErr) {
    fmt.Println(apiErr.StatusCode, apiErr.Code, apiErr.Message)
}

Retry Behavior

The SDK retries retryable network failures and HTTP 429, 500, 502, 503, and 504. Defaults are two retries with exponential backoff between 500ms and 8s.

Request IDs

Use WithRequestID to send X-Request-ID for tracing support conversations and server logs.

Idempotency

Use WithIdempotencyKey on create or message submission calls when a retry could otherwise duplicate work.