Customer Data Access
This guide is for building product features on your workspace data quickly. Start with the access flow, then use the schema reference further down when you need implementation detail.What You Get
- One dedicated database per workspace.
- Ready-to-query views for people and companies.
- Safe write path for customer overrides.
- A custom schema (
tenant_custom) for your app-specific tables.
Quick Start: Get Access in Minutes
1) Check workspace database status
Use:2) Provision if needed
If status is notactive, run:
active.
3) Reveal a connection URI
Use:kind: "override" when your app needs to write overrides or create custom tables.
4) Connect from your app
Build Features Fast (Vibe-Coding Patterns)
Read customer records for app screens
Use:dl_resolved.peopledl_resolved.companies
Let users correct data in your app
Write to:dl_override.person_overridesdl_override.company_overrides
Store app-specific objects
Create your own tables intenant_custom:
API Endpoints You Will Use
GET /api/v2/tenants/status- Check whether your workspace database is active.
POST /api/v2/tenants/provision- Create database resources for the current workspace.
GET /api/v2/tenants/connection-uris/metadata- Return project/database/role metadata for active workspaces.
POST /api/v2/tenants/connection-uris/reveal- Reveal pooled URI for
readoroverride.
- Reveal pooled URI for
POST /api/v2/tenants/connection-uris/rotate- Rotate password for
readoroverride.
- Rotate password for
GET /api/v2/tenants/sql-schema- Return machine-readable contract for schemas and role access.
Deep Reference: Schema Contract
Managed schemas (platform-owned)
dl_cacheperson_enrichmentscompany_enrichments
dl_overrideperson_overridescompany_overrides
dl_resolvedpeople(view)companies(view)
dl_metaschema_migrationstenant_settings
Customer schema (you own this)
tenant_custom- Full DDL + DML allowed for override role.
Deep Reference: Role Access
dl_tenant_readSELECTondl_resolved.*
dl_tenant_overrideSELECTondl_resolved.*SELECT/INSERT/UPDATE/DELETEondl_override.*- Full DDL + DML on
tenant_custom.*
dl_platform_runtime- Internal app/runtime operations across managed schemas
Operational Notes
- Database access is workspace-scoped, not user-scoped.
- If the backing project was deleted manually, run
POST /api/v2/tenants/provisionagain. - Branch lifecycle is platform-managed for this tenant model.