{"openapi":"3.1.0","info":{"title":"UUID API","version":"1.0.0","description":"A fast, fully-local identifier-generation toolkit: create UUID v4 (random), v7 (time-ordered and lexicographically sortable), v3 and v5 (name-based, deterministic via MD5 and SHA-1 over a namespace plus name) and the nil UUID; generate ULIDs (sortable, Crockford base32); generate nanoids (URL-safe, with custom alphabet and size); and validate any UUID, reporting its version and variant. Every endpoint accepts input via the query string or the request body. Built on Node crypto, no third-party upstream, so responses are instant and always available. Ideal for databases and primary keys, distributed systems, idempotency and correlation keys, and general developer tooling.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/uuid-api","description":"oanor gateway"}],"tags":[{"name":"UUID"}],"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/generate":{"get":{"operationId":"get_v1_generate","tags":["UUID"],"summary":"Generate UUIDs","description":"","parameters":[{"name":"version","in":"query","required":false,"description":"v4 (default), v7 or nil","schema":{"type":"string"},"example":"v4"},{"name":"count","in":"query","required":false,"description":"How many 1-100","schema":{"type":"string"},"example":"5"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"count":5,"uuids":["6cf1661e-5a10-42b4-8201-b2b4fe867c43","3f508c5d-f6b4-4d08-a7f0-5f75321fc0d8","5f27d642-4ca5-43fc-9a32-f5278e9ac324","21bd7955-ebf7-48cf-93e1-56ba2a24f2c2","6857085f-859b-4de9-8a13-7449ffcc9af1"],"version":"v4"},"meta":{"timestamp":"2026-05-30T10:10:55.194Z","request_id":"141ecedd-9886-4674-8982-2a78439bea37"},"status":"ok","message":"OK","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/nanoid":{"get":{"operationId":"get_v1_nanoid","tags":["UUID"],"summary":"Generate nanoids","description":"","parameters":[{"name":"size","in":"query","required":false,"description":"Length 1-256 (default 21)","schema":{"type":"string"},"example":"21"},{"name":"count","in":"query","required":false,"description":"How many 1-100","schema":{"type":"string"},"example":"5"},{"name":"alphabet","in":"query","required":false,"description":"Custom alphabet","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"ids":["eTIfN4anMivpEIxuybcxX","lsZ68I7luwHoDxZ4I99fC","4xodixJoK_cDsvavks-sw","VA5YjQQ496hwt9zcWEqoF","0Rmap1vvqI4O6cpr-AiSo"],"size":21,"count":5},"meta":{"timestamp":"2026-05-30T10:10:55.265Z","request_id":"59fa34f2-5faa-48a5-be37-71cd9402dd45"},"status":"ok","message":"OK","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/ulid":{"get":{"operationId":"get_v1_ulid","tags":["UUID"],"summary":"Generate ULIDs","description":"","parameters":[{"name":"count","in":"query","required":false,"description":"How many 1-100","schema":{"type":"string"},"example":"5"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"count":5,"ulids":["01KSW5V16HGHGM9WE853H4XQV4","01KSW5V16H5PB152TVXD3QM1ED","01KSW5V16HC0MWWQREGSF8RZG2","01KSW5V16H61SE15VWZ3EXCYMT","01KSW5V16HS5A2RE7PF0J2D6EQ"]},"meta":{"timestamp":"2026-05-30T10:10:55.314Z","request_id":"2f335527-74ea-4cd2-abe8-38b4b24447d0"},"status":"ok","message":"OK","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/v3":{"get":{"operationId":"get_v1_v3","tags":["UUID"],"summary":"Name-based UUID (MD5)","description":"","parameters":[{"name":"namespace","in":"query","required":false,"description":"UUID or preset (dns, url, oid, x500)","schema":{"type":"string"},"example":"dns"},{"name":"name","in":"query","required":true,"description":"Name to hash","schema":{"type":"string"},"example":"example.com"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"name":"example.com","uuid":"9073926b-929f-31c2-abc9-fad77ae3e8eb","version":"v3","namespace":"dns"},"meta":{"timestamp":"2026-05-30T10:10:55.391Z","request_id":"21d0cd06-103e-48e1-9e16-55b50897387a"},"status":"ok","message":"OK","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/v5":{"get":{"operationId":"get_v1_v5","tags":["UUID"],"summary":"Name-based UUID (SHA-1)","description":"","parameters":[{"name":"namespace","in":"query","required":false,"description":"UUID or preset (dns, url, oid, x500)","schema":{"type":"string"},"example":"dns"},{"name":"name","in":"query","required":true,"description":"Name to hash","schema":{"type":"string"},"example":"example.com"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"name":"example.com","uuid":"cfbff0d1-9375-5685-968c-48ce8b15ae17","version":"v5","namespace":"dns"},"meta":{"timestamp":"2026-05-30T10:10:55.469Z","request_id":"3abadfee-a8f0-40c9-b186-bafd91f48502"},"status":"ok","message":"OK","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/validate":{"get":{"operationId":"get_v1_validate","tags":["UUID"],"summary":"Validate a UUID","description":"","parameters":[{"name":"uuid","in":"query","required":true,"description":"UUID to validate","schema":{"type":"string"},"example":"6ba7b810-9dad-11d1-80b4-00c04fd430c8"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"uuid":"6ba7b810-9dad-11d1-80b4-00c04fd430c8","valid":true,"variant":"RFC 4122","version":1},"meta":{"timestamp":"2026-05-30T10:10:55.517Z","request_id":"9a36d242-9d17-4a87-b2c0-85f0eead3bb0"},"status":"ok","message":"OK","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":20000,"rps_limit":5,"hard_limit":true},{"slug":"basic","name":"Basic","price_cents_month":300,"monthly_call_quota":320000,"rps_limit":20,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":1100,"monthly_call_quota":1800000,"rps_limit":60,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":2900,"monthly_call_quota":9500000,"rps_limit":200,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/uuid-api"}