> [!WARNING] Alpha
> The Vocdoni API is in **alpha**. Endpoints, fields and responses may still change between versions. Build against it for evaluation and early integration, and check the [OpenAPI specification](https://vocdoni.github.io/saas-backend/swagger.yaml) for the current contract.

## Who this is for

These docs are written for **integrators**: developers who add voting to their own software. The
SaaS API is shaped for a multi-tenant model - you provision one **managed organization per customer**
and run everything inside it with your integrator key, so your customers never need a Vocdoni account.
Every example is shown in **bash + curl**, with **.NET (C#)** and **Python** variants.

## How the API fits together

Most integrations follow the same path. Each step maps to a small group of endpoints documented here.

- **Organization** - the tenant that owns members, groups, processes and API keys. Everything is
  scoped to an organization address; as an integrator you create one managed org per customer.
- **Members and groups** - the people in an organization, and named subsets of them. Import them once,
  then reuse them across many elections.
- **Census** - who can vote and *how* they authenticate. It is declared inline in a process, not built
  and published separately.
- **Process** - one authoring call that carries shared settings, an inline census, and one or more
  questions; each question becomes its own on-chain election. Create it as a draft, then publish.
- **Results** - live or final tallies, one per question, that anyone can verify against the protocol.

> [!TIP] Heavy work runs asynchronously
> Bulk member imports, process publishing and status changes can take time, so they return a job id you
> poll until completion. See [Jobs](/developers/docs/jobs) for the pattern.

## Two ways to integrate

Most teams use the REST API documented here, which handles organizations, members, censuses, processes
and results for you. Casting a ballot is voter-facing cryptography that runs client-side in the
voter's browser via the TypeScript SDK. See [SDKs and tools](/developers/docs/sdks-and-tools) for when
to use each.
