Same-origin application
The recommended topology keeps marketing, authenticated app routes, APIs, telephony callbacks, and billing callbacks under the Zeovoice origin or an equivalent secured edge configuration.
Use scoped API keys, metered access, signed webhooks, deployment evidence, and stable versioned endpoints to connect Zeovoice with your software.
The marketing site is a safe definition and evaluation surface. Operational truth lives in the authenticated Zeovoice application, where employees, readiness, approvals, evidence, calls, leads, billing, and metrics are authoritative.
The recommended topology keeps marketing, authenticated app routes, APIs, telephony callbacks, and billing callbacks under the Zeovoice origin or an equivalent secured edge configuration.
Public employee briefs can be carried into a verified workspace. The browser preview never becomes the authoritative employee by itself.
Business systems are connected for the work the employee is allowed to perform. Integration access should map back to role, permission, policy, and approval boundaries.
Production workflows separate requests, decisions, actions, outcomes, approvals, and evidence so operators can inspect what happened and why.
Entitled workspaces can create display-once API keys with explicit scopes, inspect metered usage, register signed HTTPS webhooks, and integrate against a stable /api/v1 boundary. Voice calls, AI simulation, billing changes, and unrestricted mutations are intentionally excluded from v1.
Base path /api/v1. Authenticate with Authorization: Bearer zv_live_…. Keys are workspace-bound, independently revocable, metered, and rate-limited.
Returns workspace identity and operating metadata.
workspace:readLists governed AI Employees and their current status.
employees:readReturns one employee's governed configuration.
employees:readReturns deployment readiness and verified channel state.
deployment:readRuns and records an explicit deployment verification.
deployment:verifyReturns metered request/usage totals for the workspace.
usage:readcurl https://zeovoice.com/api/v1/employees -H "Authorization: Bearer $ZEOVOICE_API_KEY" -H "Accept: application/json"const response = await fetch(
"https://zeovoice.com/api/v1/employees",
{ headers: {
Authorization: `Bearer ${process.env.ZEOVOICE_API_KEY}`
}}
);
const data = await response.json();import requests, os
r = requests.get(
"https://zeovoice.com/api/v1/employees",
headers={"Authorization":
f"Bearer {os.environ['ZEOVOICE_API_KEY']}"}
)
r.raise_for_status()
employees = r.json()["items"]POST /api/v1/deployment/EMPLOYEE_ID/verify/WEBSITE
Authorization: Bearer zv_live_…{
"channel": "WEBSITE",
"status": "READY",
"last_verified_at": "2026-10-02T…Z",
"evidence": {
"summary": "1 active website widget"
}
}{
"id": "…",
"name": "AI Receptionist",
"role_name": "AI Receptionist",
"status": "LIVE",
"capabilities": ["answer_calls","capture_leads"],
"permissions": { "telephony": { "answer": true } },
"policies": { "humanApprovalForSensitiveActions": true }
}Each endpoint receives a display-once signing secret. Zeovoice signs the exact raw request body with HMAC-SHA256 and retries failed deliveries through the background worker.
{
"id": "EVENT_UUID",
"type": "deployment.verified",
"created": "2026-10-02T…Z",
"data": {
"employeeId": "…",
"channel": "WEBSITE",
"status": "READY"
}
}X-Zeovoice-Signature: t=TIMESTAMP,v1=SIGNATURE
signed = timestamp + "." + raw_body
expected = HMAC_SHA256(webhook_secret, signed)
reject if timestamp is stale
compare expected and v1 in constant timeWebhook endpoints must be public HTTPS destinations. Zeovoice rejects private/internal targets and pins delivery to validated public addresses.
developer.testdeployment.verifiedemployee.createdemployee.liveemployee.pausedAll starter assets map to the same governed v1 boundary. Begin with a TEST key, then move to LIVE only when your integration is production-ready.
Canonical endpoint, scope and version contract for tooling, client generation and internal review.
Download OpenAPI →Minimal starter clients for authentication, employee reads, deployment verification and usage.
Zeovoice developer documentation describes shipped, governed capabilities and their actual authority boundaries. Examples do not imply broader production access, autonomous authority, or unsupported integrations.
| Status | Code | Meaning |
|---|---|---|
| 401 | API_KEY_REQUIRED | Bearer token missing. |
| 401 | API_KEY_INVALID | Key is invalid, expired, rotated, or revoked. |
| 402 | DEVELOPER_API_ENTITLEMENT_REQUIRED | The workspace Developer API add-on is not active. |
| 403 | API_SCOPE_REQUIRED | The key lacks the required explicit scope. |
| 404 | Not found | The resource is unavailable inside this workspace. |
| 429 | API_RATE_LIMITED | Per-key request limit reached. Respect Retry-After. |
Breaking API changes require a new major path such as /api/v2. Compatible additions may be introduced within v1. Clients should ignore unknown JSON fields.
V1 intentionally excludes outbound calls, AI simulation, billing mutations, phone provisioning, go-live activation, and unrestricted employee writes.
Developer API is a paid add-on for active Zeovoice subscriptions. Purchase and manage access from your authenticated workspace.