Member Junction
    Preparing search index...

    Interface APIKeyActingContext

    Per-request acting context for an API-key session, carried on UserInfo. Consumed by API-key-scoped RLS filters via the {{Acting*}} tokens in RowLevelSecurityFilterInfo.MarkupFilterText.

    TRUST BOUNDARY: these values MUST be derived server-side from an authenticated identity. The engine binds what it is given and cannot validate provenance — never populate from a client-supplied header, argument, or GraphQL variable, and never expose via a resolver. A client-settable acting context is a total bypass of API-key row filtering.

    Cardinality is a one-way door, decided per token at registration: the three scalar tokens are scalar forever (moving to a set later changes the token's shape and breaks every filter authored against it), and ActingCompanyIDs is list-capable from day one for exactly that reason.

    interface APIKeyActingContext {
        ActingCompanyIDs?: string[];
        ActingOrganizationID?: string;
        ActingPersonID?: string;
        ActingScopeID?: string;
    }
    Index

    Properties

    ActingCompanyIDs?: string[]

    Companies the caller is acting for — LIST-capable. Renders inside Col IN ({{ActingCompanyIDs}}) as a sorted, per-element-validated, quoted and escaped list; an empty or absent set resolves the whole filter to (1=0) (match nothing), same as any unresolved token.

    ActingOrganizationID?: string

    Organization / tenant the caller is acting on behalf of (GUID, scalar forever).

    ActingPersonID?: string

    Person / contact the caller is acting on behalf of (GUID, scalar forever).

    ActingScopeID?: string

    Opaque per-integration scope value (bounded identifier, scalar forever).