GET /me/avatar/serve/{userID}/{filename}
Entrega o avatar público de qualquer user (rota sem auth).
- Acesso: Pública
- Serviço:
https://api.axuz.net
Autenticação aceita
Sem autenticação (rota pública ou protegida por link/assinatura).
Entradas: {userID} e {filename} pela URL. Filename precisa ser opaco (sem separadores) — a validação impede path traversal.
Retorno: 302 redirect pro presigned GET quando o uploader é S3/R2 (Cache-Control 1 dia); 200 com bytes + Content-Type derivado da extensão no fallback local/bunny; 400 params inválidos; 404 objeto ausente; 500 falha de presign.
Parâmetros
| Nome | Em | Tipo | Obrigatório | Descrição |
|---|---|---|---|---|
userID | path | string | sim | |
filename | path | string | sim |
Respostas
200
TBD
302
Redirect pro presigned GET quando o uploader é S3/R2 (Cache-Control 1 dia)
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
error | string | sim |
400
Params inválidos
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
error | string | sim |
404
Objeto ausente
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
error | string | sim |
429
Limite de requisições excedido.
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
error | string | sim |
500
Falha de presign
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
error | string | sim |
Exemplos
O "Try it" está desligado nesta referência. Use os exemplos com a sua credencial de teste.
curl
curl -sS -X GET 'https://api.axuz.net/me/avatar/serve/USER_ID/FILENAME'Node.js
const res = await fetch("https://api.axuz.net/me/avatar/serve/USER_ID/FILENAME", {
method: 'GET',
});
if (!res.ok) throw new Error(`HTTP ${res.status}: ${await res.text()}`);
console.log(await res.json());Python
import os
import requests
res = requests.request(
"GET",
"https://api.axuz.net/me/avatar/serve/USER_ID/FILENAME",
timeout=30,
)
res.raise_for_status()
print(res.json())