SDKs
Use generated TypeScript, Python, Go, or Rust clients that follow Eigenn's public OpenAPI v1 contract.
Eigenn's SDKs are generated from the current public OpenAPI document. They provide typed resource clients, request models, response models, and bearer authentication for public API v1.
Available Clients
| Language | Package |
|---|---|
| TypeScript | @oppulence/canvas-sdk |
| Python | oppulence-canvas-sdk |
| Go | github.com/Oppulence-Engineering/oppulence-canvas/sdk/go |
| Rust | oppulence-canvas-sdk |
The repository identifies the current contract and SDK version as 1.0.0.
Install a Client
npm install @oppulence/canvas-sdkpip install oppulence-canvas-sdkgo get github.com/Oppulence-Engineering/oppulence-canvas/sdk/gocargo add oppulence-canvas-sdkTypeScript Example
Pass either an Eigenn API key or an OAuth access token through accessToken. The generated client sends it as an Authorization bearer token.
import {
Configuration,
CustomersApi,
} from "@oppulence/canvas-sdk";
const token = process.env.EIGENN_API_TOKEN;
if (!token) {
throw new Error("EIGENN_API_TOKEN is required");
}
const configuration = new Configuration({
accessToken: token,
basePath: "https://api.eigenn.io/v1",
});
const customers = new CustomersApi(configuration);
const page = await customers.listCustomers({ pageSize: 25 });
console.log(page.meta.hasNextPage);Keep the token in a server-side secret store. Do not initialize a privileged client in browser code.
Choose the Environment
| Environment | Base URL |
|---|---|
| Production | https://api.eigenn.io/v1 |
| Sandbox | https://api-staging.eigenn.io/v1 |
Set the base URL explicitly in long-lived integrations. Confirm that the credential and test data belong to the intended environment before sending a write.
Generated Resource Groups
The generated clients include resource groups for customers, invoices, recurring invoices, transactions, bank accounts, documents, inbox items, reports, metrics, tags, tracking, teams, users, OAuth, integration callbacks, and other operations present in OpenAPI.
Two boundaries matter:
- There is no public Workflows SDK group because public OpenAPI v1 has no workflow endpoints.
- The generated Webhooks group represents first-party provider callback endpoints. It does not manage general outbound subscriptions.
Use the focused API pages to understand these limits before relying on a generated class name.
Pagination and Errors
Generated clients model the same cursor response used by the REST API:
- results are returned in data
- the next opaque cursor is in meta.cursor
- meta.hasNextPage tells you whether to continue
- meta.hasPreviousPage describes the current page
Do not construct or decode cursors. Pass the returned cursor to the next request while preserving the same filters and sort.
Generated clients surface non-2xx responses according to the language generator. Preserve the response status, Retry-After header, rate-limit headers, and request ID when available.
Idempotent Writes
Authenticated write operations documented in OpenAPI accept an optional Idempotency-Key header with a maximum length of 128 characters. The generated methods expose that header as an operation parameter.
Reuse a key only for the same logical write. A successful response can be replayed for that identity, method, path, query, and key. Changing the payload while reusing a key is not a supported way to submit a new operation.
Keep the Client Current
- Pin the SDK version in your dependency manager.
- Review the public API changelog before upgrading.
- Regenerate or upgrade when the OpenAPI contract changes.
- Run contract tests against sandbox.
- Confirm required scopes for every operation your integration calls.