Client generation
Generate typed clients from the OpenAPI contract.
StateSet Voice publishes scoped OpenAPI 3.1 documents so teams can generate runtime and admin clients that match their security boundaries.
Client strategy
Generate separate clients for runtime and admin surfaces. That keeps tenant-facing applications away from admin-only credentials and makes code ownership clearer in larger organizations.
Runtime client
Application teams
Use /api-docs/public.json for outbound calls, sessions, call logs, operations, and automation workflows.
Admin client
Platform teams
Use /api-docs/admin.json for tenants, API keys, agents, phone routes, diagnostics, and rollout governance.
TypeScript
npm install --save-dev openapi-typescript
npx openapi-typescript https://voice.stateset.app/api-docs/public.json \
-o src/generated/stateset-voice-public.d.ts
npx openapi-typescript https://voice.stateset.app/api-docs/admin.json \
-o src/generated/stateset-voice-admin.d.ts
Generated fetch client
openapi-generator-cli generate \
-i https://voice.stateset.app/api-docs/public.json \
-g typescript-fetch \
-o generated/stateset-voice-public
openapi-generator-cli generate \
-i https://voice.stateset.app/api-docs/admin.json \
-g typescript-fetch \
-o generated/stateset-voice-admin
Python
openapi-python-client generate \
--url https://voice.stateset.app/api-docs/public.json \
--meta none \
--path generated/stateset_voice_public
CI contract check
Pin generated clients to a reviewed spec snapshot. Regenerate clients in CI and fail the build when generated code changes without a reviewed API update.
curl -sS https://voice.stateset.app/api-docs/public.json \
-o api-contracts/stateset-voice-public.json
git diff --exit-code api-contracts generated