Skip to main content

rightos-sdk — RightOS Python SDK

Official Python SDK for RightOS — privacy-preserving rights verification infrastructure. Issue and verify digital QR tickets ("Right Tokens") for queues, reservations, EV charging, and package pickup, without ever collecting end users' names or phone numbers.

  • Zero dependencies (standard library only), Python ≥ 3.9
  • Machine-readable spec: openapi.json · AI-agent docs: llms-full.txt

Links: Sign up free · Pricing · MCP setup · Use cases · Usage insights

RightOS is not a taxi or ride-hailing service. It does not arrange vehicles, set fares, assign drivers, or broker dispatch.

Install

pip install rightos-sdk

Quickstart (60 seconds)

from rightos import RightOS

# 1. Register once (the apiKey is returned EXACTLY ONCE — store it securely)
pub = RightOS()
reg = pub.register_organization(name="My Shop", contact_email="you@example.com", plan_id="free")
api_key = reg["apiKey"]

# 2. Operator client
client = RightOS(api_key=api_key)

# 3. Issue a digital QR ticket
location = client.list_locations()[0]
issued = client.issue_token(location_id=location["id"], title="Queue ticket")
print("Hand this to your customer:", issued["walletUrl"])

# 4. Verify on arrival (no API key needed)
outcome = RightOS().verify_token(issued["token"]["id"], issued["verificationCode"])
print(outcome["result"])  # "success"

# 5. Mark as used after service
client.use_token(issued["token"]["id"])

Location policies (Policy Engine)

policy = client.get_location_policy(location["id"])["policy"]
# {"transferable": True, "maxTransfers": 3, "defaultValidityMinutes": 720, ...}

client.set_location_policy(location["id"], {"transferable": False})  # override
client.set_location_policy(location["id"], None)  # reset to industry preset

# The full knowledge base — industry presets and country overlays
# (JP/US/GB/KR/TW/FR/DE/IT/ES/AU, informed by local ticket-resale laws):
defs = client.list_policies()  # defaults, not legal advice

Webhooks (v0.4.0+)

Receive a signed HTTPS POST whenever a token is verified, used, cancelled, or transferred (up to 3 webhooks per organization):

from rightos import RightOS, verify_webhook_signature

client = RightOS(api_key="rk_live_...")

# Register — the signing secret is returned EXACTLY ONCE
created = client.create_webhook(
    "https://example.com/rightos/hook",
    events=["token.verified", "token.used"],  # defaults to all four
)
secret = created["secret"]  # "whsec_..."

# In your receiver: verify the x-rightos-signature header against the RAW body
ok = verify_webhook_signature(secret, request.headers["x-rightos-signature"], raw_body)
# respond 2xx immediately; process asynchronously

client.list_webhooks()  # never includes secrets
client.delete_webhook(created["webhook"]["id"])

Delivery is best-effort (3s timeout, no retries). Signature format: t=<unix seconds>,v1=<hex HMAC-SHA256(secret, f"{t}.{raw_body}")>.

Error handling

from rightos import RightOS, RightOSError

try:
    RightOS().transfer_token(token_id, code)
except RightOSError as e:
    if e.code == "policy_transfer_disabled":
        ...  # this location forbids transfers
    elif e.status == 429:
        ...  # rate limited; wait e.retry_after_sec

Common codes: missing_api_key / invalid_api_key (401), plan limits (402), policy_transfer_disabled / transfer_limit_reached (409), rate_limited (429).

Try it against the live demo

demo = RightOS(api_key="rk_demo_00000000000000000000")  # shared demo org
print(demo.list_locations())

License

MIT © I-S3 Inc.

Metadata

Release files for rightos-sdk 0.5.0

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

Source distribution (sdist)

Source distribution for rightos-sdk 0.5.0
File Size Uploaded
rightos_sdk-0.5.0.tar.gz 6.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for rightos-sdk 0.5.0
File Interpreter ABI Platform
rightos_sdk-0.5.0-py3-none-any.whl Python 3 none any Details

Total release size: 13.9 kB

Release files / rightos_sdk-0.5.0.tar.gz

Download URL rightos_sdk-0.5.0.tar.gz
Size 6.8 kB
Tags Source
SHA-256 checksum
How to use checksums
c48d3e849faeab7930fe91019cf8429359f03ac0296df88e71697c2d2c96680b
BLAKE2b-256 checksum
How to use checksums
cf975764a62b18c9899864d4fcada7141b7392cddc555e676fdbfe3294a0974a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 4, 2026.

Transparency log

Release files / rightos_sdk-0.5.0-py3-none-any.whl

Download URL rightos_sdk-0.5.0-py3-none-any.whl
Size 7.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9aff736f9bba1c7184c95d20349947b786f9e88461d827425f3a8e12ecc1e6e0
BLAKE2b-256 checksum
How to use checksums
4bb94d34c514dbfeedd27b2858b3a482d2ba0660c1640f047a745e6fdd545deb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 4, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.5.0 This release

2 release files

0.4.4

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

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