Sporades SDK API
    Preparing search index...

    Type Alias TeamsApi

    Built-in current-user Team operations over the standard client transport.

    type TeamsApi = {
        create(name: string): Promise<SporadesResult<TeamMutationResult>>;
        createJoinLink(
            teamId: string,
            email: string,
            options?: { ttlSeconds?: number },
        ): Promise<SporadesResult<TeamJoinLinkCreateResult>>;
        delete(teamId: string): Promise<SporadesResult<{ deleted: true }>>;
        demote(
            teamId: string,
            userId: string,
        ): Promise<SporadesResult<{ updated: true }>>;
        inspectJoinLink(
            code: string,
        ): Promise<SporadesResult<TeamJoinLinkInspection>>;
        join(code: string): Promise<SporadesResult<TeamMutationResult>>;
        leave(teamId: string): Promise<SporadesResult<{ left: true }>>;
        list(): Promise<SporadesResult<TeamsListResult>>;
        listJoinLinks(
            teamId: string,
        ): Promise<SporadesResult<TeamJoinLinksListResult>>;
        listMembers(teamId: string): Promise<SporadesResult<TeamMembersListResult>>;
        promote(
            teamId: string,
            userId: string,
        ): Promise<SporadesResult<{ updated: true }>>;
        removeMember(
            teamId: string,
            userId: string,
        ): Promise<SporadesResult<{ removed: true }>>;
        rename(
            teamId: string,
            name: string,
        ): Promise<SporadesResult<TeamMutationResult>>;
        revokeJoinLink(
            teamId: string,
            joinLinkId: string,
        ): Promise<SporadesResult<{ revoked: true }>>;
        updateApplicationRoles(
            teamId: string,
            userId: string,
            changes: TeamApplicationRoleChanges,
        ): Promise<SporadesResult<{ updated: true }>>;
        validateJoinLink(
            code: string,
        ): Promise<SporadesResult<TeamJoinLinkValidation>>;
    }
    Index
    • Creates a short-lived, email-bound Join link. Sporades returns it but never sends it. The default lifetime is 86400 seconds; accepted integer lifetimes are 300 through 604800 seconds.

      Parameters

      • teamId: string
      • email: string
      • Optionaloptions: { ttlSeconds?: number }

      Returns Promise<SporadesResult<TeamJoinLinkCreateResult>>

    • Deletes a Team only when the caller is its sole remaining admin member.

      Parameters

      • teamId: string

      Returns Promise<SporadesResult<{ deleted: true }>>

    • Demotes an admin only when another committed Team admin remains.

      Parameters

      • teamId: string
      • userId: string

      Returns Promise<SporadesResult<{ updated: true }>>

    • Leaves an explicitly identified Team only while the caller is an ordinary member.

      Parameters

      • teamId: string

      Returns Promise<SporadesResult<{ left: true }>>

    • Promotes an ordinary member in an explicitly identified Team the caller currently administers.

      Parameters

      • teamId: string
      • userId: string

      Returns Promise<SporadesResult<{ updated: true }>>

    • Removes another Team member and their runtime-owned membership authority. Self-removal uses leave().

      Parameters

      • teamId: string
      • userId: string

      Returns Promise<SporadesResult<{ removed: true }>>

    • Idempotently revokes one unused Join link in an administered Team.

      Parameters

      • teamId: string
      • joinLinkId: string

      Returns Promise<SporadesResult<{ revoked: true }>>