SDKs
Use generated TypeScript, Python, Go, or Rust clients that follow Eigenn's public OpenAPI v1 contract.
Eigenn generates its SDKs from the current public OpenAPI document. They give 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 |
In the repository, the current contract and SDK version is 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 the test data belong to the intended environment before you send a write.
Generated Resource Groups
The generated clients include resource groups for customers, invoices, recurring invoices, transactions, bank accounts, documents, and inbox items. They also include reports, metrics, tags, tracking, teams, users, OAuth, integration callbacks, and other operations that OpenAPI contains.
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 you depend on a generated class name.
Pagination and Errors
Generated clients model the same cursor response used by the REST API:
- the results are 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. Keep the same filters and sort.
Each generated client shows non-2xx responses in the way that its language generator defines. Keep the response status, the Retry-After header, the rate-limit headers, and the request ID when they are 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 show that header as an operation parameter.
Reuse a key only for the same logical write. Eigenn can replay a successful response for that identity, method, path, query, and key. A payload change with the same key is not a supported way to submit a new operation.
Keep the Client Current
- Pin the SDK version in your dependency manager.
- Read the public API changelog before you upgrade.
- Regenerate or upgrade when the OpenAPI contract changes.
- Run contract tests against sandbox.
- Confirm the necessary scopes for every operation that your integration calls.