API Nuoroda

Dokumentacija

Tai produkto lygio public API dokumentacija. Tas pats identity, tenant, style version, avatar family, style options, size ir WebP output turėtų išlikti stabilūs major release ribose.

Pagrindiniai Endpointai

  • 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

Operaciniai Endpointai

GET /healthz yra viešas load balancers ir uptime checks. GET /metrics yra tik loopback ir ne vietiniams peers grąžina 404.

Namespace Palaikymas

Naudokite tenant ir style_version, kad atskirtumėte vizualios tapatybės erdves tarp produktų arba rollout etapų.

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

Anoniminiai ID

Siųskite vidinį stabilų id arba vienkryptį application hash vietoje neapdorotų asmens duomenų.

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

Rate Limitai

Public service taiko origin-side rate limits; griežtesni limitai taikomi /v1/avatar/link, direct avatar requests su persist=true ir /og.png, nes object storage writes ir Open Graph image rendering yra brangesni nei direct rendering.

Timeouts

Avatar generation ir storage operations ribojamos server-side timeouts, kad brangios užklausos negalėtų neribotai užimti origin.

Klaidos

  • 400: neteisingas kind, nepalaikomas algorithm arba format, size arba trūksta identity
  • 408: generation arba storage timeout
  • 429: rate limit viršytas
  • 500: rendering arba storage failure

OpenAPI

Generated clients arba tooling naudokite /docs/openapi.json.