Every identity signal on a person in one call: work and personal emails, device IDs, and hashed emails. Accepts hashed or plaintext email and IP address inputs.
Single mode: provide a pre-computed md5, a plaintext email, or an IPv4 or IPv6 ip_address with an optional user_agent. USA IPs only! Choose exactly one identifier family. The response carries every identity signal on the person: hems (MD5 + SHA-256 for each known personal and business email), maids (mobile advertising IDs), personal_emails, and business_emails. Email fields are MD5-hashed unless you send a plaintext email. A match returns HTTP 200 { result: {...} }; a miss returns HTTP 404 { result: {} }.
Batch mode: send an md5s or ips array (max 1,000). MD5s are lowercased and de-duplicated; equivalent IP spellings are de-duplicated while preserving the first input. One malformed MD5 fails the whole request with HTTP 400 before any lookups run. Otherwise the response is always HTTP 200 with results, match_count, credits_charged, and credits_exhausted. Every matched result returns md5; IP batch results also echo ip_address. Inputs with no data are omitted; email fields are always MD5-hashed in batch results. Processing stops once the account’s remaining credits are exhausted (credits_exhausted: true).
Billing: the full configured per-record cost when both the profile and MAID data match; 1 credit when only one of the two sources resolves (partial data); 0 credits for a miss (single-mode 404, or omitted from batch results). IP-sourced matches add 1 credit (full 4, partial 2 at the default price). Request errors (4xx) are not billed.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Retention.com Enrichment","description":"Enrichment APIs — turn an email, HEM, IP, or LinkedIn profile into emails, profiles, and other attributes.","colors":{"primary":"#111827","light":"#FBBF24","dark":"#0F172A"},"logo":{"light":"https://mintcdn.com/retention/egMTYLJ50XLFHYE0/logo/logo.png?fit=max\u0026auto=format\u0026n=egMTYLJ50XLFHYE0\u0026q=85\u0026s=a4ab393f132873bd76647aa98d1e3239","dark":"https://mintcdn.com/retention/egMTYLJ50XLFHYE0/logo/logo-white.png?fit=max\u0026auto=format\u0026n=egMTYLJ50XLFHYE0\u0026q=85\u0026s=9d30e3a9a3312ad94d0787b98d6b1cd6"},"favicon":"https://mintcdn.com/retention/egMTYLJ50XLFHYE0/favicon.svg?fit=max\u0026auto=format\u0026n=egMTYLJ50XLFHYE0\u0026q=85\u0026s=fbf80f51ecaf717e755de8ff08d94b9d","api":{"openapi":"openapi.json","playground":{"display":"interactive"},"examples":{"languages":["bash","python","javascript"]}},"navbar":{"links":[{"href":"mailto:support@retention.com","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://app.retention.com"}},"footer":{"socials":{"x":"https://x.com/retention","linkedin":"https://linkedin.com/company/retention-com"}},"contextual":{"options":["copy","view"],"display":"header"},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Dashboard","icon":"gauge","href":"https://ui.api.rb2b.com/dashboard"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"retention","hasAudioNarration":false,"actualSubdomain":"retention","customDomains":[],"gitSource":{"type":"github","owner":"getemailsllc","repo":"api_docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"collectionId":"2952dbaf-8b1e-49e3-a270-1e80b80644c5","liveDeploymentHistoryId":"6ae4ce9af2f7375d4fd9a712","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae4ce9af2f7375d4fd9a712"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ae4ce9af2f7375d4fd9a712","clientVersion":"0.0.4045","searchFilterCounts":[{"language":"default","tag":"All APIs","count":20},{"language":"default","tag":"Email lookups","count":4},{"language":"default","tag":"Identity Enrichment","count":4},{"language":"default","tag":"Identity Resolution","count":4},{"language":"default","tag":"LinkedIn lookups","count":4},{"language":"default","tag":"Search, activity \u0026 account","count":4},{"language":"default","tag":"Guides","count":1},{"language":"default","tag":"Get started","count":1}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/identity/universal","slug":"/api-reference/identity/universal","pageMetadata":{"title":"Universal Identity","openapi":"POST /api/v1/identity/person","description":"Every identity signal on a person in one call: work and personal emails, device IDs, and hashed emails. Accepts hashed or plaintext email and IP address inputs.\n\nSingle mode: provide a pre-computed `md5`, a plaintext `email`, or an IPv4 or IPv6 `ip_address` with an optional `user_agent`. USA IPs only! Choose exactly one identifier family. The response carries every identity signal on the person: `hems` (MD5 + SHA-256 for each known personal and business email), `maids` (mobile advertising IDs), `personal_emails`, and `business_emails`. Email fields are MD5-hashed unless you send a plaintext `email`. A match returns HTTP 200 `{ result: {...} }`; a miss returns HTTP 404 `{ result: {} }`.\n\nBatch mode: send an `md5s` or `ips` array (max 1,000). MD5s are lowercased and de-duplicated; equivalent IP spellings are de-duplicated while preserving the first input. One malformed MD5 fails the whole request with HTTP 400 before any lookups run. Otherwise the response is always HTTP 200 with `results`, `match_count`, `credits_charged`, and `credits_exhausted`. Every matched result returns `md5`; IP batch results also echo `ip_address`. Inputs with no data are omitted; email fields are always MD5-hashed in batch results. Processing stops once the account's remaining credits are exhausted (`credits_exhausted: true`).\n\n**Billing:** the full configured per-record cost when both the profile and MAID data match; 1 credit when only one of the two sources resolves (partial data); 0 credits for a miss (single-mode 404, or omitted from batch `results`). IP-sourced matches add 1 credit (full 4, partial 2 at the default price). Request errors (4xx) are not billed.","href":"/api-reference/identity/universal"},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n strong: \"strong\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"Every identity signal on a person in one call: work and personal emails, device IDs, and hashed emails. Accepts hashed or plaintext email and IP address inputs.\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Single mode: provide a pre-computed \", _jsx(_components.code, {\n children: \"md5\"\n }), \", a plaintext \", _jsx(_components.code, {\n children: \"email\"\n }), \", or an IPv4 or IPv6 \", _jsx(_components.code, {\n children: \"ip_address\"\n }), \" with an optional \", _jsx(_components.code, {\n children: \"user_agent\"\n }), \". USA IPs only! Choose exactly one identifier family. The response carries every identity signal on the person: \", _jsx(_components.code, {\n children: \"hems\"\n }), \" (MD5 + SHA-256 for each known personal and business email), \", _jsx(_components.code, {\n children: \"maids\"\n }), \" (mobile advertising IDs), \", _jsx(_components.code, {\n children: \"personal_emails\"\n }), \", and \", _jsx(_components.code, {\n children: \"business_emails\"\n }), \". Email fields are MD5-hashed unless you send a plaintext \", _jsx(_components.code, {\n children: \"email\"\n }), \". A match returns HTTP 200 \", _jsx(_components.code, {\n children: \"{ result: {...} }\"\n }), \"; a miss returns HTTP 404 \", _jsx(_components.code, {\n children: \"{ result: {} }\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Batch mode: send an \", _jsx(_components.code, {\n children: \"md5s\"\n }), \" or \", _jsx(_components.code, {\n children: \"ips\"\n }), \" array (max 1,000). MD5s are lowercased and de-duplicated; equivalent IP spellings are de-duplicated while preserving the first input. One malformed MD5 fails the whole request with HTTP 400 before any lookups run. Otherwise the response is always HTTP 200 with \", _jsx(_components.code, {\n children: \"results\"\n }), \", \", _jsx(_components.code, {\n children: \"match_count\"\n }), \", \", _jsx(_components.code, {\n children: \"credits_charged\"\n }), \", and \", _jsx(_components.code, {\n children: \"credits_exhausted\"\n }), \". Every matched result returns \", _jsx(_components.code, {\n children: \"md5\"\n }), \"; IP batch results also echo \", _jsx(_components.code, {\n children: \"ip_address\"\n }), \". Inputs with no data are omitted; email fields are always MD5-hashed in batch results. Processing stops once the account’s remaining credits are exhausted (\", _jsx(_components.code, {\n children: \"credits_exhausted: true\"\n }), \").\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Billing:\"\n }), \" the full configured per-record cost when both the profile and MAID data match; 1 credit when only one of the two sources resolves (partial data); 0 credits for a miss (single-mode 404, or omitted from batch \", _jsx(_components.code, {\n children: \"results\"\n }), \"). IP-sourced matches add 1 credit (full 4, partial 2 at the default price). Request errors (4xx) are not billed.\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Universal Identity","openapi":"POST /api/v1/identity/person","description":"Every identity signal on a person in one call: work and personal emails, device IDs, and hashed emails. Accepts hashed or plaintext email and IP address inputs.\n\nSingle mode: provide a pre-computed `md5`, a plaintext `email`, or an IPv4 or IPv6 `ip_address` with an optional `user_agent`. USA IPs only! Choose exactly one identifier family. The response carries every identity signal on the person: `hems` (MD5 + SHA-256 for each known personal and business email), `maids` (mobile advertising IDs), `personal_emails`, and `business_emails`. Email fields are MD5-hashed unless you send a plaintext `email`. A match returns HTTP 200 `{ result: {...} }`; a miss returns HTTP 404 `{ result: {} }`.\n\nBatch mode: send an `md5s` or `ips` array (max 1,000). MD5s are lowercased and de-duplicated; equivalent IP spellings are de-duplicated while preserving the first input. One malformed MD5 fails the whole request with HTTP 400 before any lookups run. Otherwise the response is always HTTP 200 with `results`, `match_count`, `credits_charged`, and `credits_exhausted`. Every matched result returns `md5`; IP batch results also echo `ip_address`. Inputs with no data are omitted; email fields are always MD5-hashed in batch results. Processing stops once the account's remaining credits are exhausted (`credits_exhausted: true`).\n\n**Billing:** the full configured per-record cost when both the profile and MAID data match; 1 credit when only one of the two sources resolves (partial data); 0 credits for a miss (single-mode 404, or omitted from batch `results`). IP-sourced matches add 1 credit (full 4, partial 2 at the default price). Request errors (4xx) are not billed.","href":"/api-reference/identity/universal"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"summary":"Universal Identity","tags":["Identity"],"operationId":"identityPerson","description":"Every identity signal on a person in one call: work and personal emails, device IDs, and hashed emails. Accepts hashed or plaintext email and IP address inputs.\n\nSingle mode: provide a pre-computed `md5`, a plaintext `email`, or an IPv4 or IPv6 `ip_address` with an optional `user_agent`. USA IPs only! Choose exactly one identifier family. The response carries every identity signal on the person: `hems` (MD5 + SHA-256 for each known personal and business email), `maids` (mobile advertising IDs), `personal_emails`, and `business_emails`. Email fields are MD5-hashed unless you send a plaintext `email`. A match returns HTTP 200 `{ result: {...} }`; a miss returns HTTP 404 `{ result: {} }`.\n\nBatch mode: send an `md5s` or `ips` array (max 1,000). MD5s are lowercased and de-duplicated; equivalent IP spellings are de-duplicated while preserving the first input. One malformed MD5 fails the whole request with HTTP 400 before any lookups run. Otherwise the response is always HTTP 200 with `results`, `match_count`, `credits_charged`, and `credits_exhausted`. Every matched result returns `md5`; IP batch results also echo `ip_address`. Inputs with no data are omitted; email fields are always MD5-hashed in batch results. Processing stops once the account's remaining credits are exhausted (`credits_exhausted: true`).\n\n**Billing:** the full configured per-record cost when both the profile and MAID data match; 1 credit when only one of the two sources resolves (partial data); 0 credits for a miss (single-mode 404, or omitted from batch `results`). IP-sourced matches add 1 credit (full 4, partial 2 at the default price). Request errors (4xx) are not billed.","security":["b90b741c-baec-46b7-b6e4-afed163efe36"],"parameters":[],"responses":{"200":"1902d8f1-1dde-4559-9cbf-22b47d5cf71b","400":"13ff0f35-013b-42df-99b1-d7158a7c4468","401":"86b997f5-3ac1-483b-9213-aa0121501ae3","402":"64b4ab71-42e3-46fc-87e4-3f992abb889f","403":"ef84bfe9-12a0-459b-955f-9985584de7a3","404":"2f803e10-8617-4cf1-9d35-b0c6d521552f"},"requestBody":"4849d151-541f-436d-8e51-a73cdd727ce4","method":"post","type":"path","servers":["aa17081d-9c74-404e-b17f-a02fb504f21f"],"path":"/api/v1/identity/person","baseUrlOptions":["https://api.rb2b.com"],"title":"Universal Identity","codeSamples":[],"requestExampleLanguages":["bash","python","javascript"],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","description":"Choose exactly one single or batch identifier mode: `md5`/`email`, `md5s`, `ip_address`, or `ips`.","required":["md5"],"properties":{"md5":{"type":"string","pattern":"^[a-fA-F0-9]{32}$","description":"MD5 hash of the lowercased, trimmed email address.","example":"5d41402abc4b2a76b9719d911017c592","isRequired":true,"uniqueKey":"oneOf.0.md5","typeLabel":"string"},"email":{"type":"string","format":"email","description":"Plaintext email address. When present, email fields in the response are returned in plaintext.","example":"alice@example.com","uniqueKey":"oneOf.0.email","typeLabel":"string\u003cemail>"},"md5s":{"type":"array","minItems":1,"maxItems":1000,"items":{"type":"string","pattern":"^[a-fA-F0-9]{32}$","uniqueKey":"oneOf.0.md5s.items.[INDEX]","typeLabel":"string"},"description":"Batch lookup: up to 1,000 MD5 hashes. When present, the request is processed in batch mode. Cannot be combined with IP inputs.","uniqueKey":"oneOf.0.md5s","typeLabel":"string[]"},"ip_address":{"type":"string","description":"Single IPv4 or IPv6 address. USA IPs only! Cannot be combined with email inputs.","example":"203.0.113.42","uniqueKey":"oneOf.0.ip_address","typeLabel":"string"},"user_agent":{"type":"string","description":"Optional browser user agent for a single IP lookup.","uniqueKey":"oneOf.0.user_agent","typeLabel":"string"},"ips":{"type":"array","minItems":1,"maxItems":1000,"items":{"type":"string","uniqueKey":"oneOf.0.ips.items.[INDEX]","typeLabel":"string"},"description":"Batch lookup of up to 1,000 IPv4 or IPv6 addresses. USA IPs only! Cannot be combined with email inputs.","uniqueKey":"oneOf.0.ips","typeLabel":"string[]"}},"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","description":"Choose exactly one single or batch identifier mode: `md5`/`email`, `md5s`, `ip_address`, or `ips`.","required":["email"],"properties":{"email":{"type":"string","format":"email","description":"Plaintext email address. When present, email fields in the response are returned in plaintext.","example":"alice@example.com","isRequired":true,"uniqueKey":"oneOf.1.email","typeLabel":"string\u003cemail>"},"md5":{"type":"string","pattern":"^[a-fA-F0-9]{32}$","description":"MD5 hash of the lowercased, trimmed email address.","example":"5d41402abc4b2a76b9719d911017c592","uniqueKey":"oneOf.1.md5","typeLabel":"string"},"md5s":{"type":"array","minItems":1,"maxItems":1000,"items":{"type":"string","pattern":"^[a-fA-F0-9]{32}$","uniqueKey":"oneOf.1.md5s.items.[INDEX]","typeLabel":"string"},"description":"Batch lookup: up to 1,000 MD5 hashes. When present, the request is processed in batch mode. Cannot be combined with IP inputs.","uniqueKey":"oneOf.1.md5s","typeLabel":"string[]"},"ip_address":{"type":"string","description":"Single IPv4 or IPv6 address. USA IPs only! Cannot be combined with email inputs.","example":"203.0.113.42","uniqueKey":"oneOf.1.ip_address","typeLabel":"string"},"user_agent":{"type":"string","description":"Optional browser user agent for a single IP lookup.","uniqueKey":"oneOf.1.user_agent","typeLabel":"string"},"ips":{"type":"array","minItems":1,"maxItems":1000,"items":{"type":"string","uniqueKey":"oneOf.1.ips.items.[INDEX]","typeLabel":"string"},"description":"Batch lookup of up to 1,000 IPv4 or IPv6 addresses. USA IPs only! Cannot be combined with email inputs.","uniqueKey":"oneOf.1.ips","typeLabel":"string[]"}},"uniqueKey":"oneOf.1","typeLabel":"object"},{"type":"object","description":"Choose exactly one single or batch identifier mode: `md5`/`email`, `md5s`, `ip_address`, or `ips`.","required":["md5s"],"properties":{"md5s":{"type":"array","minItems":1,"maxItems":1000,"items":{"type":"string","pattern":"^[a-fA-F0-9]{32}$","uniqueKey":"oneOf.2.md5s.items.[INDEX]","typeLabel":"string"},"description":"Batch lookup: up to 1,000 MD5 hashes. When present, the request is processed in batch mode. Cannot be combined with IP inputs.","isRequired":true,"uniqueKey":"oneOf.2.md5s","typeLabel":"string[]"},"md5":{"type":"string","pattern":"^[a-fA-F0-9]{32}$","description":"MD5 hash of the lowercased, trimmed email address.","example":"5d41402abc4b2a76b9719d911017c592","uniqueKey":"oneOf.2.md5","typeLabel":"string"},"email":{"type":"string","format":"email","description":"Plaintext email address. When present, email fields in the response are returned in plaintext.","example":"alice@example.com","uniqueKey":"oneOf.2.email","typeLabel":"string\u003cemail>"},"ip_address":{"type":"string","description":"Single IPv4 or IPv6 address. USA IPs only! Cannot be combined with email inputs.","example":"203.0.113.42","uniqueKey":"oneOf.2.ip_address","typeLabel":"string"},"user_agent":{"type":"string","description":"Optional browser user agent for a single IP lookup.","uniqueKey":"oneOf.2.user_agent","typeLabel":"string"},"ips":{"type":"array","minItems":1,"maxItems":1000,"items":{"type":"string","uniqueKey":"oneOf.2.ips.items.[INDEX]","typeLabel":"string"},"description":"Batch lookup of up to 1,000 IPv4 or IPv6 addresses. USA IPs only! Cannot be combined with email inputs.","uniqueKey":"oneOf.2.ips","typeLabel":"string[]"}},"uniqueKey":"oneOf.2","typeLabel":"object"},{"type":"object","description":"Choose exactly one single or batch identifier mode: `md5`/`email`, `md5s`, `ip_address`, or `ips`.","required":["ip_address"],"properties":{"ip_address":{"type":"string","description":"Single IPv4 or IPv6 address. USA IPs only! Cannot be combined with email inputs.","example":"203.0.113.42","isRequired":true,"uniqueKey":"oneOf.3.ip_address","typeLabel":"string"},"md5":{"type":"string","pattern":"^[a-fA-F0-9]{32}$","description":"MD5 hash of the lowercased, trimmed email address.","example":"5d41402abc4b2a76b9719d911017c592","uniqueKey":"oneOf.3.md5","typeLabel":"string"},"email":{"type":"string","format":"email","description":"Plaintext email address. When present, email fields in the response are returned in plaintext.","example":"alice@example.com","uniqueKey":"oneOf.3.email","typeLabel":"string\u003cemail>"},"md5s":{"type":"array","minItems":1,"maxItems":1000,"items":{"type":"string","pattern":"^[a-fA-F0-9]{32}$","uniqueKey":"oneOf.3.md5s.items.[INDEX]","typeLabel":"string"},"description":"Batch lookup: up to 1,000 MD5 hashes. When present, the request is processed in batch mode. Cannot be combined with IP inputs.","uniqueKey":"oneOf.3.md5s","typeLabel":"string[]"},"user_agent":{"type":"string","description":"Optional browser user agent for a single IP lookup.","uniqueKey":"oneOf.3.user_agent","typeLabel":"string"},"ips":{"type":"array","minItems":1,"maxItems":1000,"items":{"type":"string","uniqueKey":"oneOf.3.ips.items.[INDEX]","typeLabel":"string"},"description":"Batch lookup of up to 1,000 IPv4 or IPv6 addresses. USA IPs only! Cannot be combined with email inputs.","uniqueKey":"oneOf.3.ips","typeLabel":"string[]"}},"uniqueKey":"oneOf.3","typeLabel":"object"},{"type":"object","description":"Choose exactly one single or batch identifier mode: `md5`/`email`, `md5s`, `ip_address`, or `ips`.","required":["ips"],"properties":{"ips":{"type":"array","minItems":1,"maxItems":1000,"items":{"type":"string","uniqueKey":"oneOf.4.ips.items.[INDEX]","typeLabel":"string"},"description":"Batch lookup of up to 1,000 IPv4 or IPv6 addresses. USA IPs only! Cannot be combined with email inputs.","isRequired":true,"uniqueKey":"oneOf.4.ips","typeLabel":"string[]"},"md5":{"type":"string","pattern":"^[a-fA-F0-9]{32}$","description":"MD5 hash of the lowercased, trimmed email address.","example":"5d41402abc4b2a76b9719d911017c592","uniqueKey":"oneOf.4.md5","typeLabel":"string"},"email":{"type":"string","format":"email","description":"Plaintext email address. When present, email fields in the response are returned in plaintext.","example":"alice@example.com","uniqueKey":"oneOf.4.email","typeLabel":"string\u003cemail>"},"md5s":{"type":"array","minItems":1,"maxItems":1000,"items":{"type":"string","pattern":"^[a-fA-F0-9]{32}$","uniqueKey":"oneOf.4.md5s.items.[INDEX]","typeLabel":"string"},"description":"Batch lookup: up to 1,000 MD5 hashes. When present, the request is processed in batch mode. Cannot be combined with IP inputs.","uniqueKey":"oneOf.4.md5s","typeLabel":"string[]"},"ip_address":{"type":"string","description":"Single IPv4 or IPv6 address. USA IPs only! Cannot be combined with email inputs.","example":"203.0.113.42","uniqueKey":"oneOf.4.ip_address","typeLabel":"string"},"user_agent":{"type":"string","description":"Optional browser user agent for a single IP lookup.","uniqueKey":"oneOf.4.user_agent","typeLabel":"string"}},"uniqueKey":"oneOf.4","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"examples":{"single":{"title":"single","value":{"md5":"5d41402abc4b2a76b9719d911017c592"}},"batch":{"title":"batch","value":{"md5s":["5d41402abc4b2a76b9719d911017c592","098f6bcd4621d373cade4e832627b4f6"]}},"ip":{"title":"ip","value":{"ip_address":"203.0.113.42","user_agent":"Mozilla/5.0"}},"ip_batch":{"title":"ip_batch","value":{"ips":["203.0.113.42","2001:db8::42"]}}},"exampleType":"examples"}},"required":true,"exampleType":"examples"},"responses":{"1902d8f1-1dde-4559-9cbf-22b47d5cf71b":{"description":"Identity data found","content":{"application/json":{"schema":{"oneOf":[{"type":"object","description":"Single-lookup response (`md5`, `email`, or `ip_address` input).","required":["result"],"properties":{"result":{"type":"object","description":"Every identity signal on the matched person.","properties":{"md5":{"oneOf":[{"type":"string","description":"Matched HEM. For IP input, this is the winning resolved HEM.","example":"5d41402abc4b2a76b9719d911017c592","uniqueKey":"oneOf.0.result.md5.oneOf.0","typeLabel":"string"},{"type":"null","description":"Matched HEM. For IP input, this is the winning resolved HEM.","example":"5d41402abc4b2a76b9719d911017c592","uniqueKey":"oneOf.0.result.md5.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.result.md5","typeLabel":"string | null"},"ip_address":{"type":"string","description":"Input IP correlation key on IP batch results. Omitted for email input.","example":"203.0.113.42","uniqueKey":"oneOf.0.result.ip_address","typeLabel":"string"},"hems":{"type":"array","description":"Hashed email variants for every known email on the person (personal and business). Always hashes, by definition.","items":{"type":"object","description":"Hashed email (HEM) pair for the same underlying address.","properties":{"md5":{"type":"string","example":"5d41402abc4b2a76b9719d911017c592","uniqueKey":"oneOf.0.result.hems.items.[INDEX].md5","typeLabel":"string"},"sha256":{"type":"string","example":"2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824","uniqueKey":"oneOf.0.result.hems.items.[INDEX].sha256","typeLabel":"string"}},"uniqueKey":"oneOf.0.result.hems.items.[INDEX]","typeLabel":"object"},"uniqueKey":"oneOf.0.result.hems","typeLabel":"object[]"},"maids":{"type":"array","description":"Mobile advertising IDs linked to the person. Always present; empty array when no MAID data was found.","items":{"type":"object","description":"Mobile advertising ID (MAID) entry. Either field can be null when only one side of the pair is known.","properties":{"device_id":{"oneOf":[{"type":"string","example":"6D92078A-8246-4BA4-AE5B-76104861E7DC","uniqueKey":"oneOf.0.result.maids.items.[INDEX].device_id.oneOf.0","typeLabel":"string"},{"type":"null","example":"6D92078A-8246-4BA4-AE5B-76104861E7DC","uniqueKey":"oneOf.0.result.maids.items.[INDEX].device_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.result.maids.items.[INDEX].device_id","typeLabel":"string | null"},"device_type":{"oneOf":[{"type":"string","example":"idfa","uniqueKey":"oneOf.0.result.maids.items.[INDEX].device_type.oneOf.0","typeLabel":"string"},{"type":"null","example":"idfa","uniqueKey":"oneOf.0.result.maids.items.[INDEX].device_type.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.result.maids.items.[INDEX].device_type","typeLabel":"string | null"}},"uniqueKey":"oneOf.0.result.maids.items.[INDEX]","typeLabel":"object"},"uniqueKey":"oneOf.0.result.maids","typeLabel":"object[]"},"personal_emails":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.0.result.personal_emails.items.[INDEX]","typeLabel":"string"},"description":"Personal email addresses. MD5-hashed unless you send a plaintext `email`; batch results are always MD5-hashed.","uniqueKey":"oneOf.0.result.personal_emails","typeLabel":"string[]"},"business_emails":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.0.result.business_emails.items.[INDEX]","typeLabel":"string"},"description":"Business email addresses (falls back to the single confirmed work email when no business email list is known). MD5-hashed unless you send a plaintext `email`; batch results are always MD5-hashed.","uniqueKey":"oneOf.0.result.business_emails","typeLabel":"string[]"}},"isRequired":true,"uniqueKey":"oneOf.0.result","typeLabel":"object"}},"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","description":"Batch response (`md5s` or `ips` input). Always HTTP 200.","required":["results","match_count","credits_charged","credits_exhausted"],"properties":{"results":{"type":"array","description":"One entry per matched input identifier, in input order. Unmatched inputs are omitted. Email fields are always MD5-hashed.","items":{"oneOf":[{"type":"object","required":["md5"],"properties":{"md5":{"oneOf":[{"type":"string","description":"Matched HEM. For IP input, this is the winning resolved HEM.","example":"5d41402abc4b2a76b9719d911017c592","isRequired":true,"uniqueKey":"oneOf.1.results.items.[INDEX].oneOf.0.md5.oneOf.0","typeLabel":"string"},{"type":"null","description":"Matched HEM. For IP input, this is the winning resolved HEM.","example":"5d41402abc4b2a76b9719d911017c592","isRequired":true,"uniqueKey":"oneOf.1.results.items.[INDEX].oneOf.0.md5.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.results.items.[INDEX].oneOf.0.md5","typeLabel":"string | null"},"hems":{"type":"array","description":"Hashed email variants for every known email on the person (personal and business). Always hashes, by definition.","items":{"type":"object","description":"Hashed email (HEM) pair for the same underlying address.","properties":{"md5":{"type":"string","example":"5d41402abc4b2a76b9719d911017c592","uniqueKey":"oneOf.1.results.items.[INDEX].oneOf.0.hems.items.[INDEX].md5","typeLabel":"string"},"sha256":{"type":"string","example":"2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824","uniqueKey":"oneOf.1.results.items.[INDEX].oneOf.0.hems.items.[INDEX].sha256","typeLabel":"string"}},"uniqueKey":"oneOf.1.results.items.[INDEX].oneOf.0.hems.items.[INDEX]","typeLabel":"object"},"uniqueKey":"oneOf.1.results.items.[INDEX].oneOf.0.hems","typeLabel":"object[]"},"maids":{"type":"array","description":"Mobile advertising IDs linked to the person. Always present; empty array when no MAID data was found.","items":{"type":"object","description":"Mobile advertising ID (MAID) entry. Either field can be null when only one side of the pair is known.","properties":{"device_id":{"oneOf":[{"type":"string","example":"6D92078A-8246-4BA4-AE5B-76104861E7DC","uniqueKey":"oneOf.1.results.items.[INDEX].oneOf.0.maids.items.[INDEX].device_id.oneOf.0","typeLabel":"string"},{"type":"null","example":"6D92078A-8246-4BA4-AE5B-76104861E7DC","uniqueKey":"oneOf.1.results.items.[INDEX].oneOf.0.maids.items.[INDEX].device_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.results.items.[INDEX].oneOf.0.maids.items.[INDEX].device_id","typeLabel":"string | null"},"device_type":{"oneOf":[{"type":"string","example":"idfa","uniqueKey":"oneOf.1.results.items.[INDEX].oneOf.0.maids.items.[INDEX].device_type.oneOf.0","typeLabel":"string"},{"type":"null","example":"idfa","uniqueKey":"oneOf.1.results.items.[INDEX].oneOf.0.maids.items.[INDEX].device_type.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.results.items.[INDEX].oneOf.0.maids.items.[INDEX].device_type","typeLabel":"string | null"}},"uniqueKey":"oneOf.1.results.items.[INDEX].oneOf.0.maids.items.[INDEX]","typeLabel":"object"},"uniqueKey":"oneOf.1.results.items.[INDEX].oneOf.0.maids","typeLabel":"object[]"},"personal_emails":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.1.results.items.[INDEX].oneOf.0.personal_emails.items.[INDEX]","typeLabel":"string"},"description":"Personal email addresses. MD5-hashed unless you send a plaintext `email`; batch results are always MD5-hashed.","uniqueKey":"oneOf.1.results.items.[INDEX].oneOf.0.personal_emails","typeLabel":"string[]"},"business_emails":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.1.results.items.[INDEX].oneOf.0.business_emails.items.[INDEX]","typeLabel":"string"},"description":"Business email addresses (falls back to the single confirmed work email when no business email list is known). MD5-hashed unless you send a plaintext `email`; batch results are always MD5-hashed.","uniqueKey":"oneOf.1.results.items.[INDEX].oneOf.0.business_emails","typeLabel":"string[]"}},"uniqueKey":"oneOf.1.results.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["md5","ip_address"],"properties":{"md5":{"oneOf":[{"type":"string","description":"Matched HEM. For IP input, this is the winning resolved HEM.","example":"5d41402abc4b2a76b9719d911017c592","isRequired":true,"uniqueKey":"oneOf.1.results.items.[INDEX].oneOf.1.md5.oneOf.0","typeLabel":"string"},{"type":"null","description":"Matched HEM. For IP input, this is the winning resolved HEM.","example":"5d41402abc4b2a76b9719d911017c592","isRequired":true,"uniqueKey":"oneOf.1.results.items.[INDEX].oneOf.1.md5.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.results.items.[INDEX].oneOf.1.md5","typeLabel":"string | null"},"ip_address":{"type":"string","description":"Input IP correlation key on IP batch results. Omitted for email input.","example":"203.0.113.42","isRequired":true,"uniqueKey":"oneOf.1.results.items.[INDEX].oneOf.1.ip_address","typeLabel":"string"},"hems":{"type":"array","description":"Hashed email variants for every known email on the person (personal and business). Always hashes, by definition.","items":{"type":"object","description":"Hashed email (HEM) pair for the same underlying address.","properties":{"md5":{"type":"string","example":"5d41402abc4b2a76b9719d911017c592","uniqueKey":"oneOf.1.results.items.[INDEX].oneOf.1.hems.items.[INDEX].md5","typeLabel":"string"},"sha256":{"type":"string","example":"2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824","uniqueKey":"oneOf.1.results.items.[INDEX].oneOf.1.hems.items.[INDEX].sha256","typeLabel":"string"}},"uniqueKey":"oneOf.1.results.items.[INDEX].oneOf.1.hems.items.[INDEX]","typeLabel":"object"},"uniqueKey":"oneOf.1.results.items.[INDEX].oneOf.1.hems","typeLabel":"object[]"},"maids":{"type":"array","description":"Mobile advertising IDs linked to the person. Always present; empty array when no MAID data was found.","items":{"type":"object","description":"Mobile advertising ID (MAID) entry. Either field can be null when only one side of the pair is known.","properties":{"device_id":{"oneOf":[{"type":"string","example":"6D92078A-8246-4BA4-AE5B-76104861E7DC","uniqueKey":"oneOf.1.results.items.[INDEX].oneOf.1.maids.items.[INDEX].device_id.oneOf.0","typeLabel":"string"},{"type":"null","example":"6D92078A-8246-4BA4-AE5B-76104861E7DC","uniqueKey":"oneOf.1.results.items.[INDEX].oneOf.1.maids.items.[INDEX].device_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.results.items.[INDEX].oneOf.1.maids.items.[INDEX].device_id","typeLabel":"string | null"},"device_type":{"oneOf":[{"type":"string","example":"idfa","uniqueKey":"oneOf.1.results.items.[INDEX].oneOf.1.maids.items.[INDEX].device_type.oneOf.0","typeLabel":"string"},{"type":"null","example":"idfa","uniqueKey":"oneOf.1.results.items.[INDEX].oneOf.1.maids.items.[INDEX].device_type.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.results.items.[INDEX].oneOf.1.maids.items.[INDEX].device_type","typeLabel":"string | null"}},"uniqueKey":"oneOf.1.results.items.[INDEX].oneOf.1.maids.items.[INDEX]","typeLabel":"object"},"uniqueKey":"oneOf.1.results.items.[INDEX].oneOf.1.maids","typeLabel":"object[]"},"personal_emails":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.1.results.items.[INDEX].oneOf.1.personal_emails.items.[INDEX]","typeLabel":"string"},"description":"Personal email addresses. MD5-hashed unless you send a plaintext `email`; batch results are always MD5-hashed.","uniqueKey":"oneOf.1.results.items.[INDEX].oneOf.1.personal_emails","typeLabel":"string[]"},"business_emails":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.1.results.items.[INDEX].oneOf.1.business_emails.items.[INDEX]","typeLabel":"string"},"description":"Business email addresses (falls back to the single confirmed work email when no business email list is known). MD5-hashed unless you send a plaintext `email`; batch results are always MD5-hashed.","uniqueKey":"oneOf.1.results.items.[INDEX].oneOf.1.business_emails","typeLabel":"string[]"}},"uniqueKey":"oneOf.1.results.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"oneOf.1.results.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"oneOf.1.results","typeLabel":"object[]"},"match_count":{"type":"integer","description":"Number of input identifiers that matched and were billed.","example":2,"isRequired":true,"uniqueKey":"oneOf.1.match_count","typeLabel":"integer"},"credits_charged":{"type":"number","description":"Total credits charged for this batch.","example":4,"isRequired":true,"uniqueKey":"oneOf.1.credits_charged","typeLabel":"number"},"credits_exhausted":{"type":"boolean","description":"True when processing stopped early because the account ran out of credits; remaining inputs were not processed.","example":false,"isRequired":true,"uniqueKey":"oneOf.1.credits_exhausted","typeLabel":"boolean"}},"uniqueKey":"oneOf.1","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"result":{"md5":"5d41402abc4b2a76b9719d911017c592","ip_address":"203.0.113.42","hems":[{"md5":"5d41402abc4b2a76b9719d911017c592","sha256":"2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824"}],"maids":[{"device_id":"6D92078A-8246-4BA4-AE5B-76104861E7DC","device_type":"idfa"}],"personal_emails":["\u003cstring>"],"business_emails":["\u003cstring>"]}}}},"exampleType":"generated"}},"exampleType":"generated"},"13ff0f35-013b-42df-99b1-d7158a7c4468":{"description":"Invalid request","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","enum":["missing md5_or_email","invalid md5","missing md5s","too_many_md5s","missing ip_address","invalid ip_address","missing ips","too_many_ips","invalid ip","invalid ips","conflicting_identifier_inputs","unexpected connection error","unexpected error"],"description":"`missing md5_or_email`: single mode, neither `md5` nor `email` was provided. `invalid md5`: an MD5 is not a 32-character hex digest (in batch mode `invalid` and `index` identify the offending value). `missing md5s`: batch mode with an empty `md5s` array. `too_many_md5s`: more than 1,000 MD5s (see `max`). `unexpected connection error` / `unexpected error`: temporary error; safe to retry.","isRequired":true,"uniqueKey":"error","typeLabel":"enum\u003cstring>"},"max":{"type":"integer","description":"Present on `too_many_md5s` or `too_many_ips`: the batch size limit.","example":1000,"uniqueKey":"max","typeLabel":"integer"},"invalid":{"type":"string","description":"Present on batch `invalid md5` or `invalid ip`: the offending input value.","example":"not-an-md5","uniqueKey":"invalid","typeLabel":"string"},"index":{"type":"integer","description":"Present on batch `invalid md5` or `invalid ip`: zero-based position.","example":3,"uniqueKey":"index","typeLabel":"integer"},"conflicting":{"type":"array","items":{"type":"string","uniqueKey":"conflicting.items.[INDEX]","typeLabel":"string"},"description":"Identifier fields supplied together when `conflicting_identifier_inputs` is returned.","uniqueKey":"conflicting","typeLabel":"string[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"missing md5_or_email","max":1000,"invalid":"not-an-md5","index":3,"conflicting":["\u003cstring>"]}}},"exampleType":"generated"}},"exampleType":"generated"},"86b997f5-3ac1-483b-9213-aa0121501ae3":{"description":"Missing, malformed, or unknown API key","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","enum":["missing_api_key","invalid_api_key_format","invalid_api_key"],"description":"`missing_api_key`: no key supplied. `invalid_api_key_format`: key does not match the expected format. `invalid_api_key`: key does not belong to any account.","isRequired":true,"uniqueKey":"error","typeLabel":"enum\u003cstring>"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"missing_api_key"}}},"exampleType":"generated"}},"exampleType":"generated"},"64b4ab71-42e3-46fc-87e4-3f992abb889f":{"description":"Insufficient credits","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","enum":["insufficient_api_credits"],"isRequired":true,"uniqueKey":"error","typeLabel":"enum\u003cstring>"},"required":{"type":"string","description":"Credits needed for this request.","example":"1.0","uniqueKey":"required","typeLabel":"string"},"remaining":{"type":"string","description":"Credits currently remaining on the account.","example":"0.0","uniqueKey":"remaining","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"insufficient_api_credits","required":"1.0","remaining":"0.0"}}},"exampleType":"generated"}},"exampleType":"generated"},"ef84bfe9-12a0-459b-955f-9985584de7a3":{"description":"Service not enabled for this API key","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","enum":["service_unavailable_for_key"],"isRequired":true,"uniqueKey":"error","typeLabel":"enum\u003cstring>"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"service_unavailable_for_key"}}},"exampleType":"generated"}},"exampleType":"generated"},"2f803e10-8617-4cf1-9d35-b0c6d521552f":{"description":"No data found (not billed)","content":{"application/json":{"schema":{"type":"object","required":["result"],"properties":{"result":{"type":"object","description":"Empty object; neither profile nor MAID data matched the supplied identifier.","maxProperties":0,"isRequired":true,"uniqueKey":"result","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"result":{}}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"b90b741c-baec-46b7-b6e4-afed163efe36":{"api_key":{"type":"apiKey","in":"header","name":"X-Api-Key","description":"Per-account API key. Also accepted as `Api-Key` or `Authorization: Bearer \u003ckey>`.","scopes":[]}}},"servers":{"aa17081d-9c74-404e-b17f-a02fb504f21f":{"url":"https://api.rb2b.com"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"X-Api-Key","description":"Per-account API key. Also accepted as `Api-Key` or `Authorization: Bearer \u003ckey>`.","scopes":[]},"schema":{"title":"X-Api-Key","type":"string","description":"Per-account API key. Also accepted as `Api-Key` or `Authorization: Bearer \u003ckey>`.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"api_key","name":"X-Api-Key"}],"title":"api_key"}]},"originalFileLocation":"openapi.json"},"subdomain":"retention","siteName":"Retention.com Enrichment","title":"Universal Identity - Retention.com Enrichment","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-30T17:06:46.502Z","originalFileLocation":"api-reference/identity/universal.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Every identity signal on a person in one call: work and personal emails, device IDs, and hashed emails. Accepts hashed or plaintext email and IP address inputs. Single mode: provide a pre-computed md5, a plaintext email, or an IPv4 or IPv6 ip_address with an optional user_agent. USA IPs only! Choose exactly one identifier family. The response carries every identity signal on the person: hems (MD5 + SHA-256 for each known personal and business email), maids (mobile advertising IDs), personal_emails, and business_emails. Email fields are MD5-hashed unless you send a plaintext email. A match returns HTTP 200 { result: {...} }; a miss returns HTTP 404 { result: {} }. Batch mode: send an md5s or ips array (max 1,000). MD5s are lowercased and de-duplicated; equivalent IP spellings are de-duplicated while preserving the first input. One malformed MD5 fails the whole request with HTTP 400 before any lookups run. Otherwise the response is always HTTP 200 with results, match_count, credits_charged, and credits_exhausted. Every matched result returns md5; IP batch results also echo ip_address. Inputs with no data are omitted; email fields are always MD5-hashed in batch results. Processing stops once the account\u0026#x27;s remaining credits are exhausted (credits_exhausted: true). Billing: the full configured per-record cost when both the profile and MAID data match; 1 credit when only one of the two sources resolves (partial data); 0 credits for a miss (single-mode 404, or omitted from batch results). IP-sourced matches add 1 credit (full 4, partial 2 at the default price). Request errors (4xx) are not billed.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Retention.com Enrichment\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/retention/npq8Vd2x9SJbcBOC/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/retention/npq8Vd2x9SJbcBOC/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/retention/npq8Vd2x9SJbcBOC/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/retention/npq8Vd2x9SJbcBOC/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/retention/npq8Vd2x9SJbcBOC/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/retention/npq8Vd2x9SJbcBOC/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/retention/npq8Vd2x9SJbcBOC/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/retention/npq8Vd2x9SJbcBOC/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/retention/npq8Vd2x9SJbcBOC/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Universal Identity - Retention.com Enrichment\">\u003cmeta data-mint-head property=\"og:description\" content=\"Every identity signal on a person in one call: work and personal emails, device IDs, and hashed emails. Accepts hashed or plaintext email and IP address inputs. Single mode: provide a pre-computed md5, a plaintext email, or an IPv4 or IPv6 ip_address with an optional user_agent. USA IPs only! Choose exactly one identifier family. The response carries every identity signal on the person: hems (MD5 + SHA-256 for each known personal and business email), maids (mobile advertising IDs), personal_emails, and business_emails. Email fields are MD5-hashed unless you send a plaintext email. A match returns HTTP 200 { result: {...} }; a miss returns HTTP 404 { result: {} }. Batch mode: send an md5s or ips array (max 1,000). MD5s are lowercased and de-duplicated; equivalent IP spellings are de-duplicated while preserving the first input. One malformed MD5 fails the whole request with HTTP 400 before any lookups run. Otherwise the response is always HTTP 200 with results, match_count, credits_charged, and credits_exhausted. Every matched result returns md5; IP batch results also echo ip_address. Inputs with no data are omitted; email fields are always MD5-hashed in batch results. Processing stops once the account\u0026#x27;s remaining credits are exhausted (credits_exhausted: true). Billing: the full configured per-record cost when both the profile and MAID data match; 1 credit when only one of the two sources resolves (partial data); 0 credits for a miss (single-mode 404, or omitted from batch results). IP-sourced matches add 1 credit (full 4, partial 2 at the default price). Request errors (4xx) are not billed.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Retention.com Enrichment\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://retention.mintlify.app/api-reference/identity/universal\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://retention.mintlify.app/_mintlify/api/og/v2?division=Identity+Enrichment\u0026amp;title=Universal+Identity\u0026amp;description=Every+identity+signal+on+a+person+in+one+call%3A+work+and+personal+emails%2C+device+IDs%2C+and+hashed+emails.+Accepts+hashed+or+plaintext+email+and+IP+address+inputs.\u0026amp;theme=143fee85a851ed0c66a883de\u0026amp;signature=fc6559d26aea21ac28074c1db7851aa065019477884554575c276e29211e73d9\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Universal Identity - Retention.com Enrichment\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Every identity signal on a person in one call: work and personal emails, device IDs, and hashed emails. Accepts hashed or plaintext email and IP address inputs. Single mode: provide a pre-computed md5, a plaintext email, or an IPv4 or IPv6 ip_address with an optional user_agent. USA IPs only! Choose exactly one identifier family. The response carries every identity signal on the person: hems (MD5 + SHA-256 for each known personal and business email), maids (mobile advertising IDs), personal_emails, and business_emails. Email fields are MD5-hashed unless you send a plaintext email. A match returns HTTP 200 { result: {...} }; a miss returns HTTP 404 { result: {} }. Batch mode: send an md5s or ips array (max 1,000). MD5s are lowercased and de-duplicated; equivalent IP spellings are de-duplicated while preserving the first input. One malformed MD5 fails the whole request with HTTP 400 before any lookups run. Otherwise the response is always HTTP 200 with results, match_count, credits_charged, and credits_exhausted. Every matched result returns md5; IP batch results also echo ip_address. Inputs with no data are omitted; email fields are always MD5-hashed in batch results. Processing stops once the account\u0026#x27;s remaining credits are exhausted (credits_exhausted: true). Billing: the full configured per-record cost when both the profile and MAID data match; 1 credit when only one of the two sources resolves (partial data); 0 credits for a miss (single-mode 404, or omitted from batch results). IP-sourced matches add 1 credit (full 4, partial 2 at the default price). Request errors (4xx) are not billed.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://retention.mintlify.app/_mintlify/api/og/v2?division=Identity+Enrichment\u0026amp;title=Universal+Identity\u0026amp;description=Every+identity+signal+on+a+person+in+one+call%3A+work+and+personal+emails%2C+device+IDs%2C+and+hashed+emails.+Accepts+hashed+or+plaintext+email+and+IP+address+inputs.\u0026amp;theme=143fee85a851ed0c66a883de\u0026amp;signature=fc6559d26aea21ac28074c1db7851aa065019477884554575c276e29211e73d9\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/retention/npq8Vd2x9SJbcBOC/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Retention.com Enrichment\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#111827\">\u003clink data-mint-head rel=\"canonical\" href=\"https://retention.mintlify.app/api-reference/identity/universal\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/identity/universal.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://retention.mintlify.app/#organization\",\"name\":\"Retention.com Enrichment\",\"url\":\"https://retention.mintlify.app\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/retention/egMTYLJ50XLFHYE0/logo/logo.png?fit=max\u0026auto=format\u0026n=egMTYLJ50XLFHYE0\u0026q=85\u0026s=a4ab393f132873bd76647aa98d1e3239\"}},{\"@type\":\"WebSite\",\"@id\":\"https://retention.mintlify.app#website\",\"name\":\"Retention.com Enrichment\",\"url\":\"https://retention.mintlify.app\",\"publisher\":{\"@id\":\"https://retention.mintlify.app/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://retention.mintlify.app/api-reference/identity/universal#webpage\",\"url\":\"https://retention.mintlify.app/api-reference/identity/universal\",\"name\":\"Universal Identity\",\"description\":\"Every identity signal on a person in one call: work and personal emails, device IDs, and hashed emails. Accepts hashed or plaintext email and IP address inputs. Single mode: provide a pre-computed md5, a plaintext email, or an IPv4 or IPv6 ip_address with an optional user_agent. USA IPs only! Choose exactly one identifier family. The response carries every identity signal on the person: hems (MD5 + SHA-256 for each known personal and business email), maids (mobile advertising IDs), personal_emails, and business_emails. Email fields are MD5-hashed unless you send a plaintext email. A match returns HTTP 200 { result: {...} }; a miss returns HTTP 404 { result: {} }. Batch mode: send an md5s or ips array (max 1,000). MD5s are lowercased and de-duplicated; equivalent IP spellings are de-duplicated while preserving the first input. One malformed MD5 fails the whole request with HTTP 400 before any lookups run. Otherwise the response is always HTTP 200 with results, match_count, credits_charged, and credits_exhausted. Every matched result returns md5; IP batch results also echo ip_address. Inputs with no data are omitted; email fields are always MD5-hashed in batch results. Processing stops once the account's remaining credits are exhausted (credits_exhausted: true). Billing: the full configured per-record cost when both the profile and MAID data match; 1 credit when only one of the two sources resolves (partial data); 0 credits for a miss (single-mode 404, or omitted from batch results). IP-sourced matches add 1 credit (full 4, partial 2 at the default price). Request errors (4xx) are not billed.\",\"dateModified\":\"2026-10-30T17:06:46.502Z\",\"isPartOf\":{\"@id\":\"https://retention.mintlify.app#website\"},\"breadcrumb\":{\"@id\":\"https://retention.mintlify.app/api-reference/identity/universal#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://retention.mintlify.app/api-reference/identity/universal#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Identity Enrichment\",\"item\":\"https://retention.mintlify.app/reference/introduction\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Universal Identity\",\"item\":\"https://retention.mintlify.app/api-reference/identity/universal\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://retention.mintlify.app/api-reference/identity/universal#apireference\",\"headline\":\"Universal Identity\",\"name\":\"Universal Identity\",\"description\":\"Every identity signal on a person in one call: work and personal emails, device IDs, and hashed emails. Accepts hashed or plaintext email and IP address inputs. Single mode: provide a pre-computed md5, a plaintext email, or an IPv4 or IPv6 ip_address with an optional user_agent. USA IPs only! Choose exactly one identifier family. The response carries every identity signal on the person: hems (MD5 + SHA-256 for each known personal and business email), maids (mobile advertising IDs), personal_emails, and business_emails. Email fields are MD5-hashed unless you send a plaintext email. A match returns HTTP 200 { result: {...} }; a miss returns HTTP 404 { result: {} }. Batch mode: send an md5s or ips array (max 1,000). MD5s are lowercased and de-duplicated; equivalent IP spellings are de-duplicated while preserving the first input. One malformed MD5 fails the whole request with HTTP 400 before any lookups run. Otherwise the response is always HTTP 200 with results, match_count, credits_charged, and credits_exhausted. Every matched result returns md5; IP batch results also echo ip_address. Inputs with no data are omitted; email fields are always MD5-hashed in batch results. Processing stops once the account's remaining credits are exhausted (credits_exhausted: true). Billing: the full configured per-record cost when both the profile and MAID data match; 1 credit when only one of the two sources resolves (partial data); 0 credits for a miss (single-mode 404, or omitted from batch results). IP-sourced matches add 1 credit (full 4, partial 2 at the default price). Request errors (4xx) are not billed.\",\"url\":\"https://retention.mintlify.app/api-reference/identity/universal\",\"mainEntityOfPage\":{\"@id\":\"https://retention.mintlify.app/api-reference/identity/universal#webpage\"},\"dateModified\":\"2026-10-30T17:06:46.502Z\",\"publisher\":{\"@id\":\"https://retention.mintlify.app/#organization\"},\"isPartOf\":{\"@id\":\"https://retention.mintlify.app#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Retention.com Enrichment\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Retention.com Enrichment","nav":{"global":{"anchors":[{"anchor":"Dashboard","icon":"gauge","href":"https://ui.api.rb2b.com/dashboard"}]},"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":""}]},{"tab":"All APIs","icon":"rectangle-api","groups":[{"group":"Identity Enrichment","pages":[{"title":"Enrichment APIs","description":"The full set of identity-resolution and enrichment endpoints.","href":"/reference/introduction"},{"title":"Universal Identity","openapi":"POST /api/v1/identity/person","href":"/api-reference/identity/universal"},{"title":"Personal Identity","openapi":"POST /api/v1/identity/consumer","description":"B2C consumer identity: personal hashed emails, device IDs, location, and last-seen activity. Accepts hashed or plaintext email and IP address inputs.\n\nSingle mode: provide a pre-computed `md5`, a plaintext `email`, or an IPv4 or IPv6 `ip_address` with an optional `user_agent`. USA IPs only! Choose exactly one identifier family. The response carries the consumer's personal hashed emails (`hems`), mobile advertising IDs (`maids`), `personal_emails`, coarse `location`, and `last_seen_at` activity. `personal_emails` are MD5-hashed unless you send a plaintext `email`. A match returns HTTP 200 `{ result: {...} }`; a miss returns HTTP 404 `{ result: {} }`.\n\nBatch mode: send an `md5s` or `ips` array (max 1,000). MD5s are lowercased and de-duplicated; equivalent IP spellings are de-duplicated while preserving the first input. One malformed MD5 fails the whole request with HTTP 400 before any lookups run. Otherwise the response is always HTTP 200 with `results`, `match_count`, `credits_charged`, and `credits_exhausted`. Every matched result returns `md5`; IP batch results also echo `ip_address`. Inputs with no data are omitted; email fields are always MD5-hashed in batch results. Processing stops once the account's remaining credits are exhausted (`credits_exhausted: true`).\n\n**Billing:** the full configured per-record cost when both the profile and MAID data match; 1 credit when only one of the two sources resolves (partial data); 0 credits for a miss (single-mode 404, or omitted from batch `results`). `last_seen_at` and `location` are supplemental and never affect billing. IP-sourced matches add 1 credit (full 4, partial 2 at the default price). Request errors (4xx) are not billed.","href":"/api-reference/identity/personal-identity-b2c"},{"title":"Full Business Enrichment","openapi":"POST /api/v1/identity/business","href":"/api-reference/identity/professional-identity-b2b"}]},{"group":"Email lookups","pages":[{"title":"Email → Mobile Device IDs","openapi":"POST /api/v1/hem_to_maid","href":"/api-reference/hem/hem-to-maid"},{"title":"Email → LinkedIn","openapi":"POST /api/v1/hem_to_linkedin","href":"/api-reference/hem/hem-to-linkedin"},{"title":"Email → Best LinkedIn","openapi":"POST /api/v1/hem_to_best_linkedin","href":"/api-reference/hem/hem-to-best-linkedin"},{"title":"Email → Business Profile","openapi":"POST /api/v1/hem_to_business_profile","href":"/api-reference/hem/hem-to-business-profile"}]},{"group":"Identity Resolution","pages":[{"title":"IP → Hashed Email","openapi":"POST /api/v1/ip_to_hem","href":"/api-reference/ip/ip-to-hem"},{"title":"IP → Mobile Device IDs","openapi":"POST /api/v1/ip_to_maid","href":"/api-reference/ip/ip-to-maid"},{"title":"IP → Company","openapi":"POST /api/v1/ip_to_company","href":"/api-reference/ip/ip-to-company"},{"title":"IP → Business Profile","openapi":"POST /api/v1/ip_to_business_profile","href":"/api-reference/ip/ip-to-business-profile"}]},{"group":"LinkedIn lookups","pages":[{"title":"LinkedIn → Hashed Emails","openapi":"POST /api/v1/linkedin_to_hashed_emails","href":"/api-reference/linkedin/linkedin-to-hashed-emails"},{"title":"LinkedIn → Mobile Phone","openapi":"POST /api/v1/linkedin_to_mobile_phone","href":"/api-reference/linkedin/linkedin-to-mobile-phone"},{"title":"LinkedIn → Business Profile","openapi":"POST /api/v1/linkedin_to_business_profile","href":"/api-reference/linkedin/linkedin-to-business-profile"},{"title":"LinkedIn → Business Email","openapi":"POST /api/v1/linkedin_to_business_email","href":"/api-reference/linkedin/linkedin-to-business-email"}]},{"group":"Search, activity \u0026 account","pages":[{"title":"Find LinkedIn Profile","openapi":"POST /api/v1/linkedin_slug_search","href":"/api-reference/other/linkedin-slug-search"},{"title":"Work Email → Personal Email","openapi":"POST /api/v1/business_email_to_personal_hem","href":"/api-reference/other/business-email-to-personal-hem"},{"title":"Email Activity Check","openapi":"POST /api/v1/email_to_activity","href":"/api-reference/other/email-to-activity"},{"title":"Credits","openapi":"GET /api/v1/credits","href":"/api-reference/other/credits"}]}]}]},"basePath":"","title":"Universal Identity - Retention.com Enrichment","buildId":"dpl_36EDyZCDfRuoUD9af5CH4M1bqY2h","deploymentId":"dpl_36EDyZCDfRuoUD9af5CH4M1bqY2h","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DCDCdBVX.js","utils-ME8dDnLe.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-0e84ACsd.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-wgRBj-ia.js","snippetPresets-C11Sgb-o.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-C0lapOpP.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-ZeRQV8fF.js","shallow-BupWh095.js","getApiPlaygroundDisplay-BnYQO2Ss.js","CodeSnippet-RKKOc8c_.js","CodeSnippets-Drf_m8wS.js","Page-Bevw23-4.js","getPastedJson-u6QiPzNZ.js","icon-Bb-CBSxO.js","MethodPill-F7l5AI7V.js","DuplicateIcon-IiAXkdSg.js","createIcon-FliI8EBc.js","DynamicMarkdown-B62XqCSI.js","SectionHeading-Dj31pT03.js","axios-vUo_bRtp.js","Markdown-BOgQCTwD.js","clsx-BIWXJmsZ.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-DKZWslLH.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-UDqbR6xh.js"]}