Skip to main content

simpleapps-com-augur-api

Python client library for Augur microservices.

Installation

pip install simpleapps-com-augur-api

Quick Start

from augur_api import AugurAPI

api = AugurAPI(
    token="your-bearer-token",
    site_id="your-site-id",
)

# Access any service via api.{service_name}
items = api.items.inv_mast.list(limit=10)
customers = api.customers.customer.list(limit=10)
orders = api.orders.oe_hdr.lookup()

Service Access Pattern

All services are accessed through the unified AugurAPI client:

api.items        # Items service
api.customers    # Customers service
api.orders       # Orders service
api.pricing      # Pricing service
api.commerce     # Commerce service
# ... one property per service (see https://items.augur-api.com/llms.txt)

Documentation

Resource URL
Full API Reference https://augur-api.info
Endpoint Hints https://{service}.augur-api.com/llms.txt
Parameters https://{service}.augur-api.com/endpoints.jsonl
OpenAPI Spec https://{service}.augur-api.com/openapi.json

Example: Items Service

Each llms.txt lists all other available services for discovery.

Authentication

All endpoints require:

  • site_id - Site identifier
  • token - Bearer authentication token
api = AugurAPI(
    site_id="your-site-id",
    token="your-bearer-token",
)

Configuration

from augur_api import AugurAPI, AugurAPIConfig

# With custom configuration
config = AugurAPIConfig(
    token="your-bearer-token",
    site_id="your-site-id",
    timeout=30.0,
    retries=3,
    retry_delay=1.0,
)
api = AugurAPI.from_config(config)

# From context (for framework integration)
api = AugurAPI.from_context(context)

Edge Caching

Enable Cloudflare edge caching on any GET request using the edge_cache parameter:

# Sub-hour caching
items = api.items.inv_mast.list(limit=10, edge_cache="30s")  # 30 seconds
items = api.items.inv_mast.list(limit=10, edge_cache="1m")   # 1 minute
items = api.items.inv_mast.list(limit=10, edge_cache="5m")   # 5 minutes

# Hourly caching (1, 2, 3, 4, 5, or 8 hours)
items = api.items.inv_mast.list(limit=10, edge_cache=1)      # 1 hour
items = api.items.inv_mast.list(limit=10, edge_cache=8)      # 8 hours
Value Duration
"30s" 30 seconds
"1m" 1 minute
"5m" 5 minutes
1 - 5, 8 1-5 or 8 hours

The client automatically transforms edge_cache to Cloudflare's cacheSiteId{N} format.

Error Handling

from augur_api import (
    AugurAPI,
    AugurError,
    AuthenticationError,
    NotFoundError,
    RateLimitError,
    ValidationError,
)

api = AugurAPI(token="...", site_id="...")

try:
    response = api.items.inv_mast.get(12345)
except ValidationError as e:
    print(f"Bad request: {e.message}")
except AuthenticationError as e:
    print(f"Auth failed: {e.message}")
except NotFoundError as e:
    print(f"Item not found: {e.message}")
except RateLimitError as e:
    print(f"Rate limited: {e.message}")
except AugurError as e:
    print(f"API error: {e.code} - {e.message}")

The status decides the class: 400 → ValidationError, 401 → AuthenticationError, 404 → NotFoundError, 429 → RateLimitError, anything else (including 403 and network failures) → AugurError. e.endpoint is the path template (/inv-mast/{invMastUid}), and messages never contain parameter values.

Endpoint Registry and call()

AugurAPI.endpoints() lists every endpoint (id, method, path template, params). call() invokes one by id or alias id, with no typed method:

result = api.call(
    "items.invMast.doc.get",
    path_params={"invMastUid": 12345},
    query={"edgeCache": 1},
)

result.http_status    # 200
result.envelope       # Envelope (count, data, message, ..., total_results) or None
result.body           # parsed JSON, or the raw text when the body isn't JSON
  • Arguments are checked before any request: path params must match exactly, query keys must be declared, and a body is allowed only on POST/PUT. Violations raise InvalidArgumentError.
  • A 2xx always returns; there is no schema validation. Use the typed methods when you want validated, typed responses.
  • Non-2xx responses raise the same errors as the typed methods.

Path Values

Path values are sent unencoded, because the API does not decode path segments (/bins/D%2FS looks up the literal D%2FS). A string path value MUST use only letters, digits and - . _ ~ ! $ & ' ( ) * + , ; = : @. Anything else, such as /, ?, #, %, spaces or non-ASCII, raises InvalidArgumentError before any request. Pass the raw value, never a pre-encoded one. Use the query parameter instead where there is one:

api.call("items.locations.bins.list", path_params={"locationId": 100}, query={"bin": "D/S"})

For AI Agents

See SKILL.md for guidance on using this package with AI assistance.

License

MIT

Metadata

Release files for simpleapps-com-augur-api 2026.9.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for simpleapps-com-augur-api 2026.9.7
File Size Uploaded
simpleapps_com_augur_api-2026.9.7.tar.gz 223.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for simpleapps-com-augur-api 2026.9.7
File Interpreter ABI Platform
simpleapps_com_augur_api-2026.9.7-py3-none-any.whl Python 3 none any Details

Total release size: 360.1 kB

Release files / simpleapps_com_augur_api-2026.9.7.tar.gz

Download URL simpleapps_com_augur_api-2026.9.7.tar.gz
Size 223.6 kB
Tags Source
SHA-256 checksum
How to use checksums
3904f43dbee5b793fae656faf5066ce43af53abb1cd0128d215c3ab96c48b15c
BLAKE2b-256 checksum
How to use checksums
b5d60d6692ec27e677b9be660f996fda38e03f63685465ad91ee0a7d900f7012
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.21 {"installer":{"name":"uv","version":"0.12.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / simpleapps_com_augur_api-2026.9.7-py3-none-any.whl

Download URL simpleapps_com_augur_api-2026.9.7-py3-none-any.whl
Size 136.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8c61ba98eea730b8ed79c407275aad296b62237df35d8008002258042301421e
BLAKE2b-256 checksum
How to use checksums
48e606fc4dabf21f06b60ed3b915c0a6ff9d24e7ac147d2fda5819a315fa276e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.21 {"installer":{"name":"uv","version":"0.12.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

2026.9.7 This release

2 release files

0.9.11

2 release files

0.9.10

2 release files

0.9.9

2 release files

0.9.8

2 release files

0.9.7

2 release files

0.9.6

2 release files

0.9.5

2 release files

0.9.4

2 release files

0.9.3

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.12

2 release files

0.8.11

2 release files

0.8.10

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page