Dokumentation
Dette er den produktrettede reference for den offentlige API. Samme identitet, tenant, stilversion, avatarfamilie, stilindstillinger, størrelse og WebP-output er beregnet til at forblive stabile inden for en major-version.
Core endpoints
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
Operationelle endpoints
GET /healthz er offentlig for load balancers og uptime checks. GET /metrics er loopback-only og returnerer 404 til ikke-lokale peers.
Namespace-understøttelse
Brug tenant og style_version til at holde visuelle identitetsrum adskilt mellem produkter eller rollout-faser.
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 envejs application hash i stedet for rå persondata.
printf '%s' '[email protected]' | sha256sum | cut -d' ' -f1
Rate limits
Den offentlige service anvender origin-side rate limits, med strengere limits på /v1/avatar/link, direkte avatar-requests med persist=true og /og.png, fordi objektlager-skrivninger og Open Graph-rendering er dyrere end direkte rendering.
Timeouts
Avatar-generering og lageroperationer er begrænset af server-side timeouts, så dyre requests ikke kan monopolisere origin uendeligt.
Fejl
400: ugyldig kind, ikke-understøttet algoritme eller format, størrelse eller manglende identitet408: genererings- eller lager-timeout429: rate limit overskredet500: rendering- eller lagerfejl
OpenAPI
Til genererede clients eller tooling, brug /docs/openapi.json.