> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ghosting.fun/llms.txt
> Use this file to discover all available pages before exploring further.

# Schema User: estrutura do objeto de perfil Ghosting

> Documentação completa do schema User da API Ghosting. Conheça todos os campos do objeto de perfil, incluindo dados pessoais, selos, redes sociais e informações de moderação.

O schema `User` representa o objeto principal retornado no campo `data` da API Ghosting. Ele contém todas as informações públicas de um perfil, desde dados básicos como nome de exibição e biografia até metadados de moderação e selos de verificação. Use esta referência para mapear corretamente os campos em integrações, bots e dashboards.

## Campos do schema User

<ResponseField name="username" type="string" required>
  Nome de usuário único do perfil, sem o caractere `@`. Case-insensitive.
</ResponseField>

<ResponseField name="displayName" type="string" required>
  Nome de exibição público do usuário. Pode conter espaços, emojis e caracteres especiais.
</ResponseField>

<ResponseField name="bio" type="string" required>
  Biografia ou descrição pública do perfil.
</ResponseField>

<ResponseField name="avatarUrl" type="string (URL)" required>
  URL direta para o avatar do perfil. Geralmente no formato `https://ghosting.fun/api/avatar?u={username}`.
</ResponseField>

<ResponseField name="pageUrl" type="string (URL)" required>
  URL da página pública do perfil. Usa domínio próprio quando configurado, caso contrário usa `https://ghosting.fun/p/{username}`.
</ResponseField>

<ResponseField name="hasCustomDomain" type="boolean" required>
  Indica se o perfil possui um domínio personalizado configurado.
</ResponseField>

<ResponseField name="customDomain" type="string | null" required>
  Domínio personalizado do perfil (ex: `meusite.com`), ou `null` se não houver.
</ResponseField>

<ResponseField name="accountAgeDays" type="number" required>
  Idade da conta em dias, calculada a partir da data de criação.
</ResponseField>

<ResponseField name="createdAt" type="string (ISO 8601)" required>
  Data e hora de criação da conta no formato ISO 8601 (ex: `2026-04-15T12:00:00.000Z`).
</ResponseField>

<ResponseField name="views" type="number" required>
  Contador total de visualizações da página do perfil.
</ResponseField>

<ResponseField name="badges" type="object" required>
  Objeto contendo os selos de verificação e cargos do perfil. Veja o schema [Badges](/schemas/badges) para detalhes.
</ResponseField>

<ResponseField name="avatarDecoration" type="object | null" required>
  Moldura animada do avatar, ou `null` se o perfil não possuir uma. Veja o schema [AvatarDecoration](/schemas/avatar-decoration) para detalhes.
</ResponseField>

<ResponseField name="socials" type="array" required>
  Lista de links de redes sociais vinculados ao perfil. Veja o schema [Socials](/schemas/socials) para detalhes.
</ResponseField>

<ResponseField name="status" type="string" required>
  Status da conta. Valores possíveis: `"active"` (ativa) ou `"suspended"` (suspensa).
</ResponseField>

<ResponseField name="banInfo" type="object" required>
  Informações de moderação e suspensão da conta. Veja o schema [BanInfo](/schemas/ban-info) para detalhes.
</ResponseField>

## Exemplo JSON

```json theme={null}
{
  "success": true,
  "data": {
    "username": "ghosting",
    "displayName": "Ghosting Oficial",
    "bio": "Desenvolvedor & Criador de Conteúdo. Criando experiências digitais no Ghosting.",
    "avatarUrl": "https://ghosting.fun/api/avatar?u=ghosting",
    "pageUrl": "https://ghosting.fun/p/ghosting",
    "hasCustomDomain": false,
    "customDomain": null,
    "accountAgeDays": 140,
    "createdAt": "2026-04-15T12:00:00.000Z",
    "views": 32890,
    "badges": {
      "isVerified": true,
      "isOfficial": true,
      "isHelper": true,
      "list": ["official", "verified", "helper"]
    },
    "avatarDecoration": {
      "id": "spirit_embers",
      "name": "Spirit Embers",
      "file": "spirit_embers.png",
      "url": "https://ghosting.fun/api/decoration?f=spirit_embers.png"
    },
    "socials": [
      {
        "platform": "discord",
        "url": "https://discord.gg/vkWVxrd9Bn"
      },
      {
        "platform": "github",
        "url": "https://github.com/ihyos/PAYLINK"
      },
      {
        "platform": "steam",
        "url": "https://steamcommunity.com/id/ghosting"
      }
    ],
    "status": "active",
    "banInfo": {
      "isBanned": false,
      "message": null,
      "reason": null,
      "bannedAt": null
    }
  },
  "meta": {
    "timestamp": "2026-09-06T18:00:00.000Z",
    "version": "v1",
    "executionTimeMs": 6
  }
}
```

## Sub-schemas relacionados

<CardGroup cols={2}>
  <Card title="BanInfo" href="/schemas/ban-info">
    Status de moderação, suspensões e motivos de banimento.
  </Card>

  <Card title="Badges" href="/schemas/badges">
    Selos de verificação, cargos oficiais e helpers.
  </Card>

  <Card title="AvatarDecoration" href="/schemas/avatar-decoration">
    Molduras animadas para avatares via CDN.
  </Card>

  <Card title="Socials" href="/schemas/socials">
    Links de redes sociais vinculados ao perfil.
  </Card>
</CardGroup>
