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.5

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.5.tar.gz (128.5 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.5-py3-none-any.whl (269.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ottimate_sdk-0.1.5.tar.gz
  • Upload date:
  • Size: 128.5 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.5.tar.gz
Algorithm Hash digest
SHA256 1ef32ca4f7bed03282bcd30f77904cf51dbd00753206a3ab5848054a5ac04ff0
MD5 58557cdc0479d6fc6a8bb1e7d67c9bd7
BLAKE2b-256 e412d9f2698027077c70e35af7e6197ae80952241732e7ff7aa1437057dc372f

See more details on using hashes here.

Provenance

The following attestation bundles were made for ottimate_sdk-0.1.5.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.5-py3-none-any.whl.

File metadata

  • Download URL: ottimate_sdk-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 269.4 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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 839d2845cd5cd86794398d4ddb5457bc1914e2c6b8a3692f3014881d602b7686
MD5 663c6572d80cb412b67d30371ac65273
BLAKE2b-256 af39507b71fa638fbb74f8a0788b864e14ba4178c8dece36fc38a972b575e4d0

See more details on using hashes here.

Provenance

The following attestation bundles were made for ottimate_sdk-0.1.5-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