Brand logos
Not a resource of its own — there's no /brand-logos endpoint. A verified issuer logo shows up as one field, logoUrl, on WalletCard. This page documents where it comes from and why it's sometimes null.
{
"issuer": "UIDAI",
"issuerKey": "unique-identification-authority-of-india-uidai",
"logoUrl": "https://storage.dociya.com/brand-logos/uidai.png?X-Amz-Expires=..."
}Where a logo comes from
issuerKey is a stable, deduplicated slug derived server-side from a document's public extracted fields — never guessed, and never derived from anything in the document beyond who issued it. The first time a given issuerKey is seen, a background job queues a fetch from a licensed source: Wikimedia Commons for government emblems, official brand or press pages otherwise. That fetch never blocks a request — a card simply falls back to a monogram until the logo is reviewed.
Lifecycle
Pending reviewA logo has been fetched for this issuer but a human hasn't approved it yet. Never served.VerifiedApproved for display. Served as WalletCard.logoUrl on every document with this issuerKey — past and future.RejectedReviewed and declined. Cards fall back to the monogram lockup, same as an issuer with no fetch yet.TakedownWas verified, then pulled — a rights-holder objection or a sourcing error. Soft-removed; the underlying file can be hard-deleted separately.Retroactive by construction
logoUrl is resolved live, at read time — never stamped once at ingestion. The moment an issuer's logo is marked verified, every document already in every household's wallet with that issuerKey picks it up on its very next fetch — documents uploaded years ago included. One verified row lights up every matching card, past and future.
logoUrl is a presigned, short-TTL URL — never cache or persist it past one screen load. Fetch it fresh from GET /documents each time.