Skip to content

Company icon

POST https://api.kingminos.com/v1/company/icon

Try it in the console

Send a company subject: domain, website, or email (hygiene-normalized to the same registrable domain). Optional name corroborates the unit. Name-only input (no domain, website, or email) is 400 name_only_unsupported.

Terminal window
curl 'https://api.kingminos.com/v1/company/icon' \
-H 'Authorization: Bearer <your-key>' \
-H 'Content-Type: application/json' \
-d '{
"domain": "stripe.com",
"name": "Stripe",
"external_ref": "account-demo-1"
}'

The envelope is schema version 2. Automations branch on these layers:

Layer Fields Use
Control answer.outcome, es_decision, answer.confidence Whether to stamp.
Explain answer.summary, sources Humans and logs. Not control flow.
Audit trace when X-Router-Explain: full Debug only.

answer.outcome on this capability is hit or no_decision.

result.icon_url on a hit is always https://logos.kingminos.com/i/<sha256>.png. That URL is a square 256×256 PNG KingMinos stored. It is never a third-party, site, Brandfetch, or ZoomInfo URL. A miss is icon_url: null.

The PNG is padded to 256×256, not cropped. A source is enlarged at most 2×; the rest of the square is padding. A source whose short side is under 64px is still a hit, with flags.low_res and confidence low. Stamp result.icon_url when answer.confidence meets your acceptance floor (this capability has no path tiers; see GET /v1/recipes/guidance).

KingMinos keeps looking while the best stored source is under 128px on its short side, so a larger Brandfetch or ZoomInfo mark can replace a small favicon. If nothing larger is stored, the small favicon is the PNG.

Field-proof stamping: a provider hop that succeeds without a stored copy is a miss for that hop, not a hit. SVG is not used.

Business misses stay HTTP 200.

company.description is a separate capability slice; it is not part of this route.

There is one ladder. Send the domain. Leftover routing, path, and preset fields are ignored.

house favicon-fetch (0 credits) → Brandfetch BYOK (1, soft-fail and continue) → ZoomInfo enrich logo (1).

Cap is 2. A paid hop that does not win is not charged. Brandfetch prefers a square icon over a wordmark when both exist. ZoomInfo uses scoped company enrich logo, not search. Enrich-CRM, AI Ark, LeadMagic, and Prospeo are not icon sources on this capability.

favicon-fetch is house-only. You cannot PUT a favicon-fetch key.

Brandfetch and ZoomInfo are BYOK on this route. Without stored keys, those hops are skipped (not_configured). See Vendor keys.

The body accepts nullable name, domain, website, and email, plus:

  • external_ref — client correlation key, echoed on the run.
  • schema_version — pin "2" or omit.
  • dry_run — accepted; writers stay skipped.

Prefer X-Router-Explain: minimal on CRM callouts — it is an alias of the clean envelope. Use full when you need trace.attempts.

Idempotency-Key replays a completed run. Rotating that header is what forces a new decision; explain flags do not.