{"openapi":"3.1.0","info":{"title":"Initials API","version":"1.0.0","description":"Extract initials and avatar monograms from a name or phrase. The initials endpoint returns the first letter of every significant word — automatically skipping lower-case nobiliary and linking particles (van, von, de, della, la, der, of, the…) so \"Ludwig van Beethoven\" gives LB and \"Charles de Gaulle\" gives CG — with options for a separator between letters, a dotted form (J.D.), upper-case or original case, and a maximum number of initials. The monogram endpoint returns the short one-, two- or three-letter badge initials used for UI avatars and chips, taking the first and last significant words (\"John Michael Doe\" → JD) and falling back to the leading letters of a single name. Everything is multibyte-safe, so accented and non-Latin letters (José María → JMA) work correctly. Ideal for default avatars, contact chips, initials badges, monogram graphics, document headers and mail-merge. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This produces the initials text; to render them as an avatar image use an avatar API.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/initials-api","description":"oanor gateway"}],"tags":[{"name":"Initials"},{"name":"Meta"}],"components":{"securitySchemes":{"oanorKey":{"type":"apiKey","in":"header","name":"x-oanor-key","description":"Get your key at https://www.oanor.com/developer/keys"}}},"security":[{"oanorKey":[]}],"paths":{"/v1/initials":{"get":{"operationId":"get_v1_initials","tags":["Initials"],"summary":"Extract initials","description":"","parameters":[{"name":"value","in":"query","required":true,"description":"The name or phrase","schema":{"type":"string"},"example":"Ludwig van Beethoven"},{"name":"separator","in":"query","required":false,"description":"String between initials (default none)","schema":{"type":"string"}},{"name":"dotted","in":"query","required":false,"description":"true for J.D. form","schema":{"type":"string"}},{"name":"uppercase","in":"query","required":false,"description":"default true","schema":{"type":"string"}},{"name":"skip_particles","in":"query","required":false,"description":"skip van/von/de/la… (default true)","schema":{"type":"string"}},{"name":"max","in":"query","required":false,"description":"cap the number of initials","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"count":2,"value":"Ludwig van Beethoven","letters":["L","B"],"initials":"LB"},"meta":{"timestamp":"2026-06-03T09:25:06.578Z","request_id":"9d71b905-25f0-4bcc-8352-2ede22d6cb53"},"status":"ok","message":"Extract initials","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/monogram":{"get":{"operationId":"get_v1_monogram","tags":["Initials"],"summary":"Avatar monogram","description":"","parameters":[{"name":"value","in":"query","required":true,"description":"The name","schema":{"type":"string"},"example":"John Michael Doe"},{"name":"length","in":"query","required":false,"description":"1, 2 or 3 letters (default 2)","schema":{"type":"string"},"example":"2"},{"name":"uppercase","in":"query","required":false,"description":"default true","schema":{"type":"string"}},{"name":"skip_particles","in":"query","required":false,"description":"skip particles (default true)","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"count":2,"value":"John Michael Doe","letters":["J","D"],"monogram":"JD"},"meta":{"timestamp":"2026-06-03T09:25:06.683Z","request_id":"3ed2c13f-1867-4722-b823-aa93dca021af"},"status":"ok","message":"Avatar monogram","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/meta":{"get":{"operationId":"get_v1_meta","tags":["Meta"],"summary":"Spec","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"name":"Initials API","notes":"Particles are skipped only when at least one other word remains. Hyphenated names contribute each part to initials (Jean-Luc → J, L) but count as one word for the monogram. Nothing is stored.","version":"v1","endpoints":[{"path":"/v1/initials","params":{"max":"cap the number of initials (default all)","value":"the name or phrase (required)","dotted":"true for J.D. form","separator":"string between initials (default none)","uppercase":"default true","skip_particles":"skip van/von/de/la… (default true)"},"returns":"the initials string, the letters and a count"},{"path":"/v1/monogram","params":{"value":"the name (required)","length":"1, 2 or 3 letters (default 2)","uppercase":"default true","skip_particles":"skip particles (default true)"},"returns":"the avatar monogram (e.g. JD)"},{"path":"/v1/meta","params":[],"returns":"this document"}],"description":"Extract initials and avatar monograms from a name or phrase. The initials endpoint returns the first letter of every significant word — skipping lower-case nobiliary particles (van, von, de, la, der, of, the…) by default — with options for a separator, dotted form (J.D.), upper- or original case, and a maximum count. The monogram endpoint returns the short one-, two- or three-letter badge initials used for UI avatars (John Michael Doe → JD), taking the first and last significant words. Multibyte-safe so accented and non-Latin letters work. Pure local, no key."},"meta":{"timestamp":"2026-06-03T09:25:06.799Z","request_id":"f4d3fd50-4b45-4f9a-aae8-ead3de766230"},"status":"ok","message":"Meta","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}}},"x-oanor-pricing":[{"slug":"free","name":"Free","price_cents_month":0,"monthly_call_quota":1635,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":315,"monthly_call_quota":11150,"rps_limit":8,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":2305,"monthly_call_quota":162500,"rps_limit":20,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":6105,"monthly_call_quota":855000,"rps_limit":50,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/initials-api"}