API-referanse

Dokumentasjon

Dette er den produktrettede referansen for det offentlige API-et. Samme identitet, tenant, stilversjon, avatarfamilie, stilalternativer, størrelse og WebP-utdata er ment å være stabile innenfor en major-versjon.

Kjerne-endepunkter

  • GET /v1/avatar: returns an avatar asset directly
  • GET /v1/avatar/link: stores the generated avatar in configured object storage and returns signed-link metadata
  • GET /avatar/<kind>/<identity>/webp: path-style public avatar URL
  • GET /docs/openapi.json: machine-readable API description

Driftsendepunkter

GET /healthz er offentlig for lastbalanserere og oppetidskontroller. GET /metrics er bare tilgjengelig via loopback og returnerer 404 for ikke-lokale peers.

Namespace-støtte

Bruk tenant og style_version for å holde visuelle identitetsrom adskilt mellom produkter eller utrullingsfaser.

GET https://hashavatar.app/v1/[email protected]&tenant=acme&style_version=v2&algorithm=sha512&kind=wizard&background=white&accessory=hat&color=deep-sea-blue&expression=cool&shape=squircle&format=webp&size=256

Anonyme ID-er

Send en stabil intern id eller en enveis applikasjonshash i stedet for rå persondata.

printf '%s' '[email protected]' | sha256sum | cut -d' ' -f1

Rate limits

Den offentlige tjenesten bruker origin-side rate limits, med strengere grenser for /v1/avatar/link, direkte avatarforespørsler med persist=true og /og.png fordi objektlagringsskrivinger og Open Graph-rendering er dyrere enn direkte rendering.

Timeouts

Avatar-generering og lagringsoperasjoner begrenses av serverbaserte timeouts, slik at dyre forespørsler ikke kan monopolisere origin-serveren ubegrenset.

Feil

  • 400: ugyldig kind-verdi, algoritme eller format som ikke støttes, størrelse eller manglende identitet
  • 408: timeout ved generering eller lagring
  • 429: rate limit overskredet
  • 500: renderings- eller lagringsfeil

OpenAPI

For genererte klienter eller verktøy, bruk /docs/openapi.json.