API reference
The NexBasira public API is REST + JSON, versioned under
/api/v1/public/*. Every endpoint is auth'd via your
cvp_pub:cvp_sec credential pair, scope-gated, and cursor-paginated
where it returns a list.
Base URL
https://app.nexbasira.com/api/v1/public For self-hosted installations, swap the host with your own. Path is the same.
Sections
- Authentication — credential pair, signing scheme, scope catalog
- Pagination + idempotency — cursor pagination +
Idempotency-Keyheader - Errors + rate limits — error envelope shape,
X-RateLimit-*headers - Sessions — create, list, retrieve, end, invite
- Evidence — list, retrieve, signed download URL
- Whiteboards — list per session
- Webhook endpoints — register / rotate-secret / test-fire
- Branding — read-only on the public API; mutations via the SPA
- Org — read-only org metadata
OpenAPI schema
A filtered OpenAPI 3.1 spec (only the public-api-tagged operations)
is served at
https://app.nexbasira.com/api/public-schema/.
Use it directly with code generators:
# Node typed types
npx openapi-typescript https://app.nexbasira.com/api/public-schema/ -o src/nb-types.ts
# Python typed models
datamodel-codegen \
--url https://app.nexbasira.com/api/public-schema/ \
--input-file-type openapi \
--output-model-type pydantic_v2.BaseModel \
--output cvp_models.py
Our SDKs (@nexbasira/node + nexbasira for Python) are built on top of these
generated types and add hand-written ergonomics on top — typed errors, async-iterator
pagination, webhook-verify helpers.
API stability
The public API follows semver-by-URL-namespace. Breaking changes ship under
a new prefix (/api/v2/public/*) with at least 12 months of overlap before
the previous version is retired. Additive changes (new optional fields,
new endpoints, new event types) ship in place; the SDKs treat unknown
fields as forward-compatible.