Python SDK

Call the Ottimate API from Python with a typed, generated client

The Ottimate Python SDK is a typed client generated from the same OpenAPI specification that powers this documentation, so responses come back as Python objects instead of raw JSON.

Version 0.1.7 covers 57 of the API’s 78 endpoints. Accounts, Batch, Catalog, Dimensions, Invoices, OAuth, Purchase Orders, Receipts, and Vendors are available. Payments, Approval Policies, and Coding Defaults are not yet in the SDK — call those endpoints directly over HTTP for now. See the API Reference for the full surface.

The SDK is published to PyPI as ottimate-sdk, but its import name is ottimate:

$pip install ottimate-sdk==0.1.7

Getting started

1

Install the client

Run pip install ottimate-sdk==0.1.7 in a virtual environment. See Setup.

2

Authenticate

Exchange your client credentials for an OAuth token, then initialize the client with it. See Setup.

3

Make your first call

Fetch the companies and locations on your account to confirm the client is wired up correctly. See Accounts.

Guides

Conventions

Method names mirror the underlying HTTP operation, grouped by API tag. For example:

API endpointSDK method
GET /v1/accounts/{id}/companiesclient.accounts.get_accounts_id_companies(id=...)
POST /v1/vendorsclient.vendors.post_vendors_root(...)
GET /v1/invoicesclient.invoices.get_invoices_root(...)

Every request is scoped by the credentials you authenticate with — the same scoping rules that apply to direct API calls apply here.