Documentação da API

Descrição

API Principal: `/api/stats`

Informações Gerais

Método: GET
Autenticação: Requer usuário cadastrado no sistema (OAuth GitHub)
Rate Limit:
  • Premium: 1000 requisições/minuto
Formato de Resposta: image/svg+xml

Parâmetros Query String

ParâmetroTipoPadrãoDescriçãoValores
usernamestring-Nome de usuário do GitHubAlfanumérico, hífen, underscore (max 50 chars)
typestringstatsTipo de card a gerarstats, repos-list👑, top-repos👑, languages👑, commits👑, repo👑
themestringdarkTema visual do carddark, light, radical, neon, cyber, tanjiro👑, zenitsu👑, nezuko👑
languagestringptIdioma do cardpt, en, es, fr, de, ja
showBorderbooleantrueExibir borda no cardtrue, false
borderTypestringfireTipo de borda (Demon Slayer)fire, water
maxReposnumber5Quantidade de repos (type=repos-list)1 a 20
repostring-Nome do repositório (obrigatório para type=repo)String
daysnumber30Período em dias (type=commits)7, 30, 90, 180, 365, 730, 1095

👑 = Requer assinatura Premium

Exemplos de Requisições

Card básico de estatísticas:

GET /api/stats?username=MatheusRenzo&theme=dark&language=pt

Card de linguagens (Premium):

GET /api/stats?username=MatheusRenzo&type=languages&theme=neon&language=en

Lista de repositórios (Premium):

GET /api/stats?username=MatheusRenzo&type=repos-list&maxRepos=10&theme=radical&showBorder=false

Commits dos últimos 90 dias (Premium):

GET /api/stats?username=MatheusRenzo&type=commits&days=90&theme=cyber&language=ja

Respostas de Erro

403 - Usuário não autorizado:

{ "error": "{t('docs.errorResponses.unauthorizedMessage')}", "code": "USER_NOT_AUTHORIZED", "username": "MatheusRenzo" }

402 - Premium obrigatório:

{ "error": "{t('docs.errorResponses.premiumRequiredMessage')}", "code": "PREMIUM_REQUIRED", "cardType": "repos-list", "upgradeUrl": "/pricing" }

429 - Rate limit excedido:

{ "error": "{t('docs.errorResponses.rateLimitMessage')}", "code": "SECURITY_VIOLATION" }

400 - Parâmetros inválidos:

{ "error": "Parâmetros inválidos: Tema inválido, Idioma inválido", "code": "SECURITY_VIOLATION" }

Temas Disponíveis

Oferecemos uma vasta coleção de temas para combinar com seu estilo. Clique em um tema para copiar o parâmetro.

darkClique para copiar
lightClique para copiar
radicalClique para copiar
neonClique para copiar
cyberClique para copiar
tanjiroClique para copiar
zenitsuClique para copiar
nezukoClique para copiar
defaultClique para copiar
default repocardClique para copiar
transparentClique para copiar
shadow redClique para copiar