API Referansı

Belgeler

Bu, public API için ürün odaklı referanstır. Aynı identity, tenant, style version, avatar family, style options, size ve WebP output değerlerinin bir major release içinde stabil kalması amaçlanır.

Ana Endpointler

  • 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

Operasyonel Endpointler

GET /healthz load balancer ve uptime checks için herkese açıktır. GET /metrics sadece loopback erişimlidir ve local olmayan peers için 404 döndürür.

Namespace Desteği

Görsel kimlik alanlarını ürünler veya rollout aşamaları arasında ayırmak için tenant ve style_version kullanın.

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

Anonim ID'ler

Ham kişisel veri yerine internal stable id veya one-way application hash gönderin.

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

Rate Limitler

Public service origin-side rate limits uygular; /v1/avatar/link, persist=true olan direct avatar requests ve /og.png için daha sıkı limitler vardır çünkü object storage writes ve Open Graph image rendering direct rendering'den daha pahalıdır.

Timeouts

Avatar generation ve storage operations server-side timeouts ile sınırlandırılır, böylece pahalı istekler origin'i süresiz meşgul edemez.

Hatalar

  • 400: geçersiz kind, desteklenmeyen algorithm veya format, size ya da eksik identity
  • 408: generation veya storage timeout
  • 429: rate limit aşıldı
  • 500: rendering veya storage failure

OpenAPI

Generated clients veya tooling için kullanın /docs/openapi.json.