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

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.6.tar.gz (149.2 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.6-py3-none-any.whl (306.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for ottimate_sdk-0.1.6.tar.gz
Algorithm Hash digest
SHA256 3ead9a8a351c66d0457cd706c98b4a199995844aa81cd0c55c6127ccd3b484bc
MD5 38332e48fdc417b2d5e19890d52c9cca
BLAKE2b-256 02468c04df513ad48f8fdb38ccdac44a8964eeb26c249bd5995c8e15fb40cb5c

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for ottimate_sdk-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 96ad609044d282d4ffac2e995a56b6a1bfd9c6a30197113acd88a11ee047009e
MD5 3e8ecef0adb7b9d5420378640826d4dc
BLAKE2b-256 300c8d17f09cd9dd35b8f09d39eae67f036b69647f2eda72d85fc11a61e48e5e

See more details on using hashes here.

Provenance

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