# ubl-directory
Subject registry for UBL — links chip owners to identity.
## Subject Kinds
- `person` — Human user
- `org` — Organization
- `client` — App/service
- `llm` — AI model
- `device` — IoT/hardware
- `dataset` — Data collection
- `service` — Backend service
## Link Relations
- `member_of` — User belongs to org
- `controls` — Entity controls another
- `operates` — Service operates resource
- `uses_model` — App uses AI model
- `delegates_to` — Permission delegation
- `owns` — Ownership relation
## Endpoints
```
POST /t/:tenant/v1/subjects → register subject
GET /t/:tenant/v1/subjects/:did → get subject + CID
GET /t/:tenant/v1/subjects → list subjects
POST /t/:tenant/v1/aliases → create alias
GET /t/:tenant/v1/aliases/:ns/:name → resolve alias
POST /t/:tenant/v1/links → create link
GET /t/:tenant/v1/links → query links
GET /t/:tenant/v1/resolve/:cid → resolve CID to object
```
## Example
```bash
# Register a subject
curl -X POST https://dir.ubl.agency/t/logline/v1/subjects \
-H "Authorization: Bearer $TOKEN" \
-d '{"did": "did:ubl:user:daniel", "kind": "person", "display_name": "Daniel"}'
# Create a link
curl -X POST https://dir.ubl.agency/t/logline/v1/links \
-d '{"from_did": "did:ubl:user:daniel", "rel": "member_of", "to_did": "did:ubl:org:acme"}'
```
## Part of UBL Ecosystem
- [chip-registry](https://crates.io/crates/chip-registry) — Chip lifecycle
- [ubl-id](https://crates.io/crates/ubl-id) — DIDs, CIDs, Wallets
- [json_atomic](https://crates.io/crates/json_atomic) — Canonical JSON
## License
MIT OR Apache-2.0