If you're writing code against EmbodiFlow, an SDK saves you the plumbing. Both clients cover every public /v1 operation and sign in with a personal access token. They also handle the polite parts for you: on 429 they wait for Retry-After and retry, and they reuse idempotency keys so a retried write isn't applied twice.
TypeScript
The package is @embodiflow/sdk. It's published to the same GitHub Packages registry as the CLI, so you need read access to that registry to install it.
import { EmbodiFlowClient, paginate } from '@embodiflow/sdk';
const client = new EmbodiFlowClient({
baseUrl: 'https://api.embodiflow.io',
apiKey: process.env.EMBODIFLOW_PAT!,
});
for await (const project of paginate((pageToken) =>
client.api.projects.list({ query: { pageSize: 25, pageToken } }),
)) {
console.log(project.id);
}Python
The distribution is embodiflow-sdk, and you import it as embodiflow. It isn't on PyPI; instead, each deployment serves its own build as a pip index:
pip install --index-url https://api.embodiflow.io/v1/sdk/simple/ embodiflow-sdkThe Python package doesn't install a command. For the terminal, use the CLI.