Vairified TypeScript SDK - v0.3.1
    Preparing search index...

    Class MembersResource

    Member operations — get a single member, auto-paginating search, find by name, and polling for rating change notifications.

    Index

    Methods - Members

    Methods - Other

    Methods - Members

    • Fetch up to 100 members by their member IDs in one call.

      Unknown IDs are silently omitted — the returned array may be shorter than the input. Results are returned in the same order as the input IDs.

      Parameters

      • ids: number[]

        Array of integer member IDs (max 100).

      • Optionaloptions: { sport?: string }

        Optional filters.

        • Optionalsport?: string

          Sport code to scope ratings (e.g. 'pickleball').

      Returns Promise<Member[]>

      Array of Member instances.

      ValidationError If more than 100 IDs are provided.

      const members = await client.members.getBulk([4873327, 4873328]);
      for (const m of members) {
      console.log(m.name, m.ratingFor('pickleball'));
      }

    Methods - Other

    • Get a connected member by external ID.

      Requires an active OAuth connection between your partner app and the player. Use the OAuth flow on client.oauth first.

      Parameters

      • playerId: string

        External player ID in vair_mem_xxx format.

      • options: { sport?: string | readonly string[] } = {}
        • Optionalsport?: string | readonly string[]

          Optional sport filter — single code or list. When omitted, the response contains every sport the player has ratings in.

      Returns Promise<Member>

      NotFoundError if the external ID is unknown.

      VairifiedError if the player has not connected to your app (403) or the request otherwise fails.

      const member = await client.members.get('vair_mem_xxx');
      console.log(member.name, member.ratingFor('pickleball'));

      // Just pickleball
      const member2 = await client.members.get('vair_mem_xxx', { sport: 'pickleball' });

      // Multiple sports
      const member3 = await client.members.get('vair_mem_xxx', {
      sport: ['pickleball', 'padel'],
      });
    • Search for members, yielding each match as a Member.

      This is an auto-paginating async iterator — it fetches pages from the server lazily as you iterate, so you can stream through thousands of results without holding them all in memory:

      for await (const m of client.members.search({ city: 'Austin' })) {
      console.log(m.name, m.ratingFor('pickleball'));
      }

      Stop early by break-ing out of the loop, or cap the total with maxResults.

      Parameters

      Returns AsyncGenerator<Member, void, void>

    • Return the first search hit for a name, or null.

      Convenience for the common "look up by name" case:

      const mike = await client.members.find('Mike Barker');
      if (mike) {
      console.log(mike.ratingFor('pickleball'));
      }

      Parameters

      • name: string

      Returns Promise<Member | null>

    • Poll for rating change notifications.

      Returns a list of RatingUpdate objects for every player whose rating has changed since the last poll. Members are considered subscribed when they have an active OAuth connection with the user:webhook:subscribe scope.

      Returns Promise<readonly RatingUpdate[]>