{"manifestVersion":"1","app":{"name":"orgs","version":"1.35.3","status":"live"},"actions":[{"id":"system.orgs.admins.get.v1","title":"New (5.14): the user ids of one org’s owner and admins, for addressing a system notice. Ids only.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"orgId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["orgId"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"userIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}}},"required":["userIds"],"additionalProperties":false}},{"id":"system.orgs.context.resolve.v1","title":"One user’s org context for the token upgrade (D18) — accounts only.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"userId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"orgSlug":{"type":"string","minLength":1,"maxLength":255},"productId":{"type":"string","minLength":1,"maxLength":255}},"required":["userId","orgSlug","productId"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"context":{"type":"object","properties":{"orgId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"orgSlug":{"type":"string"},"orgEnv":{"type":"string","enum":["dev","prod"]},"productId":{"type":"string"},"membershipId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"orgRoles":{"type":"array","items":{"type":"string"}},"orgRole":{"type":"string","enum":["owner","admin","member"]},"permissions":{"type":"array","items":{"type":"string"}},"features":{"type":"array","items":{"type":"string"}},"placements":{"type":"array","items":{"type":"string"}},"groups":{"type":"array","items":{"type":"string"}}},"required":["orgId","orgSlug","orgEnv","productId","membershipId","orgRoles","orgRole","permissions","features","placements","groups"],"additionalProperties":false}},"required":["context"],"additionalProperties":false}},{"id":"system.orgs.directory.list.v1","title":"Every organisation, paged, for the accounts and billing platform consoles. Superadmin-gated there.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"cursor":{"type":"string","minLength":1,"maxLength":512},"pageSize":{"type":"integer","minimum":1,"maximum":200},"includeArchived":{"type":"boolean"}},"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"orgs":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"slug":{"type":"string"},"kind":{"type":"string"},"environment":{"type":"string"},"archivedAt":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"createdAt":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"memberCount":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["id","name","slug","kind","environment","archivedAt","createdAt","memberCount"],"additionalProperties":false}},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["orgs","nextCursor"],"additionalProperties":false}},{"id":"system.orgs.directory.update.v1","title":"Archive or restore an organisation from the platform console. Superadmin-gated there.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"idempotencyKey":{"type":"string","minLength":1,"maxLength":255},"orgId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"archived":{"type":"boolean"}},"required":["idempotencyKey","orgId","archived"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"orgId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"archived":{"type":"boolean"},"archivedAt":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["orgId","archived","archivedAt"],"additionalProperties":false}},{"id":"system.orgs.domains.get.v1","title":"One org’s verified domains, for a member of that org — mailbox suffixes, nothing else.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"orgId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"actingUserId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["orgId","actingUserId"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"domains":{"type":"array","items":{"type":"object","properties":{"domain":{"type":"string"},"verified":{"type":"boolean"}},"required":["domain","verified"],"additionalProperties":false}}},"required":["domains"],"additionalProperties":false}},{"id":"system.orgs.existing-org-ids.get.v1","title":"New (5.13): which of these organization ids still exist — ids only, never a name or slug (D3a).","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"ids":{"minItems":1,"maxItems":200,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}}},"required":["ids"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"existingIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}}},"required":["existingIds"],"additionalProperties":false}},{"id":"system.orgs.export.get.v1","title":"One named user’s orgs slice for the right of access — exactly one user id, always.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"userId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["userId"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"app":{"type":"string","const":"orgs"},"version":{"type":"string","const":"v1"},"userId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sections":{"type":"array","items":{"type":"string"}},"complete":{"type":"boolean"},"data":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}},"required":["app","version","userId","sections","complete","data"],"additionalProperties":false}},{"id":"system.orgs.identity.resolve.v1","title":"One org’s identity by slug, for accounts’ app-superadmin token mint (#435).","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"orgSlug":{"type":"string","minLength":1,"maxLength":255}},"required":["orgSlug"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"org":{"anyOf":[{"type":"object","properties":{"orgId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"orgSlug":{"type":"string"},"orgEnv":{"type":"string","enum":["dev","prod"]}},"required":["orgId","orgSlug","orgEnv"],"additionalProperties":false},{"type":"null"}]}},"required":["org"],"additionalProperties":false}},{"id":"system.orgs.managed-join-links.create.v1","title":"Single-use, sign-in-required join links an app keeps for people it admits (school: one per student). Asking again for a ref returns the link while it can still be used; a revoked or expired one, one used by someone who left, or one asked for with action replace is retired and replaced; action revoke retires it and returns no link for that ref. One user counts as the user of at most one of an app's exclusive links (the default); a link asked for with exclusive false is outside that rule, for refs whose uniqueness the app enforces itself. The acting user must be an owner or admin of the org.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"orgId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"actingUserId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"idempotencyKey":{"type":"string","minLength":1,"maxLength":255},"expiresInDays":{"type":"integer","minimum":1,"maximum":365},"links":{"minItems":1,"maxItems":200,"type":"array","items":{"type":"object","properties":{"ref":{"type":"string","minLength":1,"maxLength":200},"label":{"type":"string","minLength":1,"maxLength":120},"action":{"type":"string","enum":["replace","revoke"]},"exclusive":{"type":"boolean"}},"required":["ref","label"],"additionalProperties":false}}},"required":["orgId","actingUserId","idempotencyKey","expiresInDays","links"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"links":{"maxItems":200,"type":"array","items":{"type":"object","properties":{"ref":{"type":"string","minLength":1,"maxLength":200},"joinLinkId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"joinUrl":{"type":"string","format":"uri"}},"required":["ref","joinLinkId","joinUrl"],"additionalProperties":false}}},"required":["links"],"additionalProperties":false}},{"id":"system.orgs.managed-join-links.resolve.v1","title":"Who used each managed join link, and whether that user is still a member: the fact an app needs before it treats a person as belonging to the org. A ref the app never created is absent. An owner or admin sees every ref asked unless they ask with onlyMine. Any other member is refused unless they ask with onlyMine. With onlyMine, anyone sees only the links they used themselves — how a teacher who just joined is recognised without an admin, while a school board opened by a non-admin never reads other people as not joined.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"orgId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"actingUserId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"refs":{"minItems":1,"maxItems":200,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}},"onlyMine":{"type":"boolean"}},"required":["orgId","actingUserId","refs"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"links":{"maxItems":200,"type":"array","items":{"type":"object","properties":{"ref":{"type":"string","minLength":1,"maxLength":200},"state":{"type":"string","enum":["open","used","expired","revoked"]},"joinedUserId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]}},"required":["ref","state","joinedUserId"],"additionalProperties":false}}},"required":["links"],"additionalProperties":false}},{"id":"system.orgs.managed-placements.update.v1","title":"Set who stands in the managed groups named in groupRefs: members listed are placed in their team, managed placements in those groups that are not listed are removed. A user who is not a member is reported, never added. The acting user must be an owner or admin.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"orgId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"actingUserId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"idempotencyKey":{"type":"string","minLength":1,"maxLength":255},"groupRefs":{"minItems":1,"maxItems":200,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}},"placements":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"userId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"groupRef":{"type":"string","minLength":1,"maxLength":200},"teamRef":{"type":"string","minLength":1,"maxLength":200}},"required":["userId","groupRef","teamRef"],"additionalProperties":false}}},"required":["orgId","actingUserId","idempotencyKey","groupRefs","placements"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"placed":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"removed":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"notMembers":{"maxItems":1000,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}}},"required":["placed","removed","notMembers"],"additionalProperties":false}},{"id":"system.orgs.managed-structure.update.v1","title":"Mirror an app's own grouping into the org chart as groups and teams it manages (school: a group per class, a team per section in a year), created or renamed by ref. The acting user must be an owner or admin.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"orgId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"actingUserId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"idempotencyKey":{"type":"string","minLength":1,"maxLength":255},"groups":{"maxItems":200,"type":"array","items":{"type":"object","properties":{"ref":{"type":"string","minLength":1,"maxLength":200},"name":{"type":"string","minLength":1,"maxLength":120},"displayOrder":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["ref","name","displayOrder"],"additionalProperties":false}},"teams":{"minItems":1,"maxItems":200,"type":"array","items":{"type":"object","properties":{"ref":{"type":"string","minLength":1,"maxLength":200},"groupRef":{"type":"string","minLength":1,"maxLength":200},"name":{"type":"string","minLength":1,"maxLength":120},"displayOrder":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["ref","groupRef","name","displayOrder"],"additionalProperties":false}}},"required":["orgId","actingUserId","idempotencyKey","groups","teams"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"groups":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"teams":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["groups","teams"],"additionalProperties":false}},{"id":"system.orgs.member-scopes.get.v1","title":"New (5.08): which structure scopes a user belongs to in one org — for share grants.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"orgId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"userId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["orgId","userId"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"member":{"type":"boolean"},"branchIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"nodeIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"groupIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"teamIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}}},"required":["member","branchIds","nodeIds","groupIds","teamIds"],"additionalProperties":false}},{"id":"system.orgs.member-user-ids.get.v1","title":"The user ids that are members of one organisation right now — ids only, for a D3a sweep that marks people whose membership ended while an event was missed.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"orgId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["orgId"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"userIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}}},"required":["userIds"],"additionalProperties":false}},{"id":"system.orgs.members.list.v1","title":"New (3.04 gap): one org’s members — membership metadata only; display fields via accounts.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"cursor":{"type":"string","minLength":1,"maxLength":512},"pageSize":{"type":"integer","minimum":1,"maximum":200},"orgId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"actingUserId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["orgId","actingUserId"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"members":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"userId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"role":{"type":"string","enum":["owner","admin","member"]},"createdAt":{"type":"string"}},"required":["id","userId","role","createdAt"],"additionalProperties":false}},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["members","nextCursor"],"additionalProperties":false}},{"id":"system.orgs.membership-periods.list.v1","title":"One organisation’s membership stints, oldest first: who was a member, from when to when, how it ended and the built-in role they held at the end — never the reason and never who ended it. With an acting user, that user must currently hold orgs:member:manage in the organisation. Without one, only school is answered (its reconcile and departure re-check run with no user). from and to select stints overlapping that range; a user id that was never in this organisation yields nothing, not an error.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"cursor":{"type":"string","minLength":1,"maxLength":512},"pageSize":{"type":"integer","minimum":1,"maximum":200},"orgId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"actingUserId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"userIds":{"minItems":1,"maxItems":200,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"from":{"type":"integer","minimum":0,"maximum":9007199254740991},"to":{"type":"integer","minimum":0,"maximum":9007199254740991},"state":{"type":"string","enum":["open","closed","any"]}},"required":["orgId"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"periods":{"maxItems":200,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"memberId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"userId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"userErased":{"type":"boolean"},"joinedAt":{"type":"integer","minimum":0,"maximum":9007199254740991},"joinKind":{"type":"string","enum":["org_created","direct","import","join_link","join_request","merge","backfill"]},"leftAt":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"endKind":{"anyOf":[{"type":"string","enum":["removed","left","account_deleted","merged"]},{"type":"null"}]},"roleAtEnd":{"anyOf":[{"type":"string","enum":["owner","admin","member"]},{"type":"null"}]},"mergedIntoPeriodId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]}},"required":["id","memberId","userId","userErased","joinedAt","joinKind","leftAt","endKind","roleAtEnd","mergedIntoPeriodId"],"additionalProperties":false}},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["periods","nextCursor"],"additionalProperties":false}},{"id":"system.orgs.memberships.list.v1","title":"The orgs one user belongs to, for that app’s org picker. Archived orgs are hidden.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"cursor":{"type":"string","minLength":1,"maxLength":512},"pageSize":{"type":"integer","minimum":1,"maximum":200},"userId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["userId"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"orgs":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"slug":{"type":"string"},"kind":{"type":"string"},"role":{"type":"string","enum":["owner","admin","member"]}},"required":["id","name","slug","kind","role"],"additionalProperties":false}},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["orgs","nextCursor"],"additionalProperties":false}},{"id":"system.orgs.my-managed-join-links.get.v1","title":"The refs of one kind of the app's managed join links that the acting user used and still holds membership through — the question an app asks to recognise a person who just joined, without naming every ref it holds. Anyone may ask, and only about themselves; a non-member gets an empty list. Refused above the cap rather than truncated.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"orgId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"actingUserId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"kind":{"type":"string","enum":["student","staff"]}},"required":["orgId","actingUserId","kind"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"refs":{"maxItems":200,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}}},"required":["refs"],"additionalProperties":false}},{"id":"system.orgs.my-membership-periods.get.v1","title":"The acting user’s own membership stints in every organisation, current and ended, newest first: the organisation’s name and slug, the dates, how it ended, the reason they were given, the role they held at the end and each role change during the stint. No membership is needed — the person has usually left. Whether they ended it or changed a role themselves is a flag; no other person’s id is ever returned. Refused above the cap rather than truncated.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"actingUserId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"orgId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["actingUserId"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"periods":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"orgId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"orgName":{"type":"string"},"orgSlug":{"type":"string"},"joinedAt":{"type":"integer","minimum":0,"maximum":9007199254740991},"joinKind":{"type":"string","enum":["org_created","direct","import","join_link","join_request","merge","backfill"]},"leftAt":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"endKind":{"anyOf":[{"type":"string","enum":["removed","left","account_deleted","merged"]},{"type":"null"}]},"endedBySelf":{"type":"boolean"},"endReason":{"anyOf":[{"type":"string"},{"type":"null"}]},"roleAtEnd":{"anyOf":[{"type":"string","enum":["owner","admin","member"]},{"type":"null"}]},"roleEvents":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"occurredAt":{"type":"integer","minimum":0,"maximum":9007199254740991},"kind":{"type":"string","enum":["builtin_set","custom_granted","custom_revoked"]},"roleFrom":{"anyOf":[{"type":"string","enum":["owner","admin","member"]},{"type":"null"}]},"roleTo":{"anyOf":[{"type":"string","enum":["owner","admin","member"]},{"type":"null"}]},"orgRoleName":{"anyOf":[{"type":"string"},{"type":"null"}]},"bySelf":{"type":"boolean"}},"required":["occurredAt","kind","roleFrom","roleTo","orgRoleName","bySelf"],"additionalProperties":false}}},"required":["id","orgId","orgName","orgSlug","joinedAt","joinKind","leftAt","endKind","endedBySelf","endReason","roleAtEnd","roleEvents"],"additionalProperties":false}}},"required":["periods"],"additionalProperties":false}},{"id":"system.orgs.names.list.v1","title":"Org id → name/slug for ids the caller holds. Id, name and slug only — nothing more.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"cursor":{"type":"string","minLength":1,"maxLength":512},"pageSize":{"type":"integer","minimum":1,"maximum":200},"orgIds":{"minItems":1,"maxItems":200,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}}},"required":["orgIds"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"orgs":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"slug":{"type":"string"}},"required":["id","name","slug"],"additionalProperties":false}},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["orgs","nextCursor"],"additionalProperties":false}},{"id":"system.orgs.pending-requests.get.v1","title":"Organisation requests awaiting a platform decision — the accounts notification page.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"requests":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"kind":{"type":"string"},"requesterUserId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdAt":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["id","name","kind","requesterUserId","createdAt"],"additionalProperties":false}}},"required":["requests"],"additionalProperties":false}},{"id":"system.orgs.permissions.resolve.v1","title":"What a set of custom org roles grants in one org — the orgs:-only filter stays in orgs (golden rule 1).","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"orgId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"roleIds":{"maxItems":50,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"entitledAppSlugs":{"maxItems":200,"type":"array","items":{"type":"string","minLength":1}}},"required":["orgId","roleIds","entitledAppSlugs"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"permissions":{"type":"array","items":{"type":"string"}},"knownRoleIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}}},"required":["permissions","knownRoleIds"],"additionalProperties":false}},{"id":"system.orgs.placements.get.v1","title":"One org’s member_branch placements — who stands where (#767 / Q42).","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"orgId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"actingUserId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"memberId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["orgId","actingUserId"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"placements":{"type":"array","items":{"type":"object","properties":{"memberId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"userId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"branchId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"nodeId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"isPrimary":{"type":"boolean"},"title":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["memberId","userId","branchId","nodeId","isPrimary","title"],"additionalProperties":false}}},"required":["placements"],"additionalProperties":false}},{"id":"system.orgs.structure.get.v1","title":"New (3.04 gap): one org’s branches, nodes, groups and teams — the whole tree, once.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"orgId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"actingUserId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["orgId","actingUserId"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"branches":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"parentId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"name":{"type":"string"},"displayOrder":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","parentId","name","displayOrder"],"additionalProperties":false}},"nodes":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"parentId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"name":{"type":"string"},"displayOrder":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"nodeType":{"type":"string"}},"required":["id","parentId","name","displayOrder","nodeType"],"additionalProperties":false}},"groups":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"parentId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"name":{"type":"string"},"displayOrder":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","parentId","name","displayOrder"],"additionalProperties":false}},"teams":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"parentId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"name":{"type":"string"},"displayOrder":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","parentId","name","displayOrder"],"additionalProperties":false}}},"required":["branches","nodes","groups","teams"],"additionalProperties":false}},{"id":"system.orgs.wellknown.capabilities.v1","title":"The orgs capabilities manifest: metadata, callable actions with schemas, public routes, emitted events, and model field catalogs. Public metadata only — a manifest never carries tenant rows.","route":"/.well-known/capabilities","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"manifestVersion":{"type":"string","const":"1"},"app":{"type":"object","properties":{"name":{"type":"string","pattern":"^[a-z0-9]+(-[a-z0-9]+)*$"},"version":{"type":"string","minLength":1},"status":{"type":"string","enum":["live","degraded"]}},"required":["name","version","status"],"additionalProperties":false},"actions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^system\\.[a-z0-9]+(-[a-z0-9]+)*\\.[a-z0-9]+(-[a-z0-9]+)*\\.[a-z0-9]+(-[a-z0-9]+)*\\.v[1-9][0-9]*$"},"title":{"type":"string","minLength":1},"route":{"type":"string","pattern":"^\\/"},"inputSchema":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"outputSchema":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}},"required":["id","title","inputSchema","outputSchema"],"additionalProperties":false}},"functionalities":{"type":"object","properties":{"publicRoutes":{"type":"array","items":{"type":"string","pattern":"^\\/"}},"auth":{"type":"object","properties":{"issuer":{"type":"string","format":"uri"},"authorizationEndpoint":{"type":"string","format":"uri"},"tokenEndpoint":{"type":"string","format":"uri"},"jwksUri":{"type":"string","format":"uri"}},"required":["issuer"],"additionalProperties":false},"webhooks":{"type":"array","items":{"type":"string","minLength":1}}},"required":["publicRoutes","webhooks"],"additionalProperties":false},"events":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","pattern":"^[a-z0-9][a-z0-9.-]*[a-z0-9]$"},"title":{"type":"string","minLength":1},"schema":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}},"required":["name","title","schema"],"additionalProperties":false}},"models":{"type":"object","propertyNames":{"type":"string","minLength":1},"additionalProperties":{"type":"object","properties":{"title":{"type":"string","minLength":1},"schema":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"excluded":{"type":"array","items":{"type":"string","minLength":1}}},"required":["title","schema","excluded"],"additionalProperties":false}}},"required":["manifestVersion","app","actions","functionalities","events"],"additionalProperties":false}},{"id":"system.orgs.wellknown.org-domain.v1","title":"Verified domain → organization id. Verified claims only, or a domain could be captured.","route":"/api/well-known/org-domain","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"domain":{"type":"string","minLength":1,"maxLength":255}},"required":["domain"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"organizationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["organizationId"],"additionalProperties":false}}],"functionalities":{"publicRoutes":["/join/$token"],"webhooks":[]},"events":[{"name":"orgs.member.changed","title":"orgs: member changed","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"orgId":{"type":"string","minLength":1},"userId":{"type":"string","minLength":1},"change":{"type":"string","enum":["added","removed","roles_changed"]},"changedAt":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"snapshot":{"anyOf":[{"type":"object","properties":{"memberId":{"type":"string","minLength":1},"role":{"type":"string","minLength":1},"joinedAt":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"placements":{"type":"array","items":{"type":"object","properties":{"branchId":{"type":"string","minLength":1},"nodeId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"isPrimary":{"type":"boolean"},"title":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["branchId","nodeId","isPrimary","title"],"additionalProperties":false}},"groups":{"type":"array","items":{"type":"object","properties":{"groupId":{"type":"string","minLength":1},"teamId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"contextNodeId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"title":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["groupId","teamId","contextNodeId","title"],"additionalProperties":false}}},"required":["memberId","role","joinedAt","placements","groups"],"additionalProperties":false},{"type":"null"}]},"periodId":{"type":"string","minLength":1},"actorUserId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"endKind":{"type":"string","enum":["removed","left","account_deleted","merged"]},"mergedIntoPeriodId":{"type":"string","minLength":1}},"required":["orgId","userId","change","changedAt"],"additionalProperties":false}},{"name":"orgs.organization.changed","title":"orgs: organization changed","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"orgId":{"type":"string","minLength":1},"change":{"type":"string","enum":["archived","unarchived","environment_changed"]},"changedAt":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["orgId","change","changedAt"],"additionalProperties":false}},{"name":"orgs.organization.deleted","title":"orgs: organization deleted","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"orgId":{"type":"string","minLength":1},"deletedAt":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["orgId","deletedAt"],"additionalProperties":false}},{"name":"orgs.audit.recorded","title":"orgs: audit recorded","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"eventId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"occurredAt":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"orgId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"actorUserId":{"anyOf":[{"type":"string","minLength":1,"maxLength":255},{"type":"null"}]},"actorKind":{"type":"string","enum":["user","api_key","service","system"]},"action":{"type":"string","minLength":1,"maxLength":160},"targetKind":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}]},"targetId":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}]},"outcome":{"type":"string","enum":["success","failure"]},"ip":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}]},"userAgent":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}]},"requestId":{"anyOf":[{"type":"string","maxLength":128},{"type":"null"}]},"metadata":{"anyOf":[{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}},{"type":"null"}]}},"required":["eventId","occurredAt","orgId","actorUserId","actorKind","action","targetKind","targetId","outcome","ip","userAgent","requestId","metadata"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}}}],"models":{"organization":{"title":"Organisation fields safe to show to workflow builders","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"slug":{"type":"string"},"kind":{"type":"string"},"environment":{"type":"string"},"archivedAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","name","slug","kind","environment","archivedAt","description","createdAt","updatedAt"],"additionalProperties":false},"excluded":["metadata","metadataTypes","logo","cover","createdBy"]},"branch":{"title":"Branch fields safe to show to workflow builders","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"slug":{"type":"string"},"isDefault":{"type":"boolean"},"displayOrder":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"deletedAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","name","slug","isDefault","displayOrder","deletedAt","createdAt","updatedAt"],"additionalProperties":false},"excluded":["organizationId","permVersion"]},"node":{"title":"Structure node fields safe to show to workflow builders","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"branchId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"parentId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"nodeType":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string"},"depth":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"displayOrder":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","branchId","parentId","nodeType","name","slug","depth","displayOrder","createdAt","updatedAt"],"additionalProperties":false},"excluded":["organizationId","permVersion"]},"group":{"title":"Group fields safe to show to workflow builders","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"slug":{"type":"string"},"kind":{"type":"string"},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"branchId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"nodeId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"displayOrder":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","name","slug","kind","description","branchId","nodeId","displayOrder","createdAt","updatedAt"],"additionalProperties":false},"excluded":["organizationId","managedBy","externalRef","permVersion"]},"team":{"title":"Team fields safe to show to workflow builders","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"groupId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"slug":{"type":"string"},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"displayOrder":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","groupId","name","slug","description","displayOrder","createdAt","updatedAt"],"additionalProperties":false},"excluded":["organizationId","managedBy","externalRef","permVersion"]},"role":{"title":"Custom role fields safe to show to workflow builders","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","name","description","createdAt","updatedAt"],"additionalProperties":false},"excluded":["organizationId","createdBy","permVersion"]}}}