Skip to main content

Customer API

The Customer API is the planned programmable interface for reading operational truth and managing authorized Zen Mesh resources. It is distinct from the Dashboard/BFF API and the MCP surface, but it follows the same contract model: UI, CLI, API, MCP, and Git are different control surfaces.

Status: PLANNED. This page describes the planned customer-facing contract. Individual endpoint groups carry their own status. It is not a production-live availability claim.

Control surface model

Every operation in Zen follows a declarative contract model. The Customer API is one control surface alongside the UI, CLI, MCP, and Git surfaces.

Relationship to Dashboard/BFF API

The Dashboard/BFF API (/api/bff/v1) exists today for the dashboard UI. It is an internal app-facing surface, not a public customer contract. The Customer API will eventually provide a stable, documented, externally consumable contract. Until then, the BFF API may be the only available programmatic surface for some operations.

Relationship to MCP

The MCP surface is a separate control surface for AI agents. It has its own auth model, tool set, and safety boundaries. MCP is not a subset of the Customer API, nor vice versa. Both produce and consume contract artifacts.

Read and write model

The Customer API is not read-only as a product category. Read/write status is determined at the endpoint-group level, not globally.

CapabilityExample operationStatusPermission modelNotes
Read tenant stateGET /v1/capabilities, GET /v1/readinessPLANNEDBearer JWT, HMAC, API keyOperational truth reads
Read targetsGET /v1/tenants/{tid}/destinationsWIRED_SANDBOXBearer JWT, API keyVia runtime Targets API
Create/update targetPOST/PATCH /v1/tenants/{tid}/destinationsWIRED_SANDBOXBearer JWT, API key, tenant scopeSee Targets API
Read endpointsGET /v1/tenants/{tid}/ingestersWIRED_SANDBOXBearer JWT, API keyVia runtime Endpoints API
Create/update endpointPOST/PUT /v1/tenants/{tid}/ingestersWIRED_SANDBOXBearer JWT, API key, tenant scopeSee Endpoints API
Read flowsGET /v1/tenants/{tid}/delivery-flowsWIRED_SANDBOXBearer JWT, API keyVia runtime Flows API
Create/update/publish flowPOST/PUT /v1/tenants/{tid}/delivery-flowsWIRED_SANDBOXBearer JWT, API key, tenant scopeSee Flows API
Read delivery attemptsGET /v1/tenants/{tid}/deliveriesWIRED_SANDBOXBearer JWT, API keyVia Delivery Attempts API
Retry deliveryPOST /v1/tenants/{tid}/events/{eid}/retryWIRED_SANDBOXBearer JWT, API key, authorizationSee Retry API
Replay eventPOST /v1/tenants/{tid}/deliveries/{did}/replayWIRED_SANDBOXBearer JWT, API key, retained payload gateSee Replay API
Manage saved payload templatesGET/POST/PUT/DELETE /v1/tenants/{tid}/saved-payloadsWIRED_SANDBOXBearer JWT, API keySee Saved Payloads API
Manage API keysGET/POST/DELETE /v1/tenants/{tid}/api-keysWIRED_SANDBOXSession, API keySee Authentication
MCP read toolsVarious MCP toolsPUBLIC_CONTRACT_DRAFTMCP API key, scopesDefault-on read surface
MCP mutation toolsVarious MCP toolsPUBLIC_CONTRACT_DRAFTMCP API key, disabled by defaultRequires explicit enablement

Read operations

Read endpoints expose operational truth: tenant state, resources, delivery status, evidence, and readiness. Reads are available where the endpoint group maturity permits.

Write operations

Write-capable endpoints are intentionally explicit. A documented write path is not available to every tenant by default; availability depends on:

  • Endpoint-group maturity — some groups are WIRED_SANDBOX, others are PLANNED
  • Tenant authorization — the tenant must own or have permission for the target resource
  • Object-level permissions — granular access control at the resource level where applicable
  • Plan/capability gates — some writes require a specific plan tier
  • Contract validation — writes pass through the same validation as UI/CLI/Git operations
  • Audit logging — all mutating operations are logged with identity, action, and parameters
  • Idempotency or replay-safety — where relevant, writes support idempotency keys or replay-safety controls
  • Fail-closed validation — write requests that fail validation do not partially apply

See the Write Safety Model for details on authorization, idempotency, audit requirements, and fail-closed behavior.

What Customer API is not

  • Not the internal Dashboard/BFF API
  • Not an unrestricted admin API
  • Not a bypass around UI/MCP/Git governance
  • Not automatically production-live
  • Not a claim that every documented write is currently available
  • Not the same as sandbox/test APIs

Endpoint-group maturity

Endpoint groupRead supportWrite supportCurrent statusPublic contract statusPage
Targets APIYesCreate, update, deleteWIRED_SANDBOXDraftTargets API
Endpoints APIYesCreate, update, deleteWIRED_SANDBOXDraftEndpoints API
Flows APIYesCreate, update, deleteWIRED_SANDBOXDraftFlows API
Delivery Attempts APIYesNo direct public writeWIRED_SANDBOXDraftDelivery Attempts API
DLQ APIYesNo direct DLQ writeWIRED_SANDBOXDraftDLQ API
Retry APIRead via attempts APIRetry a deliveryWIRED_SANDBOXDraftRetry API
Replay APIEligibility/contextReplay a deliveryWIRED_SANDBOXDraftReplay API
Saved Payloads APIYesCreate, update, deleteWIRED_SANDBOXDraftSaved Payloads API
Evidence APIYesNo direct write (evidence created by platform)WIRED_SANDBOXDraftEvidence API
API Keys APIYesCreate, revokeWIRED_SANDBOXDraftAuthentication
Rate Limits APIDocumentation onlyN/APUBLIC_CONTRACT_DRAFTDraftRate Limits API
MCPRead tools default-onWrite tools disabled by defaultPUBLIC_CONTRACT_DRAFTDraftMCP Overview
Billing/Plan APIInternalInternalINTERNAL_ONLYNo
Sandbox/Test APISandbox-onlySandbox-onlySANDBOX_ONLYNo

Consistency with MCP

Both Customer API and MCP follow the same model:

  • Not read-only as a product category
  • Read/write status determined at tool/endpoint-group level
  • Write operations require explicit authorization, scopes, object-level permissions, audit, idempotency where relevant, and fail-closed validation
  • Writes never bypass the same contract validation used by UI/CLI/Git

Current availability boundaries

CapabilityCurrent status
Customer API contract definitionDocumented, PLANNED
Read operational truth (programmatic)Planned endpoints
Write-capable endpoint groupsVia runtime APIs (Targets, Endpoints, Flows, Retry, Replay)
MCP read toolsDefault-on
MCP mutation toolsDisabled by default, per-tool-group enablement
GitOps configuration surfaceNot currently available

Design principles

  • Tenant-scoped: Every request requires authentication and tenant context
  • Evidence-backed: Mapped to evidence artifacts where applicable
  • Rate-limited: Subject to plan-based rate limits
  • Audited: All access logged

Non-claims

  • Not production-live — contract and planned only
  • Write availability is endpoint-group-specific, not global
  • No compliance certification via API
  • No secret or customer data exposure
  • Does not replace Dashboard/BFF or MCP surfaces