Docs
Agents and SDKs

SDKs and OpenAPI

Generate typed Berrycrawl clients in nine languages from the public API contract.

The canonical SDK contract is backend/openapi.sdk.json. It contains only public data-plane endpoints; dashboard, admin, billing, internal auth, and operational routes are deliberately excluded.

Berrycrawl maintains Fern generator definitions for:

  • TypeScript
  • Python
  • Go
  • Ruby
  • PHP
  • Java
  • C#
  • Swift
  • Rust

Until hosted packages are published, generate local clients from the repository:

pnpm openapi:export
pnpm sdk:check
pnpm sdk:generate

Generated source belongs under sdks/<language> and is ignored by the main repository. Do not hand-edit it. Fix controller annotations or DTO schemas, re-export OpenAPI, then regenerate.

Direct HTTP clients

You do not need an SDK to call Berrycrawl. Any HTTP client that supports bearer authentication and JSON works. Generate a client when typed request models, response models, retries, or language-native ergonomics justify the extra dependency.

The API Reference is generated from the same public document, so reference pages and generated clients describe one contract.