agentity-registry
FastAPI REST registry for the Agentity Protocol. Register agent identities, lookup DID status, revoke tokens, stream events via WebSocket — with OIDC auth, rate limiting, and signed audit logs.
Installation
pip install agentity-registry
Quick start
# In-memory (no dependencies)
uvicorn agentity_registry.main:app --port 8000
# With OIDC auth
cp .env.example .env # fill in Google/GitHub credentials
uvicorn agentity_registry.main:app --port 8765
# Production (PostgreSQL + Redis)
AGENTITY_STORE=postgres docker compose up -d
Endpoints
| Method | Path | Description |
|---|---|---|
GET |
/health |
Health check + store + auth info |
POST |
/register |
Register an agent AID |
GET |
/did/{did} |
Get full AID document |
GET |
/did/{did}/status |
Get AID status (active/revoked/expired) |
POST |
/revoke |
Revoke an AID (optional cascade) |
GET |
/agents |
List all registered agents |
GET |
/audit |
Get all audit log entries |
GET |
/audit/{did} |
Get audit log for a specific DID |
GET |
/audit/{did}/verify |
Verify an audit entry signature |
WS |
/ws |
Real-time event stream (created/revoked) |
Authentication endpoints (if OIDC enabled)
| Method | Path | Description |
|---|---|---|
GET |
/auth/login/{provider} |
OIDC login (google, github, apple, microsoft) |
GET |
/auth/callback/{provider} |
OIDC callback |
GET |
/auth/session/{token} |
Get verified owner session |
Configuration
| Env var | Default | Description |
|---|---|---|
AGENTITY_STORE |
memory |
memory or postgres |
REDIS_URL |
redis://localhost:6379 |
Redis for rate limiting |
DATABASE_URL |
postgresql://... |
PostgreSQL connection |
AGENTITY_EVM_RPC_URL |
— | Optional EVM bridge RPC |
OIDC env vars
GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, GITHUB_CLIENT_ID, GITHUB_CLIENT_SECRET, APPLE_CLIENT_ID, APPLE_CLIENT_SECRET, MICROSOFT_CLIENT_ID, MICROSOFT_CLIENT_SECRET
Features
- Pluggable storage — InMemoryStore (dev) / PostgresStore (prod)
- Rate limiting — Redis-backed, 100 req/min per DID,
X-RateLimit-Remainingheader - Signed audit log — HMAC-SHA256 on each entry, verifiable
- WebSocket broadcasts — Real-time revocation events
- EVM bridge — Optional on-chain DID registration (via
agentity-evm)
Tests
pip install -e .[dev]
pytest agentity_registry/tests/
License: Apache 2.0
Metadata
Release files for agentity-registry 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| agentity_registry-0.1.1.tar.gz | 9.5 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| agentity_registry-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 19.9 kB
Release files / agentity_registry-0.1.1.tar.gz
| Download URL | agentity_registry-0.1.1.tar.gz |
|---|---|
| Size | 9.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c46850090d19d8dcd82f483be4c3fb5e217f41c3ad879c28516334a69bffe25a
|
|
BLAKE2b-256 checksum How to use checksums |
48c3c720da381e2eb32e343a2fe6ec8b1b81b715920e3ff89f11ec4e5bf0cf45
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.7
|
Release files / agentity_registry-0.1.1-py3-none-any.whl
| Download URL | agentity_registry-0.1.1-py3-none-any.whl |
|---|---|
| Size | 10.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8cbd0b0058f3b5a6b271b9aaa84e9b067ce37d91f02691dee064aeb998354c95
|
|
BLAKE2b-256 checksum How to use checksums |
db6b038b0318b89d7bfc0237ea54da2ad2020512337d5e1fd252098e7c353d82
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.7
|
Security for agentity-registry 0.1.1
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.