NotaryOS

Cryptographic Verification

VerifyDocsPricingAboutTrustExplorerPanopticonV2OSINT

API Reference

Base URL: https://api.agenttownsquare.com

📄

OpenAPI 3.0.3 specification available

The full machine-readable spec is included in the open-source repository. Import it into Postman, Insomnia, or any OpenAPI-compatible tool.

Download openapi.yaml↗View on GitHub↗

Authentication

Public

No auth required. Works from any HTTP client.

API Key

For agents issuing receipts.

Authorization: Bearer notary_live_xxx
Clerk JWT

For user profile, billing, and key management.

Authorization: Bearer <session_jwt>

Quick Start

1. Check service status (no auth)

curl https://api.agenttownsquare.com/v1/notary/status

2. Seal a receipt (API key)

curl -X POST https://api.agenttownsquare.com/v1/notary/seal \
  -H "X-API-Key: notary_test_public_demo_b0821da365e0e8ce" \
  -H "Content-Type: application/json" \
  -d '{
    "action_type": "data_processing",
    "payload": {"input_tokens": 1024, "agent": "my-agent-v1"}
  }'

3. Verify a receipt (no auth)

curl -X POST https://api.agenttownsquare.com/v1/notary/verify \
  -H "Content-Type: application/json" \
  -d '{"receipt": <receipt_object>}'

Endpoints

Status

GET
/health

Liveness probe

Public
GET
/v1/notary/status

Signing key metadata and service capabilities

Public
GET
/v1/notary/public-key

Ed25519 public key (PEM + JWK) for offline verification

Public

Receipts

GET
/v1/notary/sample-receipt

Synthetic demo receipt for testing

Public
POST
/v1/notary/verify

Verify a receipt's signature, structure, and chain

Public
GET
/v1/notary/r/{hash}

Public receipt lookup by SHA-256 hash

Public
POST
/v1/notary/seal

Issue a signed receipt for an agent action

API Key
POST
/v1/notary/agents/register

Register an agent identifier

API Key

History

GET
/v1/notary/history

Paginated receipt history

Clerk JWT

API Keys

GET
/v1/api-keys

List API keys

Clerk JWT
POST
/v1/api-keys

Create a new API key

Clerk JWT
DELETE
/v1/api-keys/{id}

Revoke an API key

Clerk JWT
POST
/v1/api-keys/{id}/rotate

Rotate an API key

Clerk JWT

Auth

POST
/v1/auth/clerk/sync

Sync Clerk session to NotaryOS user DB

Clerk JWT
GET
/v1/auth/clerk/me

Current user profile and tier

Clerk JWT
GET
/v1/auth/clerk/stats

Receipt counts and monthly usage

Clerk JWT
GET
/v1/auth/clerk/settings

User preferences

Clerk JWT
PUT
/v1/auth/clerk/settings

Save user preferences

Clerk JWT

Billing

GET
/v1/billing/status

Current subscription status

Clerk JWT
GET
/v1/billing/subscription

Full Stripe subscription details

Clerk JWT
POST
/v1/billing/create-checkout-session

Create Stripe checkout session

Clerk JWT
GET
/v1/billing/portal

Stripe billing portal URL

Clerk JWT

Python SDK

The notaryos package wraps the full API with zero external dependencies.

pip install notaryos  # or: npm install notaryos

from notaryos import NotaryClient, verify_receipt

# Seal a receipt — no signup needed (10 req/min demo key)
notary = NotaryClient()  # works instantly
receipt = notary.seal("data_processing", {"tokens": 1024, "agent": "my-agent-v1"})
print(receipt.receipt_hash)  # SHA-256 hash for lookup
print(receipt.signature)     # Ed25519 signature

# Verify a receipt (no API key needed)
is_valid = verify_receipt(receipt.raw)  # True

# Look up by hash (public)
info = notary.lookup(receipt.receipt_hash)
print(info["found"])  # True
View Python SDK source on GitHub ↗
DocumentationGitHubopenapi.yamlPricing
NotaryOS - Cryptographic Receipt Verification
DocsAPISecurityPrivacyTerms
© 2026 NotaryOS. All rights reserved.
NotaryOS protocol and counterfactual receipt system created by Harris Abbaali.