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 directlyGET /v1/avatar/link: stores the generated avatar in configured object storage and returns signed-link metadataGET /avatar/<kind>/<identity>/webp: path-style public avatar URLGET /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 identitet408: timeout ved generering eller lagring429: rate limit overskredet500: renderings- eller lagringsfeil
OpenAPI
For genererte klienter eller verktøy, bruk /docs/openapi.json.