Skip to main content

Unioo Boards External API

Welcome to the documentation for the Unioo Boards External API. This is a GraphQL API that exposes board-management data and operations — the organization (board) you authenticate as, its members, and the events the board hosts (with ticket specifications, ticket holders, and inspectors).

What's here

  • Authentication — how to obtain a JWT and call the API.
  • Concepts — domain-by-domain reference (organizations, members, events, tickets).
  • Guides — task-oriented walkthroughs with runnable code examples for both reads and writes.
  • Workflows — end-to-end recipes that combine multiple steps (set up an event, configure tickets, assign inspectors, monitor sales).
  • Schema reference (coming soon) — auto-generated from the GraphQL schema.

Endpoint

All requests go to a single GraphQL endpoint:

POST /graphql

Authentication is via a Bearer JWT in the Authorization header. See Authentication for how to obtain one.

Scopes at a glance

The API has three feature scopes — organization, members, and events. Each API key is provisioned with a subset, and every scope is split into :read and :write permissions. A members:read claim lets you list members; events:write lets you mutate events. Authentication itself is anonymous (no scope required).

If a query or mutation rejects with an authorization error, your API key probably wasn't issued the corresponding scope — get it adjusted via Unioo before retrying.

Multi-tenancy

Every query is scoped to the organization on your JWT automatically — the organizationId claim baked into the token at authentication time. You can't (and don't need to) pass an organizationId argument anywhere; you only ever see your own organization's data.

Explore the schema

Beyond the curated pages here, you can always open /graphql in your browser to load Nitro (Hot Chocolate's built-in GraphQL IDE). It exposes the full schema with autocomplete, type-by-type browsing, and query history — useful for poking at fields and types that aren't yet covered in these docs. Paste your JWT into the Connection Settings → HTTP Headers as { "Authorization": "Bearer …" } to run authenticated queries.