Skip to main content

Python SDK for AgentAuth - Authorization layer for AI agent purchases with billing support

Project description

AgentAuth Python SDK

Official Python SDK for AgentAuth - the authorization layer for AI agent purchases.

Installation

pip install agentauth-client

With LangChain support:

pip install agentauth-client[langchain]

Quick Start

from agentauth import AgentAuth

# Initialize client
client = AgentAuth(
    api_key="aa_live_xxx",
    base_url="https://api.agentauth.io"  # or your self-hosted URL
)

# 1. Create a consent (user expresses intent)
consent = client.consents.create(
    user_id="user_123",
    intent="Buy flight to NYC under $500",
    max_amount=500.0,
    currency="USD"
)
print(f"Token: {consent.delegation_token}")


# 2. Authorize a transaction (agent requests approval)
auth = client.authorize(
    token=consent.delegation_token,
    amount=347.0,
    currency="USD",
    merchant_id="delta_airlines"
)

if auth.allowed:
    print(f"✅ Authorized! Code: {auth.authorization_code}")
else:
    print(f"❌ Denied: {auth.reason}")

# 3. Verify authorization (merchant confirms)
verification = client.verify(
    authorization_code=auth.authorization_code,
    amount=347.0,
    currency="USD"
)

if verification.valid:
    print(f"✅ Valid! Proof: {verification.proof_token}")

Async Support

from agentauth import AsyncAgentAuth

async def main():
    client = AsyncAgentAuth(api_key="aa_live_xxx")
    
    consent = await client.consents.create(
        user_id="user_123",
        intent="Buy flight",
        max_amount=500.0,
        currency="USD"
    )
    
    auth = await client.authorize(
        token=consent.delegation_token,
        amount=347.0,
        currency="USD"
    )

LangChain Integration

from agentauth.langchain import AgentAuthTool

# Create tool for LangChain agents
tool = AgentAuthTool(api_key="aa_live_xxx")

# Use in your agent
from langchain.agents import initialize_agent
agent = initialize_agent(tools=[tool], llm=llm)

Billing API

Manage subscriptions and usage programmatically:

from agentauth import AgentAuth

client = AgentAuth(api_key="aa_live_xxx")

# Get available billing plans
plans = client.get_billing_plans()
for plan in plans:
    print(f"{plan['name']}: ${plan['price_monthly']}/mo - {plan['requests_per_month']} requests")

# Check your organization's current usage
usage = client.get_billing_usage()
print(f"Plan: {usage['plan']}")
print(f"Used: {usage['current_usage']} / {usage['limit']} requests")
print(f"Remaining: {usage['remaining']}")

# Create a checkout session to upgrade
checkout = client.create_checkout_session(
    plan="growth",
    success_url="https://yourapp.com/billing/success",
    cancel_url="https://yourapp.com/billing/cancel"
)
print(f"Redirect user to: {checkout['checkout_url']}")

# Get billing portal for managing subscription
portal = client.get_billing_portal_url(
    return_url="https://yourapp.com/dashboard"
)
print(f"Portal URL: {portal['portal_url']}")

Available Plans

Plan Price Requests/month
Free $0 1,000
Startup $99 50,000
Growth $499 500,000
Enterprise Custom Unlimited

License

MIT

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

agentauth_client-0.2.0.tar.gz (13.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

agentauth_client-0.2.0-py3-none-any.whl (16.5 kB view details)

Uploaded Python 3

File details

Details for the file agentauth_client-0.2.0.tar.gz.

File metadata

  • Download URL: agentauth_client-0.2.0.tar.gz
  • Upload date:
  • Size: 13.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for agentauth_client-0.2.0.tar.gz
Algorithm Hash digest
SHA256 becf222432de7b59626532a1687f632b1d50e7d6556a5548fe3de9e641194213
MD5 20eb73086014022198764bbc23b1f4df
BLAKE2b-256 9ac67aa234691d652121c52b7b16df57a8e381300b23938ba9401abe2c26977b

See more details on using hashes here.

File details

Details for the file agentauth_client-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for agentauth_client-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2173841d8a6280a07c2b7ef420f08155ddde6cceabb3bfa118b2b86e05da3ec8
MD5 e5d51f765aa76ca7d0bd47d95092686c
BLAKE2b-256 99cdd5276bf83e434adb76385a944fbf7a252216dabf642fee7ee3a5d9e19514

See more details on using hashes here.

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