API reference and domain catalog
The customer-callable API is documented as an OpenAPI spec:
https://p6m.xyz/openapi/public.json
When you are working against a local or private environment, use:
$P6M_URL/openapi/public.json
You can import this file into Swagger Editor, Postman, Insomnia, Scalar, Stoplight, or an AI coding assistant that understands OpenAPI. The public spec is the contract to use when building your own app on P6M.
Platform and internal specs exist for P6M operations, but customer apps should start with the public spec:
- /openapi/public.json for customer-callable APIs
- /openapi/platform.json for platform administration APIs
- /openapi/internal.json for protected internal APIs
Domains
Domains are reusable backend capabilities. Enable a domain in a workspace, then call that domain's APIs with the returned enabledServiceId.
Identity and auth
Purpose: model users, service accounts, API keys, role grants, scopes, and P6M Alias identities.
Use it for:
- human users
- backend service accounts
- API key lifecycle
- cross-org access grants
- scoped automation
Metadata
Purpose: store app-owned records and facts without creating a custom database first.
Use it for:
- projects
- app settings
- resource state
- feature flags
- SaaS control-plane records
Events and notifications
Purpose: deliver outbound messages from your app to other systems.
Use it for:
- webhooks
- lifecycle notifications
- integration events
- retryable delivery workflows
Audit
Purpose: record and read security and operational events.
Use it for:
- customer activity logs
- admin audit trails
- compliance evidence
- debugging who changed what
Billing and usage
Purpose: inspect customer usage, billing accounts, free credits, plan allowance, and estimated overage.
Use it for:
- usage dashboards
- account limits
- prepaid plan checks
- billing transparency
Knowledge
Purpose: store documents, ingest chunks, query with citations, and inspect Memory Graph entities and relationships.
Use it for:
- AI assistant knowledge bases
- documentation search
- cited support answers
- product help centers
- entity and relationship discovery
Support
Purpose: build ticketing workflows in your own product.
Use it for:
- customer tickets
- internal queues
- assignments
- replies and status changes
- support history
This is separate from P6M's own support desk for helping hosted P6M customers.
Policy modules
Purpose: attach WASM policy decisions to domain events.
Use it for:
- validating metadata writes
- rejecting sensitive fields
- enforcing naming rules
- tenant-specific guardrails
Policy modules are sandboxed and event-bound. They do not create custom HTTP endpoints.