Skip to content

Developers

A profile is a typed property bag, not a fixed table

That is what lets one platform hold people, businesses, animals, places and objects without a schema migration for every new directory.

API not activatedMCP not activatedWebhooks not activated

The shape of a profile

Every property carries a key, a declared type and a value. Categories and relationships are references, so a change to a category never rewrites a profile.

  • Types are declared during mapping and validated on write.
  • Private properties are never selectable by a public reader.
  • Media are records with a review state, not raw links.
  • Every write is attributed and appears in the activity history.
{
  "profile": {
    "reference": "gc-1001",
    "directory": "garden-centres",
    "state": "published",
    "properties": [
      { "key": "name",    "type": "string",  "value": "Willow Lane Garden Centre" },
      { "key": "city",    "type": "string",  "value": "Harlow" },
      { "key": "country", "type": "country", "value": "GB" },
      { "key": "opened",  "type": "date",    "value": "2004-03-18" }
    ],
    "categories": ["garden-centre", "nursery"],
    "media": [{ "role": "primary", "state": "approved" }]
  }
}

Planned interfaces

Read API

Published profiles only, scoped by directory, with pagination and explicit field selection.

Not activated

MCP endpoint

The same read capability exposed to agents, with the same scoping and the same audit trail.

Not activated

Webhooks

Signed notifications for publication, moderation and verification changes.

Not activated

No endpoint is reachable

There is no base URL, no key issuance and no rate policy in this release. Every interface above is a stated intention, and each one is activated separately after its own review.

The documentation section carries the longer explanation of mapping, moderation and publication.

Read the documentation