Skip to main content
Archived

This project has been archived by its maintainers, and is no longer receiving any updates.

simpleapps-com-augur-api

Python client library for Augur microservices.

Installation

pip install simpleapps-com-augur-api

Pin the version. Versions are CalVer (YYYY.MM.PATCH), and a month roll can carry breaking changes when the Augur API changes upstream. Pin an exact version (==2026.9.7) or stay within a month (~=2026.9.0), and read the release notes before moving to a new month.

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()

# statusCd takes one code or a list (sent as statusCd=704,705)
from augur_api.services.items.generated.schemas import InvMastListParams

items = api.items.inv_mast.list(InvMastListParams(status_cd=[704, 705]))

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

Each path value is percent-encoded as one segment: letters, digits and - . _ ~ ! $ & ' ( ) * + , ; = : @ are sent as they are, and anything else (/, ?, #, %, spaces, non-ASCII) as %XX. So bin D/S goes out as /bins/D%2FS, which the API decodes back to D/S. Pass the raw value, never a pre-encoded one (% becomes %25). Each value is checked against its endpoint's pathPatterns registry entry, never guessed from the param name: integer params (and string ids the route keeps to digits, such as contacts id and orderNo) MUST match ^\d+$, agr-site serviceName MUST match ^[a-z0-9_]+$, and a param with no pattern (bin, companyId, siteId) MUST be non-empty. A rejected value raises InvalidArgumentError naming the param and pattern, never the value.

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

Only routes whose backend decodes path values find such values. Elsewhere, use the query parameter where there is one.

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

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.10.14
File Size Uploaded Provenance
simpleapps_com_augur_api-2026.10.14.tar.gz 365.8 kB Without provenance Details

Built distribution (wheel)

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

Total release size: 662.9 kB

Release files / simpleapps_com_augur_api-2026.10.14.tar.gz

Download URL simpleapps_com_augur_api-2026.10.14.tar.gz
Size 365.8 kB
Tags Source
SHA-256 checksum
How to use checksums
704843962e49c1e0954b900e73c4bd7ba392ecefe21a1690e56854f350347402
BLAKE2b-256 checksum
How to use checksums
911ed057626c11aa0e0eada288bd24476bb1e21b860098370356e7342c229c42
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","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.10.14-py3-none-any.whl

Download URL simpleapps_com_augur_api-2026.10.14-py3-none-any.whl
Size 297.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
20311b6a2c25a6f26a7cf79bb0a0b722970c2b9a550cfadfcb44f3c2b8210fee
BLAKE2b-256 checksum
How to use checksums
ff6aa3bade03216b957e402f1486a00f8f2b232127ab497a5d9b5f9b954bb4bd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","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}

Security for simpleapps-com-augur-api 2026.10.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release
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