Skip to main content

Official Python SDK for the Ottimate API — AP automation, invoice processing, and payment management

Project description

Ottimate Python SDK

Official Python SDK for the Ottimate API.

Installation

pip install ottimate-sdk

Requirements

  • Python 3.8 or higher

Configuration

Create a .env file in your project root with your Ottimate credentials:

OTTIMATE_API_KEY="your_api_key"
OTTIMATE_BASE_URL="your_base_url"
OTTIMATE_CLIENT_ID="your_client_id"
OTTIMATE_CLIENT_SECRET="your_client_secret"
OTTIMATE_COMPANY_ID="your_company_id"
OTTIMATE_LOCATION_ID="your_location_id"

Authentication

The Ottimate API uses OAuth 2.0. Authentication is a two-step process:

  1. Create a temporary client to obtain an OAuth access token
  2. Initialize the main client using the access token
import httpx
from ottimate import Ottimate

# Step 1: Get an access token
auth_client = Ottimate(
    base_url=base_url,
    api_key=api_key,
    httpx_client=httpx.Client(timeout=60, follow_redirects=True)
)

token_response = auth_client.oauth.post_oauth_token(
    client_id=client_id,
    client_secret=client_secret,
    scope="accounts.can_access_dashboard"
)
access_token = token_response.access_token

# Step 2: Initialize the authenticated client
client = Ottimate(
    base_url=base_url,
    api_key=api_key,
    api_version="1.0.0",
    headers={"Authorization": f"Bearer {access_token}"},
    httpx_client=httpx.Client(timeout=60, follow_redirects=True)
)

Full Example

import os
import httpx
from dotenv import load_dotenv
from ottimate import Ottimate

load_dotenv()

base_url = os.environ["OTTIMATE_BASE_URL"]
api_key = os.environ["OTTIMATE_API_KEY"]
client_id = os.environ["OTTIMATE_CLIENT_ID"]
client_secret = os.environ["OTTIMATE_CLIENT_SECRET"]

# Obtain access token
auth_client = Ottimate(
    base_url=base_url,
    api_key=api_key,
    httpx_client=httpx.Client(timeout=60, follow_redirects=True)
)

token_response = auth_client.oauth.post_oauth_token(
    client_id=client_id,
    client_secret=client_secret,
    scope="accounts.can_access_dashboard"
)

# Create authenticated client
client = Ottimate(
    base_url=base_url,
    api_key=api_key,
    api_version="1.0.0",
    headers={"Authorization": f"Bearer {token_response.access_token}"},
    httpx_client=httpx.Client(timeout=60, follow_redirects=True)
)

Version

0.1.3

Support

For API documentation and guides, visit the Ottimate Developer Docs.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ottimate_sdk-0.1.3.tar.gz (113.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ottimate_sdk-0.1.3-py3-none-any.whl (242.6 kB view details)

Uploaded Python 3

File details

Details for the file ottimate_sdk-0.1.3.tar.gz.

File metadata

  • Download URL: ottimate_sdk-0.1.3.tar.gz
  • Upload date:
  • Size: 113.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ottimate_sdk-0.1.3.tar.gz
Algorithm Hash digest
SHA256 90d3b6eeb0e980f5c9b0c475f4a379fe06a47ac0daf1d45e484633feba81b361
MD5 98d9dd3fc081fb8274ed02676c7b2c58
BLAKE2b-256 46c409f0d8c6b2eb9c0337f7ae7a88f1cbb385307902e00fa391efeb522284a2

See more details on using hashes here.

Provenance

The following attestation bundles were made for ottimate_sdk-0.1.3.tar.gz:

Publisher: generate-python-sdk.yml on plateiq/fern-docs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ottimate_sdk-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: ottimate_sdk-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 242.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ottimate_sdk-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 da6c19ffc9bd5dcbeb46195eb3265ea137ea9b5acf3bcbd10e8ab28421d32933
MD5 ff95ddc8be47deb960c3c1ba363f57ad
BLAKE2b-256 28aab6de164f073a3e654d2a71ca1c2e602b03acff239bc5319c2d2e582aa4e6

See more details on using hashes here.

Provenance

The following attestation bundles were made for ottimate_sdk-0.1.3-py3-none-any.whl:

Publisher: generate-python-sdk.yml on plateiq/fern-docs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page