---
title: "openvibe-sdk/user-card · OpenVibe.Services"
canonical: "https://openvibe.services/docs/sdk/user-card"
updated: null
---

# openvibe-sdk/user-card · OpenVibe.Services

HTML: [openvibe-sdk/user-card · OpenVibe.Services](https://openvibe.services/docs/sdk/user-card)

# `openvibe-sdk/user-card`

Generated at 2026-11-13 06:25:48 UTC from [`openvibe-contracts v0.419.0`](https://github.com/OpenVibers/OpenVibe.Contracts/tree/v0.419.0) and [`openvibe-sdk v0.161.0`](https://github.com/OpenVibers/OpenVibe.SDK/tree/v0.161.0).

From `types/user-card.d.ts` (both). Declarations are shown verbatim.

## interface UserCard

An omitted field is hidden or unavailable, never an implied zero/offline state.

~~~~
export interface UserCard {
    username: string;
    profile_url: string;
    display_name?: string;
    avatar_url?: string;
    channel_url?: string;
    live?: { now: false } | { now: true; site: 'live'; url: string };
    /** Network's global level (the level shown by Quest). */
    level?: number;
    /** Consecutive completed daily quests, using the person's chosen time zone. */
    streak?: number;
    badges_count?: number;
    followers?: number;
    /** Explicit opt-in; site names only, from the last seven days of Network history. */
    active_sites?: Array<{ id: string; name: string; url: string }>;
}
~~~~

## interface UserCardClient

~~~~
export interface UserCardClient {
    get(username: string, options?: { signal?: AbortSignal }): Promise<UserCard>;
}
~~~~

## export export function createUserCardClient(client: OpenVibeClient,

Public read, without Bearer credentials or cookies. Disabled owner switch returns HTTP 503.

~~~~
export function createUserCardClient(client: OpenVibeClient, options?: { baseUrl?: string }): UserCardClient;
~~~~
