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
- https://items.augur-api.com/llms.txt
- https://items.augur-api.com/endpoints.jsonl
- https://items.augur-api.com/openapi.json
Each llms.txt lists all other available services for discovery.
Authentication
All endpoints require:
site_id- Site identifiertoken- 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)
| File | Size | Uploaded | |
|---|---|---|---|
| simpleapps_com_augur_api-2026.9.7.tar.gz | 223.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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}
|