---
title: "En-tete du profil public d'un compte"
method: GET
path: "/users/{handle}"
tags: ["social"]
---

# En-tete du profil public d'un compte

`GET /users/{handle}`

## Request

- Base URL: `https://jam-jam.org/api/v1`
- URL: `https://jam-jam.org/api/v1/users/{handle}`
- Auth: HTTP bearer

Carte d'un compte designe par son pseudo public (`@handle`), du point
de vue du compte appelant. `relation` vaut `none`, `following`
(je le suis), `follower` (il me suit), `mutual` (les deux),
`requested` (ma demande est en attente) ou `self`.

Un compte PRIVE que vous ne suivez pas rend une CARTE FERMEE :
seulement `handle`, `displayName`, `avatar` (s'il en a un),
`visibility` et `relation`. Ni `bio`, ni `counts`. C'est voulu : vous
pouvez constater qu'un pseudo existe, jamais voir ce qu'il contient.

Un pseudo inconnu, et un compte qui vous a bloque, rendent le MEME
`404 not-found` : aucune distinction n'est observable.

Jam Jam est hebergeur : cette API ne classe rien, ne recommande rien
et n'expose aucun compteur d'audience d'autrui.

## Response `200`

Profil (carte complete ou carte fermee)

- UserProfile: En-tete d'un profil public. `counts` et `bio` sont ABSENTS sur la carte fermee d'un compte prive que l'appelant ne suit pas : leur absence est une information en soi, ils ne valent jamais zero par defaut. Aucun compteur d'audience (imports, vues) n'est jamais rendu.
  - `handle` string, required
  - `displayName` string, nullable, required
  - `bio` string
  - `avatar` string: Chemin de l'avatar dans le seau public, seulement s'il est approuve.
  - `visibility` 'public' | 'private', required
  - `counts` object
    - `followers` integer, required
    - `following` integer, required
  - `relation` 'none' | 'following' | 'follower' | 'mutual' | 'requested' | 'self', required

## Other responses

- `400`: Toute erreur de cette API, quel que soit le code HTTP, est un `application/problem+json` (RFC 9457) avec ce meme schema : `code` est la valeur stable a tester par un client (le `status` HTTP peut varier legerement selon le contexte, `code` non). `quota` est renseigne pour les erreurs liees au quota (`quota-exhausted`, `anon-quota-exhausted`, `client-quota`).
- `401`: Toute erreur de cette API, quel que soit le code HTTP, est un `application/problem+json` (RFC 9457) avec ce meme schema : `code` est la valeur stable a tester par un client (le `status` HTTP peut varier legerement selon le contexte, `code` non). `quota` est renseigne pour les erreurs liees au quota (`quota-exhausted`, `anon-quota-exhausted`, `client-quota`).
- `403`: Toute erreur de cette API, quel que soit le code HTTP, est un `application/problem+json` (RFC 9457) avec ce meme schema : `code` est la valeur stable a tester par un client (le `status` HTTP peut varier legerement selon le contexte, `code` non). `quota` est renseigne pour les erreurs liees au quota (`quota-exhausted`, `anon-quota-exhausted`, `client-quota`).
- `404`: Toute erreur de cette API, quel que soit le code HTTP, est un `application/problem+json` (RFC 9457) avec ce meme schema : `code` est la valeur stable a tester par un client (le `status` HTTP peut varier legerement selon le contexte, `code` non). `quota` est renseigne pour les erreurs liees au quota (`quota-exhausted`, `anon-quota-exhausted`, `client-quota`).
- `429`: Toute erreur de cette API, quel que soit le code HTTP, est un `application/problem+json` (RFC 9457) avec ce meme schema : `code` est la valeur stable a tester par un client (le `status` HTTP peut varier legerement selon le contexte, `code` non). `quota` est renseigne pour les erreurs liees au quota (`quota-exhausted`, `anon-quota-exhausted`, `client-quota`).

---

[API](https://skmtc.dev/jam-jam/apis/jam-jam-convert-api.md) · [All operations](https://skmtc.dev/jam-jam/apis/jam-jam-convert-api/llms.txt) · [OpenAPI document](https://skmtc.dev/jam-jam/apis/jam-jam-convert-api/revisions/64cd41a46e4e?raw)
