Skip to main content

Client options

new Cesto({
  apiKey: 'cesto_sk_…',       // required (or CESTO_API_KEY env)
  environment: 'PRODUCTION',  // 'PRODUCTION' | 'BETA' — default 'PRODUCTION'
  timeout: 60_000,            // per-request timeout in ms — default 60s
  maxRetries: 2,              // automatic retries on transient errors — default 2
  fetch: customFetch,         // optional custom fetch implementation
});
apiKey
string
Secret API key. Falls back to process.env.CESTO_API_KEY. Required.
environment
'PRODUCTION' | 'BETA'
default:"PRODUCTION"
Which backend to target: PRODUCTIONbackend.cesto.co, BETAdev.backend.cesto.co. See Authentication.
timeout
number
default:"60000"
Per-request timeout in milliseconds.
maxRetries
number
default:"2"
Max automatic retries on transient failures (408, 409, 429, 5xx, network errors, timeouts).
fetch
typeof fetch
Custom fetch implementation (e.g. undici). Defaults to the global fetch.

Per-request options

Every method accepts an options object as its last argument to override transport behavior for a single call:
await cesto.products.list(
  { category: 'defi' },
  { timeout: 5_000, maxRetries: 0, signal: controller.signal },
);
timeout
number
Override the client timeout for this request.
maxRetries
number
Override retries for this request (e.g. 0 to disable).
signal
AbortSignal
Cancel the request; composed with the internal timeout.