# Assignary > The assigner's system of record — schedule and coverage, legible to agents. Assignary staffs officials onto events. The three console views that render schedule and coverage — the console, offers and roster — each emit their machine surfaces alongside the rendered page: inline schema.org JSON-LD, a copy-as-API affordance (curl / python / ts against the typed tRPC read surface), and a shareable deep link. They appear once an association is selected, which is when there is data to describe. Schedule and coverage state are readable straight from the DOM and reproducible from the API without operating the UI — there is no 'API mode' to switch on. ## Principles `deep-links` is that a view's whole state is addressable as a URL, so a link reproduces what somebody is looking at. `copy-as-api` is that the query a view rendered is handed over as runnable curl, python and TypeScript. `data-behind-viz` is that what a view draws is published beside it as JSON-LD rather than being readable only as pixels. The views that carry them are named above, and the two that deliberately carry none are named under Copy as API. ## When to call this API It answers: - one organization's schedule, crew coverage and open seats, for a caller who is a member of it - why a named official cannot take a named seat — the eligibility reasons and the drive, per open position - the caller's own offers, accepted assignments and calendar file - the caller's own side of a chapter: their roster row, their availability, their payouts, and whether they can be paid yet - the roster of an organization: who is certified, and who has claimed their row - how much of the standing-check ceiling a chapter's issued credentials have spent, by day, so a caller budgeting checks reads the number before it is refused rather than after It does not answer: - any organization the caller is not a member of: a read naming an `organizationId` is answered from their role in it, and `org.listMine` returns only the ones they belong to - a credential an unattended caller can obtain for itself — see /auth.md: a Cognito token needs an interactive sign-in, and a capability token is issued deliberately by an assigner who is accountable for what it does, cut for one chapter, and unable to mint one wider than itself - an assigner's settlement detail from this manifest's read list, which is curated to an official's own view of a chapter: `pay.mine` answers the caller about their own payouts and nothing about anyone else's. The chapter-wide figures are not missing from the API — `pay.quoteWeekend` and `pay.settled` are queries the OpenAPI document at /api/openapi.json describes, each requiring `org:manage` — they are absent from here, and the console view that renders them emits none of the three machine surfaces - public or anonymous data of any kind: there is one procedure callable without a token, and it resolves an invite. A person's calendar feed at /api/calendar/.ics is not a procedure and is not anonymous — the secret in its path is its credential, a person makes it from their own account screen and no issued credential can, and it answers only whoever holds that link - a payment an agent can make: settling a chapter's weekend ends in a Stripe Checkout session somebody completes in a browser, so `pay.settleWeekend` and `pay.confirmCheckout` are absent from `act[]` and this surface advertises no payment protocol. What would add one is a chapter asking to settle unattended; until one asks, authorising the charge is a person's ## Deep-link grammar Application state is fully addressable from `/`. A malformed link degrades to defaults rather than erroring — the deep-link grammar is the app's state machine. Parameters: - `org` — uuid; the organization whose schedule and coverage to view - `event` — uuid; an event on the console — shows its crew coverage Examples: - `/?org=` - `/?org=&event=` - `/offers?org=` - `/roster?org=` - `/roster?org=&event=` ## Copy as API The console, offers and roster views expose runnable client snippets (curl, python, TypeScript) for the queries they render, plus a citation and a deep link. Settle and account render queries and deliberately emit neither. ## Machine-readable - [Manifest](/.well-known/assignary.json): the capability declaration for this surface - [llms.txt](/llms.txt): this file - [Sitemap](/sitemap.xml): every addressable path, including these two - [OpenAPI 3.1](/api/openapi.json): every procedure, its input schema and the auth it requires - [API catalog](/.well-known/api-catalog): RFC 9727, where a caller looks before guessing — it names this surface's API description, its auth metadata and this file - [Getting a token](/auth.md): the credential flow end to end — what is automatable, and what needs a person - [MCP server card](/.well-known/mcp/server-card.json): the same procedures as MCP tools over Streamable HTTP, at /api/mcp, behind the same bearer