AUTH_MODE.
Roles group permissions together. Users can belong to multiple roles. All permissions across all of a user’s roles are combined.
User endpoints:
External identities
If your application or organization already has its own auth system or identity provider, link those identities to Sinas users. An identity is a(provider, subject) pair — e.g. provider acme-app with your application’s stable user id as subject. A user can hold multiple identities.
GET /api/v1/users/by-identity?provider=acme-app&subject=usr_8f3a2.
Use stable identifiers as subjects (an internal user id, an OIDC sub claim) — not email addresses, which can change at the provider.
Custom fields
Attach org-specific profile data to users with the free-formcustom_fields object:
custom_fields is owned by Sinas admins and is never overwritten by identity sync (identity metadata is, on every sync).
Custom fields are also returned by GET /auth/me, so an external service holding a user’s Sinas token can read them without admin permissions — treat /auth/me as Sinas’s userinfo endpoint. Don’t store values in custom fields that the user themselves shouldn’t see.
Declarative config
Users, identities, and custom fields can be provisioned via YAML:identities list is the full desired set: identities removed from the config are unlinked on apply.
Role endpoints: See Managing Roles.