SDKs

SDKs

The official Node.js client, and what to do when there is not one for your language.

Node.js

npm install @cutedyno/node
import { CuteDyno } from '@cutedyno/node';

const cutedyno = new CuteDyno(); // reads CUTEDYNO_API_KEY

Built in:

  • Retries on 429 and 5xx (honours Retry-After)
  • Idempotency keys on writes
  • onRateLimit callback
  • media.upload (presign + PUT) and media.createUploadSession (browser upload for agents)
  • analytics.get and analytics.history
  • Webhook signature verify
  • Async iterators for pagination
const cutedyno = new CuteDyno({
  apiKey: process.env.CUTEDYNO_API_KEY,
  profileId: 'prof_customer_42',
  onRateLimit: ({ remaining }) => {
    metrics.gauge('cutedyno.rate_limit.remaining', remaining);
  },
});

Errors are CuteDynoError with a stable code. See Errors.

Other languages

Node.js is the only client we publish and support. For anything else, call the REST API directly, or generate a client from the OpenAPI document with the generator for your language:

https://cutedyno.com/docs/api/openapi.json

A generated client is yours to maintain, so whichever route you take:

  1. Send Idempotency-Key on writes
  2. Retry only 429 and 5xx
  3. Branch on error.code, not error.message
  4. Log requestId from failures

Agents

Prefer MCP or the CLI instead of hand-rolling HTTP in an agent loop.